/*!
 * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
 * Copyright 2011-2016 The Bootstrap Authors
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

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

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

progress {
  vertical-align: baseline; }

template,
[hidden] {
  display: none; }

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

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

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

b,
strong {
  font-weight: inherit; }

b,
strong {
  font-weight: bolder; }

dfn {
  font-style: italic; }

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

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

img {
  border-style: none; }

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

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

figure {
  margin: 1em 40px; }

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

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

optgroup {
  font-weight: bold; }

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 {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  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-input-placeholder {
  color: inherit;
  opacity: 0.54; }

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

@media print {
  *,
  *::before,
  *::after,
  *::first-letter,
  p::first-line,
  div::first-line,
  blockquote::first-line,
  li::first-line {
    text-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; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .tag {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

html {
  box-sizing: border-box; }

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

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

html {
  font-size: 16px;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

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

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

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

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

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

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

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

dt {
  font-weight: bold; }

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

blockquote {
  margin: 0 0 1rem; }

a {
  color: #0275d8;
  text-decoration: none; }
  a:focus, a:hover {
    color: #014c8c;
    text-decoration: underline; }
  a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

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

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 {
  touch-action: manipulation; }

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

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

th {
  text-align: left; }

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

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

input,
button,
select,
textarea {
  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; }

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

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

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

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

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

mark,
.mark {
  padding: 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: #818a91; }
  .blockquote-footer::before {
    content: "\2014 \00A0"; }

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

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

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

dl.row > dd + dt {
  clear: left; }

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  transition: all .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: #818a91; }

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

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

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

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

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container::after {
    content: "";
    display: table;
    clear: both; }
  @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 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container-fluid::after {
    content: "";
    display: table;
    clear: both; }

.row {
  margin-right: -15px;
  margin-left: -15px; }
  .row::after {
    content: "";
    display: table;
    clear: both; }
  @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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table {
  width: 100%;
  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: #373a3c; }

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

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

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

.table-reflow thead {
  float: left; }

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

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

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

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

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

select.form-control:not([size]):not([multiple]) {
  height: calc(2.5rem - 2px); }

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

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

.col-form-label {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0; }

.col-form-label-lg {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1.25rem; }

.col-form-label-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  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;
  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.16667rem; }

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

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

.form-check {
  position: relative;
  display: block;
  margin-bottom: 0.75rem; }
  .form-check + .form-check {
    margin-top: -.25rem; }
  .form-check.disabled .form-check-label {
    color: #818a91;
    cursor: not-allowed; }

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

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

.form-check-inline {
  position: relative;
  display: inline-block;
  padding-left: 1.25rem;
  margin-bottom: 0;
  vertical-align: middle;
  cursor: pointer; }
  .form-check-inline + .form-check-inline {
    margin-left: .75rem; }
  .form-check-inline.disabled {
    color: #818a91;
    cursor: not-allowed; }

.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.625rem;
  background-size: 1.25rem 1.25rem; }

.has-success .form-control-feedback,
.has-success .form-control-label,
.has-success .form-check-label,
.has-success .form-check-inline,
.has-success .custom-control {
  color: #00A99E; }

.has-success .form-control {
  border-color: #00A99E; }
  .has-success .form-control:focus {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #10ffef; }

.has-success .input-group-addon {
  color: #00A99E;
  border-color: #00A99E;
  background-color: #76fff6; }

.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='#00A99E' 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 .form-check-label,
.has-warning .form-check-inline,
.has-warning .custom-control {
  color: #f0ad4e; }

.has-warning .form-control {
  border-color: #f0ad4e; }
  .has-warning .form-control:focus {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8d9ac; }

.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='#f0ad4e' 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 .form-check-label,
.has-danger .form-check-inline,
.has-danger .custom-control {
  color: #d9534f; }

.has-danger .form-control {
  border-color: #d9534f; }
  .has-danger .form-control:focus {
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #eba5a3; }

.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='#d9534f' 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"); }

@media (min-width: 576px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    width: auto;
    vertical-align: middle; }
    .form-inline .input-group .input-group-addon,
    .form-inline .input-group .input-group-btn,
    .form-inline .input-group .form-control {
      width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .form-control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-check {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-check-label {
    padding-left: 0; }
  .form-inline .form-check-input {
    position: relative;
    margin-left: 0; }
  .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;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border-radius: 0.25rem; }
  .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:focus, .btn:hover {
    text-decoration: none; }
  .btn.focus {
    text-decoration: none; }
  .btn:active, .btn.active {
    background-image: none;
    outline: 0; }
  .btn.disabled, .btn:disabled {
    cursor: not-allowed;
    opacity: .65; }

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

.btn-primary {
  color: #fff;
  background-color: #0275d8;
  border-color: #0275d8; }
  .btn-primary:hover {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #025aa5;
    border-color: #01549b;
    background-image: none; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #014682;
      border-color: #01315a; }
  .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus {
    background-color: #0275d8;
    border-color: #0275d8; }
  .btn-primary.disabled:hover, .btn-primary:disabled:hover {
    background-color: #0275d8;
    border-color: #0275d8; }

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

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

.btn-success {
  color: #fff;
  background-color: #00A99E;
  border-color: #00A99E; }
  .btn-success:hover {
    color: #fff;
    background-color: #00766e;
    border-color: #006c65; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #00766e;
    border-color: #006c65; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #00766e;
    border-color: #006c65;
    background-image: none; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #00524d;
      border-color: #002a27; }
  .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus {
    background-color: #00A99E;
    border-color: #00A99E; }
  .btn-success.disabled:hover, .btn-success:disabled:hover {
    background-color: #00A99E;
    border-color: #00A99E; }

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

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

.btn-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 {
    color: #fff;
    background-color: #0275d8;
    border-color: #0275d8; }
  .btn-outline-primary:active, .btn-outline-primary.active,
  .open > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #0275d8;
    border-color: #0275d8; }
    .btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus,
    .open > .btn-outline-primary.dropdown-toggle:hover,
    .open > .btn-outline-primary.dropdown-toggle:focus,
    .open > .btn-outline-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #014682;
      border-color: #01315a; }
  .btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus {
    border-color: #43a7fd; }
  .btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover {
    border-color: #43a7fd; }

.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 {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
  .btn-outline-secondary:active, .btn-outline-secondary.active,
  .open > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
    .btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus,
    .open > .btn-outline-secondary.dropdown-toggle:hover,
    .open > .btn-outline-secondary.dropdown-toggle:focus,
    .open > .btn-outline-secondary.dropdown-toggle.focus {
      color: #fff;
      background-color: #a1a1a1;
      border-color: #8c8c8c; }
  .btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus {
    border-color: white; }
  .btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover {
    border-color: white; }

.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 {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-outline-info:active, .btn-outline-info.active,
  .open > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
    .btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus,
    .open > .btn-outline-info.dropdown-toggle:hover,
    .open > .btn-outline-info.dropdown-toggle:focus,
    .open > .btn-outline-info.dropdown-toggle.focus {
      color: #fff;
      background-color: #269abc;
      border-color: #1f7e9a; }
  .btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus {
    border-color: #b0e1ef; }
  .btn-outline-info.disabled:hover, .btn-outline-info:disabled:hover {
    border-color: #b0e1ef; }

.btn-outline-success {
  color: #00A99E;
  background-image: none;
  background-color: transparent;
  border-color: #00A99E; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #00A99E;
    border-color: #00A99E; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    color: #fff;
    background-color: #00A99E;
    border-color: #00A99E; }
  .btn-outline-success:active, .btn-outline-success.active,
  .open > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #00A99E;
    border-color: #00A99E; }
    .btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus,
    .open > .btn-outline-success.dropdown-toggle:hover,
    .open > .btn-outline-success.dropdown-toggle:focus,
    .open > .btn-outline-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #00524d;
      border-color: #002a27; }
  .btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus {
    border-color: #10ffef; }
  .btn-outline-success.disabled:hover, .btn-outline-success:disabled:hover {
    border-color: #10ffef; }

.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 {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-outline-warning:active, .btn-outline-warning.active,
  .open > .btn-outline-warning.dropdown-toggle {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
    .btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus,
    .open > .btn-outline-warning.dropdown-toggle:hover,
    .open > .btn-outline-warning.dropdown-toggle:focus,
    .open > .btn-outline-warning.dropdown-toggle.focus {
      color: #fff;
      background-color: #d58512;
      border-color: #b06d0f; }
  .btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus {
    border-color: #f8d9ac; }
  .btn-outline-warning.disabled:hover, .btn-outline-warning:disabled:hover {
    border-color: #f8d9ac; }

.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 {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-outline-danger:active, .btn-outline-danger.active,
  .open > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
    .btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus,
    .open > .btn-outline-danger.dropdown-toggle:hover,
    .open > .btn-outline-danger.dropdown-toggle:focus,
    .open > .btn-outline-danger.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac2925;
      border-color: #8b211e; }
  .btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus {
    border-color: #eba5a3; }
  .btn-outline-danger.disabled:hover, .btn-outline-danger:disabled:hover {
    border-color: #eba5a3; }

.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:focus, .btn-link:disabled:hover {
    color: #818a91;
    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;
  transition: opacity .15s linear; }
  .fade.in {
    opacity: 1; }

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

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

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

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

.dropup,
.dropdown {
  position: relative; }

.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-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: #373a3c;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }

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

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

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

.open > a {
  outline: 0; }

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

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

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

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

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

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

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    float: left;
    margin-bottom: 0; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 2; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 2; }

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

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

.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 .caret {
  margin-left: 0; }

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

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

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

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

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

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

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

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-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;
  width: 100%;
  display: table;
  border-collapse: separate; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }
    .input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
      z-index: 3; }

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

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

.input-group-addon {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.25;
  color: #55595c;
  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; }
    .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: inline-block;
  padding-left: 1.5rem;
  cursor: pointer; }
  .custom-control + .custom-control {
    margin-left: 1rem; }

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-indicator {
    color: #fff;
    background-color: #0074d9; }
  .custom-control-input:focus ~ .custom-control-indicator {
    box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; }
  .custom-control-input:active ~ .custom-control-indicator {
    color: #fff;
    background-color: #84c6ff; }
  .custom-control-input:disabled ~ .custom-control-indicator {
    cursor: not-allowed;
    background-color: #eee; }
  .custom-control-input:disabled ~ .custom-control-description {
    color: #767676;
    cursor: not-allowed; }

.custom-control-indicator {
  position: absolute;
  top: .25rem;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: 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='#fff' 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: #0074d9;
  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='#fff' 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='#fff'/%3E%3C/svg%3E"); }

.custom-controls-stacked .custom-control {
  float: left;
  clear: left; }
  .custom-controls-stacked .custom-control + .custom-control {
    margin-left: 0; }

.custom-select {
  display: inline-block;
  max-width: 100%;
  height: calc(2.5rem - 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  padding-right: 0.75rem \9;
  color: #55595c;
  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='#333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
  background-image: none \9;
  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: #51a7e8;
    outline: none; }
    .custom-select:focus::-ms-value {
      color: #55595c;
      background-color: #fff; }
  .custom-select:disabled {
    color: #818a91;
    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;
  cursor: pointer; }

.custom-file-input {
  min-width: 14rem;
  max-width: 100%;
  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: #555;
  user-select: none;
  background-color: #fff;
  border: 1px solid #ddd;
  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: #555;
    background-color: #eee;
    border: 1px solid #ddd;
    border-radius: 0 0.25rem 0.25rem 0; }
  .custom-file-control:lang(en)::before {
    content: "Browse"; }

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

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

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

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

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs::after {
    content: "";
    display: table;
    clear: both; }
  .nav-tabs .nav-item {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs .nav-item + .nav-item {
      margin-left: 0.2rem; }
  .nav-tabs .nav-link {
    display: block;
    padding: 0.5em 1em;
    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, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover {
      color: #818a91;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover,
  .nav-tabs .nav-item.open .nav-link,
  .nav-tabs .nav-item.open .nav-link:focus,
  .nav-tabs .nav-item.open .nav-link:hover {
    color: #55595c;
    background-color: #fff;
    border-color: #ddd #ddd transparent; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-right-radius: 0;
    border-top-left-radius: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.navbar-brand {
  float: left;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  line-height: inherit; }
  .navbar-brand:focus, .navbar-brand:hover {
    text-decoration: none; }

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

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

.navbar-toggler {
  width: 2.5em;
  height: 2em;
  padding: 0.5rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background: transparent no-repeat center center;
  background-size: 24px 24px;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .navbar-toggler:focus, .navbar-toggler:hover {
    text-decoration: none; }

.navbar-toggleable-xs::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 575px) {
  .navbar-toggleable-xs .navbar-brand {
    display: block;
    float: none;
    margin-top: .5rem;
    margin-right: 0; }
  .navbar-toggleable-xs .navbar-nav {
    margin-top: .5rem;
    margin-bottom: .5rem; }
    .navbar-toggleable-xs .navbar-nav .dropdown-menu {
      position: static;
      float: none; } }

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

.navbar-toggleable-sm::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 767px) {
  .navbar-toggleable-sm .navbar-brand {
    display: block;
    float: none;
    margin-top: .5rem;
    margin-right: 0; }
  .navbar-toggleable-sm .navbar-nav {
    margin-top: .5rem;
    margin-bottom: .5rem; }
    .navbar-toggleable-sm .navbar-nav .dropdown-menu {
      position: static;
      float: none; } }

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

.navbar-toggleable-md::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 991px) {
  .navbar-toggleable-md .navbar-brand {
    display: block;
    float: none;
    margin-top: .5rem;
    margin-right: 0; }
  .navbar-toggleable-md .navbar-nav {
    margin-top: .5rem;
    margin-bottom: .5rem; }
    .navbar-toggleable-md .navbar-nav .dropdown-menu {
      position: static;
      float: none; } }

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

.navbar-toggleable-lg::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 1199px) {
  .navbar-toggleable-lg .navbar-brand {
    display: block;
    float: none;
    margin-top: .5rem;
    margin-right: 0; }
  .navbar-toggleable-lg .navbar-nav {
    margin-top: .5rem;
    margin-bottom: .5rem; }
    .navbar-toggleable-lg .navbar-nav .dropdown-menu {
      position: static;
      float: none; } }

@media (min-width: 1200px) {
  .navbar-toggleable-lg {
    display: block; } }

.navbar-toggleable-xl {
  display: block; }
  .navbar-toggleable-xl::after {
    content: "";
    display: table;
    clear: both; }
  .navbar-toggleable-xl .navbar-brand {
    display: block;
    float: none;
    margin-top: .5rem;
    margin-right: 0; }
  .navbar-toggleable-xl .navbar-nav {
    margin-top: .5rem;
    margin-bottom: .5rem; }
    .navbar-toggleable-xl .navbar-nav .dropdown-menu {
      position: static;
      float: none; }

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

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

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

.navbar-light .navbar-brand,
.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 .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .active > .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link:hover,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.open:focus,
.navbar-light .navbar-nav .nav-link.open:hover,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.active:focus,
.navbar-light .navbar-nav .nav-link.active:hover {
  color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler {
  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");
  border-color: rgba(0, 0, 0, 0.1); }

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

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

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

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

.navbar-dark .navbar-toggler {
  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");
  border-color: rgba(255, 255, 255, 0.1); }

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

.navbar-toggleable-xs::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 575px) {
  .navbar-toggleable-xs .navbar-nav .nav-item {
    float: none;
    margin-left: 0; } }

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

.navbar-toggleable-sm::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 767px) {
  .navbar-toggleable-sm .navbar-nav .nav-item {
    float: none;
    margin-left: 0; } }

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

.navbar-toggleable-md::after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 991px) {
  .navbar-toggleable-md .navbar-nav .nav-item {
    float: none;
    margin-left: 0; } }

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

.card {
  position: relative;
  display: block;
  margin-bottom: 0.75rem;
  background-color: #fff;
  border-radius: 0.25rem;
  border: 1px solid rgba(0, 0, 0, 0.125); }

.card-block {
  padding: 1.25rem; }
  .card-block::after {
    content: "";
    display: table;
    clear: both; }

.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: #f5f5f5;
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .card-header::after {
    content: "";
    display: table;
    clear: both; }
  .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: #f5f5f5;
  border-top: 1px solid rgba(0, 0, 0, 0.125); }
  .card-footer::after {
    content: "";
    display: table;
    clear: both; }
  .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: #00A99E;
  border-color: #00A99E; }
  .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: #00A99E; }

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

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

.card-inverse .card-header,
.card-inverse .card-footer {
  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: table;
    width: 100%;
    margin-bottom: 0.75rem;
    table-layout: fixed;
    border-spacing: 1.25rem 0; }
    .card-deck .card {
      display: table-cell;
      margin-bottom: 0;
      vertical-align: top; }
  .card-deck-wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem; } }

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

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

.breadcrumb {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #eceeef;
  border-radius: 0.25rem; }
  .breadcrumb::after {
    content: "";
    display: table;
    clear: both; }

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

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

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

.page-link {
  position: relative;
  float: left;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  color: #0275d8;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd; }
  .page-link:focus, .page-link:hover {
    color: #014c8c;
    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.275rem 0.75rem;
  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; }

.tag {
  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; }
  .tag:empty {
    display: none; }

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

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

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

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

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

.tag-success {
  background-color: #00A99E; }
  .tag-success[href]:focus, .tag-success[href]:hover {
    background-color: #00766e; }

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

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

.tag-danger {
  background-color: #d9534f; }
  .tag-danger[href]:focus, .tag-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 {
  padding-right: 2.5rem; }
  .alert-dismissible .close {
    position: relative;
    top: -.125rem;
    right: -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; }

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

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

.progress[value] {
  background-color: #eee;
  border: 0;
  appearance: none;
  border-radius: 0.25rem; }

.progress[value]::-ms-fill {
  background-color: #0074d9;
  border: 0; }

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 0\0) {
  .progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem; } }

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

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

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

.progress-success[value]::-webkit-progress-value {
  background-color: #00A99E; }

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

.progress-success[value]::-ms-fill {
  background-color: #00A99E; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.media-body {
  width: 10000px; }

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

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

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

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

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

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

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

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

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

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd; }
  .list-group-item:first-child {
    border-top-right-radius: 0.25rem;
    border-top-left-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
    color: #818a91;
    cursor: not-allowed;
    background-color: #eceeef; }
    .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
      color: inherit; }
    .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
      color: #818a91; }
  .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
    z-index: 2;
    color: #fff;
    text-decoration: none;
    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, .list-group-item.active:focus .list-group-item-heading,
    .list-group-item.active:focus .list-group-item-heading > small,
    .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
    .list-group-item.active:hover .list-group-item-heading > small,
    .list-group-item.active:hover .list-group-item-heading > .small {
      color: inherit; }
    .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
      color: #a8d6fe; }

.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.modal-open {
  overflow: hidden; }

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

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

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

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

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

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

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

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

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

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5; }
  .modal-footer::after {
    content: "";
    display: table;
    clear: both; }

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

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

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: -apple-system, 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.in {
    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, 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: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 0.2375rem 0.2375rem 0 0; }
  .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-inner > .carousel-item {
    position: relative;
    display: none;
    transition: .6s ease-in-out left; }
    .carousel-inner > .carousel-item > img,
    .carousel-inner > .carousel-item > a > img {
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .carousel-item {
        transition: transform .6s ease-in-out;
        backface-visibility: hidden;
        perspective: 1000px; }
        .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right {
          left: 0;
          transform: translate3d(100%, 0, 0); }
        .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left {
          left: 0;
          transform: translate3d(-100%, 0, 0); }
        .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active {
          left: 0;
          transform: translate3d(0, 0, 0); } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

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

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

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

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

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

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

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

.bg-success {
  background-color: #00A99E !important; }

a.bg-success:focus, a.bg-success:hover {
  background-color: #00766e !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: #373a3c !important; }

a.bg-inverse:focus, a.bg-inverse:hover {
  background-color: #1f2021 !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%; }

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

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

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

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

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

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

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

.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-100 {
  width: 100% !important; }

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

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !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: 1rem 1rem !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.my-3 {
  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: 1rem 1rem !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-xs-center, .wrapper-page .account-bg legend {
  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: #818a91 !important; }

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

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

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

.text-success {
  color: #00A99E !important; }

a.text-success:focus, a.text-success:hover {
  color: #00766e !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: #373a3c !important; }

a.text-gray-dark:focus, a.text-gray-dark:hover {
  color: #1f2021 !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; } }

/* inject:mixins:scss */
/* endinject */
/* inject:components:scss */
gis-hotel-info {
  overflow: hidden;
  display: flex;
  flex-direction: column; }
  gis-hotel-info div.hotel__header {
    background-color: #de9320; }
    gis-hotel-info div.hotel__header p {
      color: white;
      margin-bottom: 0;
      line-height: 2.5rem;
      padding-left: 1rem;
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 1px; }
  gis-hotel-info div.hotel__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    gis-hotel-info div.hotel__info .flexslider {
      border: 0;
      background-color: transparent;
      font-size: 2.4rem;
      margin-bottom: 0;
      height: 100%; }
      gis-hotel-info div.hotel__info .flexslider ul {
        height: 100%; }
        gis-hotel-info div.hotel__info .flexslider ul li {
          height: 100%;
          display: flex !important;
          flex-direction: column;
          justify-content: center;
          overflow: hidden; }
          gis-hotel-info div.hotel__info .flexslider ul li.weather {
            display: flex !important; }
          gis-hotel-info div.hotel__info .flexslider ul li:not(.weather) div.frases__body {
            background-image: url("/assets/images/bg_frases_new.3688.jpg");
            background-size: 100% 100%;
            background-repeat: no-repeat;
            position: relative;
            height: 100%;
            display: flex; }
            gis-hotel-info div.hotel__info .flexslider ul li:not(.weather) div.frases__body div.overlay {
              position: absolute;
              width: 100%;
              height: 100%;
              background-color: rgba(0, 0, 0, 0.6);
              z-index: 1; }
          gis-hotel-info div.hotel__info .flexslider ul li:not(.weather) > div {
            flex-direction: column;
            justify-content: center; }
          gis-hotel-info div.hotel__info .flexslider ul li:not(.weather) h2 {
            color: white;
            width: 100%;
            z-index: 2;
            font-size: 1.7rem;
            line-height: 2.8rem;
            text-shadow: 2px 2px #000000; }
          gis-hotel-info div.hotel__info .flexslider ul li.timetable {
            background-color: #002b57; }
          gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body {
            display: flex;
            flex: 1; }
            gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body div.timeline__body__item {
              display: flex;
              flex-direction: row;
              justify-content: space-between;
              padding: 0rem 1rem;
              flex: 1; }
              gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body div.timeline__body__item:nth-child(odd) {
                background-color: #00417e; }
              gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body div.timeline__body__item .time {
                color: white;
                font-size: 1.2rem;
                align-self: center; }
              gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body div.timeline__body__item .category {
                flex: 1;
                text-align: right;
                margin-right: 1rem;
                color: white;
                font-size: 1.2rem;
                align-self: center; }
          gis-hotel-info div.hotel__info .flexslider ul li div.timeline__body,
          gis-hotel-info div.hotel__info .flexslider ul li div.frases__body {
            -webkit-transition: background-image 0.1s linear;
            transition: background-image 0.1s linear; }
      gis-hotel-info div.hotel__info .flexslider h2 {
        color: #00417e;
        display: flex;
        justify-content: center;
        font-weight: 400;
        text-align: center;
        padding: 0 4rem; }

gis-main {
  display: flex;
  flex-direction: column; }
  gis-main div.main__slider {
    min-height: 675px;
    display: flex; }
    gis-main div.main__slider > div {
      flex: 1;
      background-size: cover;
      position: relative;
      overflow: hidden;
      transition-duration: 1s;
      display: flex; }
      gis-main div.main__slider > div .videoOverlay {
        position: absolute;
        z-index: 9999999;
        width: 100%;
        height: 100%;
        background-color: black; }
      gis-main div.main__slider > div iframe:not(.my-youtube) {
        width: 100%;
        height: 100%; }
      gis-main div.main__slider > div video {
        background-color: black; }

iframe:not(.my-youtube) {
  width: 100%;
  height: 100%; }

.my-youtube {
  height: 675px !important; }

gis-partners {
  overflow: hidden;
  display: flex;
  flex-direction: column; }
  gis-partners div.partners__header {
    background-color: #002b57; }
    gis-partners div.partners__header p {
      border-left: 10px solid orange;
      color: white;
      margin-bottom: 0;
      line-height: 2.5rem;
      padding-left: 1rem; }
  gis-partners div.partners__slider {
    flex: 1;
    display: flex; }
    gis-partners div.partners__slider > div {
      flex: 1;
      -webkit-transition: background-image 0.1s linear;
      transition: background-image 0.1s linear;
      background-size: 100% 100%; }

gis-timeline {
  display: flex;
  flex-direction: column;
  background-color: #002b57;
  margin: 0;
  height: 100%; }
  gis-timeline ds-widget-clock {
    width: 30px !important;
    height: 30px !important; }
    gis-timeline ds-widget-clock .digital {
      position: relative; }
      gis-timeline ds-widget-clock .digital .time {
        top: -30px;
        color: transparent; }
    gis-timeline ds-widget-clock .analog {
      position: relative;
      top: -30px;
      right: 0.5rem; }
      gis-timeline ds-widget-clock .analog svg {
        width: 30px;
        height: 30px; }
        gis-timeline ds-widget-clock .analog svg .minor {
          display: none;
          fill: #fff;
          stroke: #fff;
          stroke-width: 5px; }
        gis-timeline ds-widget-clock .analog svg .clock-face {
          fill: transparent;
          stroke: #fff;
          stroke-width: 5px; }
        gis-timeline ds-widget-clock .analog svg .minute,
        gis-timeline ds-widget-clock .analog svg .hour {
          fill: #fff;
          stroke: #fff;
          stroke-width: 5px; }
        gis-timeline ds-widget-clock .analog svg .second,
        gis-timeline ds-widget-clock .analog svg .second-counterweight {
          display: none; }
  gis-timeline div.timeline__header {
    flex: 0 95px;
    padding: 0.75rem 1rem 0 1rem; }
    gis-timeline div.timeline__header h3,
    gis-timeline div.timeline__header h5 {
      color: white;
      text-transform: uppercase; }
    gis-timeline div.timeline__header h3 {
      font-size: 1.5rem; }
      gis-timeline div.timeline__header h3 .lower-case {
        text-transform: lowercase; }
    gis-timeline div.timeline__header h5 {
      font-size: 1.1rem;
      font-weight: 400; }
    gis-timeline div.timeline__header div.reloj {
      display: flex;
      color: white;
      justify-content: flex-end;
      position: relative;
      bottom: 2.5rem; }
      gis-timeline div.timeline__header div.reloj span {
        font-size: 1.4rem;
        line-height: 1.3rem; }
      gis-timeline div.timeline__header div.reloj img {
        flex: 0;
        padding-right: 0.5rem;
        align-self: center;
        height: 26px; }
  gis-timeline div.timeline__container {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden; }
    gis-timeline div.timeline__container .flexslider {
      background-color: #002b57;
      border: 0;
      border-radius: 0;
      height: 100%;
      margin-bottom: 0; }
      gis-timeline div.timeline__container .flexslider .slides {
        height: 100%; }
        gis-timeline div.timeline__container .flexslider .slides li {
          height: 100%; }
          gis-timeline div.timeline__container .flexslider .slides li div.timeline__body {
            height: 100%;
            display: flex;
            flex-direction: column; }
            gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item {
              display: flex;
              flex-direction: column;
              justify-content: space-between;
              flex: 1 auto; }
              gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item:nth-child(odd) {
                background-color: #00417e; }
              gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item.future {
                background-color: #919191; }
                gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item.future:nth-child(odd) {
                  background-color: #5b5b5b; }
              gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item .item__day__header {
                color: #24417d;
                background-color: white;
                font-size: 1rem;
                padding: 0.3rem 0.25rem;
                text-transform: uppercase; }
              gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                flex: 2 auto;
                position: relative;
                background-size: cover;
                background-position: center center; }
                gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .time {
                  color: white;
                  font-size: 1.5rem;
                  font-weight: bold;
                  display: flex;
                  justify-content: flex-start;
                  flex-direction: column;
                  padding: 0.5rem 1rem 0 1rem; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .time div.nextDay {
                    position: absolute;
                    left: 1rem;
                    top: 0.1rem;
                    color: #f08200;
                    font-weight: 400;
                    border-radius: 14px;
                    font-size: 1rem;
                    align-self: center;
                    padding: 0.2rem 0.5rem; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .time span {
                    position: absolute;
                    color: #f08200;
                    font-weight: 400;
                    border-radius: 14px;
                    font-size: 1rem;
                    align-self: center;
                    padding: 0.2rem 0.5rem;
                    bottom: 0; }
                gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .category {
                  margin-right: 1rem;
                  padding-left: 1.5rem;
                  color: white;
                  align-self: center;
                  flex: 1;
                  text-align: left;
                  font-size: 1.2rem; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .category h5 {
                    margin-bottom: 0.1rem;
                    font-size: 1.3rem;
                    text-transform: uppercase;
                    text-shadow: 2px 2px #000000; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .category p {
                    margin-bottom: 0;
                    font-weight: 300;
                    font-size: 1.1rem;
                    line-height: 1.3rem;
                    text-shadow: 2px 2px #000000; }
                gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content .color {
                  display: flex;
                  flex: 0 0 10px; }
                gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content.active {
                  flex: 1;
                  background-size: cover;
                  justify-content: flex-start;
                  padding-top: 0;
                  font-size: 1.2rem;
                  position: relative; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content.active .time {
                    display: flex;
                    flex-direction: column;
                    background-color: #ff8600 !important;
                    height: 100%;
                    justify-content: center;
                    margin-left: -1rem;
                    padding: 1rem;
                    font-weight: 400; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content.active .category {
                    flex: 1 auto;
                    align-self: center;
                    z-index: 999;
                    padding: 0rem 2rem;
                    border-radius: 0%;
                    font-weight: 600; }
                    gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content.active .category div {
                      background-color: #ff8600;
                      padding: 0rem 0.5rem;
                      font-size: 1.4rem; }
                  gis-timeline div.timeline__container .flexslider .slides li div.timeline__body div.timeline__body__item div.item__content.active .timeline__body_overlay {
                    position: absolute;
                    width: 101.5%;
                    height: 100%;
                    background-color: rgba(0, 0, 0, 0.4);
                    z-index: 0;
                    left: 5.6rem; }
  gis-timeline .flex-control-nav,
  gis-timeline .flex-direction-nav,
  gis-timeline .slides,
  gis-timeline .slides > li {
    margin: 0;
    padding: 0;
    list-style: none; }

wdk-weather {
  display: flex;
  flex: 1;
  background: url("/assets/images/bg_meteo.b6bf.png");
  background-size: cover;
  background-position: 0 99%; }
  wdk-weather div.left, wdk-weather div.right {
    flex: 1;
    padding: 0 1rem;
    display: flex; }
    wdk-weather div.left *, wdk-weather div.right * {
      color: white; }
    wdk-weather div.left div.content, wdk-weather div.right div.content {
      background: -webkit-linear-gradient(bottom, transparent, rgba(0, 0, 0, 0.3));
      /* For Safari 5.1 to 6.0 */
      background: -o-linear-gradient(top, transparent, rgba(0, 0, 0, 0.3));
      /* For Opera 11.1 to 12.0 */
      background: -moz-linear-gradient(bottom, transparent, rgba(0, 0, 0, 0.3));
      /* For Firefox 3.6 to 15 */
      background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.3));
      /* Standard syntax (must be last) */
      height: 100%;
      flex: 1;
      display: flex;
      flex-direction: column;
      padding: 1rem 2.5rem; }
  wdk-weather div.left {
    flex: 0 40%; }
    wdk-weather div.left .content {
      padding: 1rem !important; }
    wdk-weather div.left h3 {
      text-transform: uppercase;
      text-align: left;
      font-size: 1.5rem;
      font-weight: 400; }
    wdk-weather div.left div.fecha {
      display: flex;
      justify-content: space-between; }
      wdk-weather div.left div.fecha div p {
        text-align: center;
        margin-bottom: 0;
        text-transform: uppercase; }
      wdk-weather div.left div.fecha i {
        font-size: 1.8rem;
        position: relative;
        top: -2rem;
        right: -0.5rem; }
    wdk-weather div.left div.grados {
      text-align: center;
      font-size: 3.5rem; }
      wdk-weather div.left div.grados p {
        margin-bottom: 0; }
    wdk-weather div.left div.localizacion {
      text-align: center;
      font-size: 1.8rem; }
      wdk-weather div.left div.localizacion p {
        margin-bottom: 0;
        font-weight: 300; }
    wdk-weather div.left div.clima {
      text-align: center;
      font-size: 1.2rem; }
      wdk-weather div.left div.clima p {
        font-weight: 300;
        margin-bottom: 0; }
    wdk-weather div.left div.humedad {
      text-align: center;
      font-size: 0.9rem;
      margin-top: 0.5rem; }
  wdk-weather div.right {
    flex: 0 60%; }
    wdk-weather div.right h3 {
      text-align: left;
      text-transform: uppercase;
      margin-bottom: 1rem;
      font-size: 1.3rem; }
    wdk-weather div.right div.content {
      padding: 0.75rem; }
    wdk-weather div.right table tr {
      border: 0; }
      wdk-weather div.right table tr:last-child td {
        border-bottom: 0; }
      wdk-weather div.right table tr td {
        border-top: 0;
        border-bottom: 1px solid white;
        font-size: 1rem;
        padding: 0.3rem 0; }
        wdk-weather div.right table tr td:first-child {
          text-transform: uppercase; }
        wdk-weather div.right table tr td.temperatura {
          font-size: 1.2rem;
          line-height: 1.5rem; }
        wdk-weather div.right table tr td i {
          font-size: 1rem;
          position: relative;
          top: 0.1rem; }

.youtubeHeight {
  min-height: 675px !important; }

.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: white;
  z-index: 999;
  text-align: center;
  padding: 0%;
  transition-duration: 1s; }
  .overlay img, .overlay span {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 50vh; }
  .overlay span {
    top: 48vh; }
  .overlay video {
    width: 100%;
    height: 100%;
    margin: auto; }
  .overlay.active {
    opacity: 1; }
  .overlay.inactive {
    opacity: 0; }

.full-screen {
  position: fixed;
  z-index: 998; }

.vertical {
  position: relative; }
  .vertical div.header-video, .vertical div.footer-video {
    text-align: center;
    position: absolute;
    z-index: 999; }
  .vertical div.header-video {
    top: 0;
    height: 25vh;
    width: 100vw; }
    .vertical div.header-video img {
      position: relative;
      top: 40%; }
    .vertical div.header-video h5 {
      font-size: 1.1rem;
      font-weight: 400; }
    .vertical div.header-video div.reloj {
      position: absolute;
      top: 1.5rem;
      right: 1rem;
      display: flex;
      color: #000; }
      .vertical div.header-video div.reloj span {
        font-size: 1.4rem;
        line-height: 1.3rem; }
      .vertical div.header-video div.reloj img {
        flex: 0;
        padding-right: 0.5rem;
        align-self: center;
        height: 26px; }
  .vertical div.footer-video {
    bottom: 0;
    height: 25vh;
    width: 80vw;
    margin: 10vw; }
    .vertical div.footer-video h3, .vertical div.footer-video h5 {
      color: #184196; }
    .vertical div.footer-video h3 {
      font-size: 3rem;
      text-shadow: 1px 0px 1px #184196;
      margin-top: 20vw; }
      .vertical div.footer-video h3 span {
        text-transform: uppercase; }
    .vertical div.footer-video h5 {
      font-size: 1.1rem;
      font-weight: 400; }
    .vertical div.footer-video div.reloj {
      position: absolute;
      top: 1.5rem;
      left: 10rem;
      display: flex;
      color: #000; }
      .vertical div.footer-video div.reloj span {
        font-size: 1.4rem;
        line-height: 1.3rem; }
      .vertical div.footer-video div.reloj img {
        flex: 0;
        padding-right: 0.5rem;
        align-self: center;
        height: 26px; }
  .vertical video {
    background-color: #fff; }

.Site {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  zoom: 0.92; }

.wrapper-page {
  max-width: 320px;
  margin-top: 15vh; }
  @media (max-width: 767px) {
    .wrapper-page {
      margin-top: 0vh; } }
  .wrapper-page .account-bg {
    background-color: transparent;
    margin-bottom: 0; }
    .wrapper-page .account-bg .card-box {
      border: 0; }
    .wrapper-page .account-bg legend {
      font-family: 'Open Sans', sans-serif;
      font-weight: 600; }
    .wrapper-page .account-bg .small-line {
      margin: 0 auto;
      background: #e6b778;
      height: 3px;
      width: 50px;
      display: block; }
  .wrapper-page footer {
    color: white; }
    .wrapper-page footer a {
      color: lightblue; }
      .wrapper-page footer a:hover {
        text-decoration: underline; }

/* endinject */
/* inject:addons:scss */
gis-timeline.christmas {
  margin: 0;
  background-image: url("/assets/images/bg-timeline-xmas.de4c.jpg"); }
  gis-timeline.christmas h3, gis-timeline.christmas h5 {
    font-weight: bold; }
  gis-timeline.christmas div.timeline__header {
    background-color: rgba(0, 0, 0, 0.55) !important; }
    gis-timeline.christmas div.timeline__header > h5 {
      color: #de9320 !important; }
  gis-timeline.christmas div.timeline__container .flexslider {
    background-color: transparent; }
    gis-timeline.christmas div.timeline__container .flexslider div.timeline__body__item:nth-child(odd) {
      background-color: rgba(0, 0, 0, 0.55) !important; }
    gis-timeline.christmas div.timeline__container .flexslider div.timeline__body__item .time span {
      color: white !important; }
    gis-timeline.christmas div.timeline__container .flexslider div.timeline__body__item .now.time {
      background-color: #9c1a1a !important; }
      gis-timeline.christmas div.timeline__container .flexslider div.timeline__body__item .now.time:before {
        content: '';
        position: absolute;
        background-image: url("/assets/images/snow-layer.da13.png");
        background-repeat: no-repeat;
        background-size: 100%;
        top: -7px;
        left: -10px;
        height: 45px;
        width: 120px; }

main.christmas .main-up {
  position: relative; }
  main.christmas .main-up:before {
    content: '';
    position: absolute;
    top: 0;
    width: 100%;
    height: 268px;
    background-image: url("/assets/images/xmas-decoration.b4f2.png");
    z-index: 99; }

wdk-weather.christmas {
  background: url("/assets/images/bg_meteo-xmas.d09c.png") !important; }

/* endinject */
html {
  position: relative;
  min-height: 100%;
  font-size: 18px; }
  html.small-device {
    font-size: 14px; }
    html.small-device main {
      display: flex;
      flex-direction: column;
      flex: 2; }
      html.small-device main div.main-down gis-partners {
        width: 590px; }
      html.small-device main div.main-down gis-hotel-info {
        width: 590px; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100%;
  font-family: 'Lato', sans-serif; }

[ng-view] {
  display: flex;
  flex-direction: row; }

main {
  padding: 0 16px 0 0;
  display: flex;
  flex-direction: column; }
  main div.main-up {
    flex: 2;
    display: flex;
    flex-direction: row;
    padding-bottom: 16px;
    min-height: 675px;
    width: 1200px; }
    main div.main-up gis-main {
      flex: 1; }
  main div.main-down {
    justify-content: space-between;
    display: flex;
    flex-direction: row;
    flex: 1 0px;
    height: 255px;
    width: 1200px; }
    main div.main-down gis-partners {
      width: 590px; }
    main div.main-down gis-hotel-info {
      width: 590px; }

aside {
  width: 686.55px;
  display: flex;
  flex-direction: row; }
  aside gis-timeline {
    flex-grow: 1; }

.flexslider {
  margin-bottom: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInRoZW1lLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwLnNjc3MiLCJib290c3RyYXAvX2N1c3RvbS5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9faG92ZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWcuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYWxlcnQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NhcmRzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19saXN0cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mbG9hdC5zY3NzIiwiYm9vdHN0cmFwL19ub3JtYWxpemUuc2NzcyIsImJvb3RzdHJhcC9fcHJpbnQuc2NzcyIsImJvb3RzdHJhcC9fcmVib290LnNjc3MiLCJib290c3RyYXAvX3R5cGUuc2NzcyIsImJvb3RzdHJhcC9faW1hZ2VzLnNjc3MiLCJib290c3RyYXAvX2NvZGUuc2NzcyIsImJvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL190YWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fZm9ybXMuc2NzcyIsImJvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwiYm9vdHN0cmFwL19hbmltYXRpb24uc2NzcyIsImJvb3RzdHJhcC9fZHJvcGRvd24uc2NzcyIsImJvb3RzdHJhcC9fYnV0dG9uLWdyb3VwLnNjc3MiLCJib290c3RyYXAvX2lucHV0LWdyb3VwLnNjc3MiLCJib290c3RyYXAvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiYm9vdHN0cmFwL19uYXYuc2NzcyIsImJvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCJib290c3RyYXAvX2NhcmQuc2NzcyIsImJvb3RzdHJhcC9fYnJlYWRjcnVtYi5zY3NzIiwiYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCJib290c3RyYXAvX3RhZ3Muc2NzcyIsImJvb3RzdHJhcC9fanVtYm90cm9uLnNjc3MiLCJib290c3RyYXAvX2FsZXJ0LnNjc3MiLCJib290c3RyYXAvX3Byb2dyZXNzLnNjc3MiLCJib290c3RyYXAvX21lZGlhLnNjc3MiLCJib290c3RyYXAvX2xpc3QtZ3JvdXAuc2NzcyIsImJvb3RzdHJhcC9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiYm9vdHN0cmFwL19jbG9zZS5zY3NzIiwiYm9vdHN0cmFwL19tb2RhbC5zY3NzIiwiYm9vdHN0cmFwL190b29sdGlwLnNjc3MiLCJib290c3RyYXAvX3BvcG92ZXIuc2NzcyIsImJvb3RzdHJhcC9fY2Fyb3VzZWwuc2NzcyIsImJvb3RzdHJhcC9fdXRpbGl0aWVzLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2ZsZXguc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJtaXhpbnMvY2VudGVyZXIuc2NzcyIsIm1peGlucy90cmFuc2Zvcm0uc2NzcyIsIm1peGlucy90cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9jb3JlL2RpcmVjdGl2ZXMvaG90ZWxfaW5mby9ob3RlbF9pbmZvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2NvcmUvZGlyZWN0aXZlcy9tYWluL21haW4uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY29yZS9kaXJlY3RpdmVzL3BhcnRuZXJzL3BhcnRuZXJzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2NvcmUvZGlyZWN0aXZlcy90aW1lbGluZS90aW1lbGluZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9jb3JlL2RpcmVjdGl2ZXMvd2VhdGhlci93ZWF0aGVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2hvbWUvaG9tZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5zY3NzIiwiLi4vLi4vYWRkb25zL2NocmlzdG1hcy90aW1lbGluZS90aW1lbGluZS5zY3NzIiwiLi4vLi4vYWRkb25zL2NocmlzdG1hcy9ob21lL2hvbWUuc2NzcyIsIi4uLy4uL2FkZG9ucy9jaHJpc3RtYXMvd2VhdGhlci93ZWF0aGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYm93ZXI6c2Nzc1xuLy8gZW5kYm93ZXJcblxuQGltcG9ydCAnLi90aGVtZS5zY3NzJztcbkBpbXBvcnQgJy4vYm9vdHN0cmFwL2Jvb3RzdHJhcCc7XG5cbi8qIGluamVjdDptaXhpbnM6c2NzcyAqL1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXJlci5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybS5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25zLnNjc3NcIjtcbi8qIGVuZGluamVjdCAqL1xuXG4vKiBpbmplY3Q6Y29tcG9uZW50czpzY3NzICovXG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9jb3JlL2RpcmVjdGl2ZXMvaG90ZWxfaW5mby9ob3RlbF9pbmZvLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2NvcmUvZGlyZWN0aXZlcy9tYWluL21haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uL2NvbXBvbmVudHMvY29yZS9kaXJlY3RpdmVzL3BhcnRuZXJzL3BhcnRuZXJzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2NvcmUvZGlyZWN0aXZlcy90aW1lbGluZS90aW1lbGluZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9jb3JlL2RpcmVjdGl2ZXMvd2VhdGhlci93ZWF0aGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2hvbWUvaG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5zY3NzXCI7XG4vKiBlbmRpbmplY3QgKi9cblxuLyogaW5qZWN0OmFkZG9uczpzY3NzICovXG5AaW1wb3J0ICcuLi8uLi9hZGRvbnMvY2hyaXN0bWFzL3RpbWVsaW5lL3RpbWVsaW5lLnNjc3MnO1xuQGltcG9ydCAnLi4vLi4vYWRkb25zL2NocmlzdG1hcy9ob21lL2hvbWUuc2Nzcyc7XG5AaW1wb3J0ICcuLi8uLi9hZGRvbnMvY2hyaXN0bWFzL3dlYXRoZXIvd2VhdGhlci5zY3NzJztcbi8qIGVuZGluamVjdCAqL1xuXG5odG1sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDE4cHg7XG5cbiAgJi5zbWFsbC1kZXZpY2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAyO1xuXG4gICAgICBkaXYubWFpbi11cCB7XG4gICAgICAgIGdpcy1tYWluIHt9XG4gICAgICB9XG5cbiAgICAgIGRpdi5tYWluLWRvd24ge1xuICAgICAgICBnaXMtcGFydG5lcnMge1xuICAgICAgICAgIHdpZHRoOiA1OTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGdpcy1ob3RlbC1pbmZvIHtcbiAgICAgICAgICB3aWR0aDogNTkwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xufVxuXG5bbmctdmlld10ge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvLyBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLy8gYmFja2dyb3VuZDogdXJsKCcvYXNzZXRzL2ltYWdlcy9iZ19naXMuanBnJykgbm8tcmVwZWF0IDUwJSA1MCUgdHJhbnNwYXJlbnQ7XG4gIC8vIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xufVxuXG5tYWluIHtcbiAgcGFkZGluZzogMCAxNnB4IDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy8gZmxleDogMS44NDtcblxuICBkaXYubWFpbi11cCB7XG4gICAgZmxleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgbWluLWhlaWdodDogNjc1cHg7XG4gICAgd2lkdGg6IDEyMDBweDtcblxuICAgIGdpcy1tYWluIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgZGl2Lm1haW4tZG93biB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4OiAxIDBweDtcbiAgICBoZWlnaHQ6IDI1NXB4O1xuICAgIHdpZHRoOiAxMjAwcHg7XG5cbiAgICBnaXMtcGFydG5lcnMge1xuICAgICAgd2lkdGg6IDU5MHB4O1xuICAgIH1cblxuICAgIGdpcy1ob3RlbC1pbmZvIHtcbiAgICAgIHdpZHRoOiA1OTBweDtcbiAgICB9XG4gIH1cbn1cblxuYXNpZGUge1xuICAvL2ZsZXg6IDE7XG4gIHdpZHRoOiA2ODYuNTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICBnaXMtdGltZWxpbmUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuXG4uZmxleHNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIiLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC4wLjAtYWxwaGEuNSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiY3VzdG9tXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuXG4vLyBDb3JlIENTU1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInRhZ3NcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwicmVzcG9uc2l2ZS1lbWJlZFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5cbi8vIENvbXBvbmVudHMgdy8gSmF2YVNjcmlwdFxuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuXG4vLyBVdGlsaXR5IGNsYXNzZXNcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbiIsIi8vIEJvb3RzdHJhcCBvdmVycmlkZXNcbi8vXG4vLyBDb3B5IHZhcmlhYmxlcyBmcm9tIGBfdmFyaWFibGVzLnNjc3NgIHRvIHRoaXMgZmlsZSB0byBvdmVycmlkZSBkZWZhdWx0IHZhbHVlc1xuLy8gd2l0aG91dCBtb2RpZnlpbmcgc291cmNlIGZpbGVzLlxuXG4kYnJhbmQtc3VjY2VzczogICAgICAgICAgICAgIzAwQTk5RSAhZGVmYXVsdDsiLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBDb3B5IHNldHRpbmdzIGZyb20gdGhpcyBmaWxlIGludG8gdGhlIHByb3ZpZGVkIGBfY3VzdG9tLnNjc3NgIHRvIG92ZXJyaWRlXG4vLyB0aGUgQm9vdHN0cmFwIGRlZmF1bHRzIHdpdGhvdXQgbW9kaWZ5aW5nIGtleSwgdmVyc2lvbmVkIGZpbGVzLlxuXG5cbi8vIFRhYmxlIG9mIENvbnRlbnRzXG4vL1xuLy8gQ29sb3JzXG4vLyBPcHRpb25zXG4vLyBTcGFjaW5nXG4vLyBCb2R5XG4vLyBMaW5rc1xuLy8gR3JpZCBicmVha3BvaW50c1xuLy8gR3JpZCBjb250YWluZXJzXG4vLyBHcmlkIGNvbHVtbnNcbi8vIEZvbnRzXG4vLyBDb21wb25lbnRzXG5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIEdlbmVyYWwgdmFyaWFibGUgc3RydWN0dXJlXG4vL1xuLy8gVmFyaWFibGUgZm9ybWF0IHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LW1vZGlmaWVyLXN0YXRlLXByb3BlcnR5YCBvcmRlci5cblxuXG4vLyBDb2xvcnNcbi8vXG4vLyBHcmF5c2NhbGUgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWRhcms6ICAgICAgICAgICAgICAgICAjMzczYTNjICFkZWZhdWx0O1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgICAgICM1NTU5NWMgIWRlZmF1bHQ7XG4kZ3JheS1saWdodDogICAgICAgICAgICAgICAgIzgxOGE5MSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICAgICAjZWNlZWVmICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlc3Q6ICAgICAgICAgICAgICNmN2Y3ZjkgIWRlZmF1bHQ7XG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICAjMDI3NWQ4ICFkZWZhdWx0O1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG4kYnJhbmQtaW52ZXJzZTogICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWZsZXg6ICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6ICAgMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXIteDogJHNwYWNlciAhZGVmYXVsdDtcbiRzcGFjZXIteTogJHNwYWNlciAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IChcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgKSxcbiAgMTogKFxuICAgIHg6ICRzcGFjZXIteCxcbiAgICB5OiAkc3BhY2VyLXlcbiAgKSxcbiAgMjogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAxLjUpLFxuICAgIHk6ICgkc3BhY2VyLXkgKiAxLjUpXG4gICksXG4gIDM6IChcbiAgICB4OiAoJHNwYWNlci14ICogMyksXG4gICAgeTogKCRzcGFjZXIteSAqIDMpXG4gIClcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZTogICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGhzOiAoXG4gIHhzOiAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgc206ICRncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBtZDogJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2UsXG4gIGxnOiAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgeGw6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlXG4pICFkZWZhdWx0O1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogMi41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRhYmJyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci13aWR0aDogLjI1cmVtICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgwLDAsMCwuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSksIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICRidG4tZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXRvb2xiYXItbWFyZ2luOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICAkaW5wdXQtYm94LXNoYWRvdywgMCAwIDhweCByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgKyAoJGlucHV0LXBhZGRpbmcteSAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIpKSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yOiAgICAgICAgICAgICAkY3Vyc29yLWRpc2FibGVkICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZzogICAgICAgI2VlZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1kZXNjcmlwdGlvbi1jb2xvcjogICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnOiAgICAgICAgICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93OiAwIDAgMCAuMDc1cmVtICNmZmYsIDAgMCAwIC4ycmVtICMwMDc0ZDkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1iZzogICAgICAgICAjODRjNmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZzogIzAwNzRkOSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbmRpY2F0b3ItY29sb3I6ICRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pY29uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWluZGljYXRvci1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogIzUxYTdlOCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA1cHggcmdiYSg4MSwgMTY3LCAyMzIsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3Qtc20tcGFkZGluZy15OiAuMnJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXNtLWZvbnQtc2l6ZTogNzUlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gI2ZmZiwgMCAwIDAgLjJyZW0gIzAwNzRkOSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgMS41ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICNlZWUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2Vzcy1jb2xvcjogJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXN1Y2Nlc3M6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGZvcm0taWNvbi1zdWNjZXNzLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13YXJuaW5nLWNvbG9yOiAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRmb3JtLWljb24td2FybmluZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skZm9ybS1pY29uLXdhcm5pbmctY29sb3J9JyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi1kYW5nZXItY29sb3I6ICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWRhbmdlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWljb24tZGFuZ2VyLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbi10b3A6ICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKDAsMCwwLC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bi1iYWNrZHJvcDogIDk5MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItc3RpY2t5OiAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmc6ICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGl2aWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC40MjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1iZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMyIDMyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgOGgyNE00IDE2aDI0TTQgMjRoMjQnLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXI6ICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoMCwwLDAsLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgwLDAsMCwuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMiAzMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA4aDI0TTQgMTZoMjRNNCAyNGgyNCcvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXI6ICAgICAgIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtaXRlbS1tYXJnaW46ICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kbmF2LWl0ZW0taW5saW5lLXNwYWNlcjogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgIC41ZW0gMWVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItYmc6ICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICRib2R5LWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1iZzogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8gRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1pbmZvLWJnLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oJHN0YXRlLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJHN0YXRlLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKDAsMCwwLC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcjogY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLXNtLXVwLWNvbHVtbi1nYXA6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItdGl0bGUtcGFkZGluZy14OiAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItdGl0bGUtcGFkZGluZy15OiAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWNvbnRlbnQtcGFkZGluZy14OiAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWNvbnRlbnQtcGFkZGluZy15OiAgICAgICAgICAgOXB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDFweCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRhZ3NcblxuJHRhZy1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHRhZy1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHRhZy1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHRhZy1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJHRhZy13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJHRhZy1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbiR0YWctY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHRhZy1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdGFnLWZvbnQtc2l6ZTogICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJHRhZy1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFnLXBhZGRpbmcteDogICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiR0YWctcGFkZGluZy15OiAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHRhZy1waWxsLXBhZGRpbmcteDogICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kdGFnLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXNtLXVwLW1hcmdpbi15OiAzMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93OiAgICAwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1zbS11cC1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2VlZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICMwMDc0ZDkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgwLDAsMCwuMSkgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLWhlYWRpbmctbWFyZ2luLWJvdHRvbTogNXB4ICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgI2RkZCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiA5MCUgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy8gTWVkaWEgb2JqZWN0c1xuXG4kbWVkaWEtbWFyZ2luLXRvcDogICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG1lZGlhLWhlYWRpbmctbWFyZ2luLWJvdHRvbTogIDVweCAhZGVmYXVsdDtcbiRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14OiAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTogICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDYwJSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1zaXplOiAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zbS11cC13aWR0aDogICAgICAgICAgICAgICAgNjAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy14OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kY29kZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNiZDQxNDcgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIH1cbn1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhZ1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWItZm9jdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA1NDRweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxcHgsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGhvdmVyIHtcbiAgLy8gVE9ETzogcmUtZW5hYmxlIGFsb25nIHdpdGggbXE0LWhvdmVyLXNoaW1cbi8vICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4vLyAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvbWVkaWFxdWVyaWVzLyNob3ZlclxuLy8gICAgLy8gQ3VycmVudGx5IHNoaW1tZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvbXE0LWhvdmVyLXNoaW1cbi8vICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4vLyAgICAgICY6aG92ZXIgeyBAY29udGVudCB9XG4vLyAgICB9XG4vLyAgfVxuLy8gIEBlbHNlIHtcbiAgICAmOmhvdmVyIHsgQGNvbnRlbnQgfVxuLy8gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMgeyBAY29udGVudCB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJixcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIFRhZ3NcblxuQG1peGluIHRhZy12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59IiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkYm9keS1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGJvZHktY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gICAgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDE3JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAyNSUpO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyMCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIvLyBDYXJkIHZhcmlhbnRzXG5cbkBtaXhpbiBjYXJkLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNhcmQtb3V0bGluZS12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuQG1peGluIGNhcmQtaW52ZXJzZSB7XG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjIpO1xuICB9XG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyLFxuICAuY2FyZC10aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLmNhcmQtbGluayxcbiAgLmNhcmQtdGV4dCxcbiAgLmNhcmQtc3VidGl0bGUsXG4gIC5jYXJkLWJsb2NrcXVvdGUgLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpO1xuICB9XG4gIC5jYXJkLWxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY2FyZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCRzcGFjZXIteSAvIDIpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIF9mb3Jtcy5zY3NzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRjb2xvcikge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuICAuZm9ybS1jb250cm9sLWxhYmVsLFxuICAuZm9ybS1jaGVjay1sYWJlbCxcbiAgLmZvcm0tY2hlY2staW5saW5lLFxuICAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgMCAwIDZweCBsaWdodGVuKCRjb2xvciwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgNDAlKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdy1mb2N1cyk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtdmFyaWFudCgkY29sb3IpIHtcbiAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICZbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUUxMCssIE1pY3Jvc29mdCBFZGdlXG4gICZbdmFsdWVdOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUU5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5LlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTlcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTlcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufSIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcnM6ICRncmlkLWd1dHRlci13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG5cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1ha2UtZ3V0dGVycygkZ3V0dGVycyk7XG4gIH1cblxuICAkYnJlYWtwb2ludC1jb3VudGVyOiAwO1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkYnJlYWtwb2ludC1jb3VudGVyOiAoJGJyZWFrcG9pbnQtY291bnRlciArIDEpO1xuXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAuY29sLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgICAgICAuY29sLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJG1vZGlmaWVyIGluIChwdWxsLCBwdXNoKSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC4jeyRtb2RpZmllcn0tI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtbW9kaWZpZXIoJG1vZGlmaWVyLCAkaSwgJGNvbHVtbnMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiAkYnJlYWtwb2ludC1jb3VudGVyICE9IDEgb3IgJGkgIT0gMCB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC14cy0wXG4gICAgICAgICAgLm9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcihvZmZzZXQsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlKSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1ndXR0ZXItd2lkdGhzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyczogJGdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGd1dHRlciAvIC0yKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyczogJGdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG5cbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3V0dGVycykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICRndXR0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAgIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHB1bGwge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY0LjIuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMlxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvLyAxXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLy8gMlxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLy8gMVxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuLy9cblxudGVtcGxhdGUsIC8vIDFcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vLyAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4vLyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbi8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy9cbi8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgbWFyZ2luOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbi8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4vL1xuXG5idXR0b24sXG5pbnB1dCB7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbi8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8vIDFcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuLy9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8vXG4vLyBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbi8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbi8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gM1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbi8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4vL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuLy9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIsXG4gICAgKjo6Zmlyc3QtbGV0dGVyLFxuICAgIHA6OmZpcnN0LWxpbmUsXG4gICAgZGl2OjpmaXJzdC1saW5lLFxuICAgIGJsb2NrcXVvdGU6OmZpcnN0LWxpbmUsXG4gICAgbGk6OmZpcnN0LWxpbmUge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjOTk5OyAgIC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idG4sXG4gICAgLmRyb3B1cCA+IC5idG4ge1xuICAgICAgPiAuY2FyZXQge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWcge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50LCBEdXBsaWNhdGVQcm9wZXJ0eVxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBHbG9iYWwgcmVzZXRzIHRvIGNvbW1vbiBIVE1MIGVsZW1lbnRzIGFuZCBtb3JlIGZvciBlYXNpZXIgdXNhZ2UgYnkgQm9vdHN0cmFwLlxuLy8gQWRkcyBhZGRpdGlvbmFsIHJ1bGVzIG9uIHRvcCBvZiBOb3JtYWxpemUuY3NzLCBpbmNsdWRpbmcgc2V2ZXJhbCBvdmVycmlkZXMuXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHRvIGBib3JkZXItYm94YCBzbyB0aGF0IHdoZW4geW91IGFkZFxuLy8gYHBhZGRpbmdgIG9yIGBib3JkZXJgcyB0byBhbiBlbGVtZW50LCB0aGUgb3ZlcmFsbCBkZWNsYXJlZCBgd2lkdGhgIGRvZXMgbm90XG4vLyBjaGFuZ2UuIEZvciBleGFtcGxlLCBgd2lkdGg6IDEwMHB4O2Agd2lsbCBhbHdheXMgYmUgYDEwMHB4YCBkZXNwaXRlIHRoZVxuLy8gYGJvcmRlcjogMTBweCBzb2xpZCByZWQ7YCBhbmQgYHBhZGRpbmc6IDIwcHg7YC5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLiBGb3Jcbi8vIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuXG4vLyBNYWtlIHZpZXdwb3J0IHJlc3BvbnNpdmVcbi8vXG4vLyBAdmlld3BvcnQgaXMgbmVlZGVkIGJlY2F1c2UgSUUgMTArIGRvZXNuJ3QgaG9ub3IgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+IGluXG4vLyBzb21lIGNhc2VzLiBTZWUgaHR0cHM6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbi8vIEV2ZW50dWFsbHkgQHZpZXdwb3J0IHdpbGwgcmVwbGFjZSA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4uXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTcpXG4vLyBhbmQgdGhlIGZpeCBmb3IgdGhhdCBpbnZvbHZlcyBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudFxuLy8gYW5kIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTLlxuLy9cbi8vIFNlZSBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGggZm9yIHRoZSByZWxldmFudCBoYWNrLlxuLy9cbi8vIFdyYXAgYEB2aWV3cG9ydGAgd2l0aCBgQGF0LXJvb3RgIGZvciB3aGVuIGZvbGtzIGRvIGEgbmVzdGVkIGltcG9ydCAoZS5nLixcbi8vIGAuY2xhc3MtbmFtZSB7IEBpbXBvcnQgXCJib290c3RyYXBcIjsgfWApLlxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxufVxuXG5cbi8vXG4vLyBSZXNldCBIVE1MLCBib2R5LCBhbmQgbW9yZVxuLy9cblxuaHRtbCB7XG4gIC8vIFNldHMgYSBzcGVjaWZpYyBkZWZhdWx0IGBmb250LXNpemVgIGZvciB1c2VyIHdpdGggYHJlbWAgdHlwZSBzY2FsZXMuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yb290O1xuICAvLyBBcyBhIHNpZGUtZWZmZWN0IG9mIHNldHRpbmcgdGhlIEB2aWV3cG9ydCBhYm92ZSxcbiAgLy8gSUUxMSAmIEVkZ2UgbWFrZSB0aGUgc2Nyb2xsYmFyIG92ZXJsYXAgdGhlIGNvbnRlbnQgYW5kIGF1dG9tYXRpY2FsbHkgaGlkZSBpdHNlbGYgd2hlbiBub3QgaW4gdXNlLlxuICAvLyBVbmZvcnR1bmF0ZWx5LCB0aGUgYXV0by1zaG93aW5nIG9mIHRoZSBzY3JvbGxiYXIgaXMgc29tZXRpbWVzIHRvbyBzZW5zaXRpdmUsXG4gIC8vIHRodXMgbWFraW5nIGl0IGhhcmQgdG8gY2xpY2sgb24gc3R1ZmYgbmVhciB0aGUgcmlnaHQgZWRnZSBvZiB0aGUgcGFnZS5cbiAgLy8gU28gd2UgYWRkIHRoaXMgc3R5bGUgdG8gZm9yY2UgSUUxMSAmIEVkZ2UgdG8gdXNlIGEgXCJub3JtYWxcIiwgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODU0M1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbiAgLy8gQ2hhbmdlcyB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbmJvZHkge1xuICAvLyBNYWtlIHRoZSBgYm9keWAgdXNlIHRoZSBgZm9udC1zaXplLXJvb3RgXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgLy8gR28gZWFzeSBvbiB0aGUgZXllcyBhbmQgdXNlIHNvbWV0aGluZyBvdGhlciB0aGFuIGAjMDAwYCBmb3IgdGV4dFxuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIC8vIEJ5IGRlZmF1bHQsIGA8Ym9keT5gIGhhcyBubyBgYmFja2dyb3VuZC1jb2xvcmAgc28gd2Ugc2V0IG9uZSBhcyBhIGJlc3QgcHJhY3RpY2UuXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xufVxuXG4vLyBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4vLyBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbi8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbmFiYnJbdGl0bGVdLFxuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRhYmJyLWJvcmRlci1jb2xvcjtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXMoKTtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIE5vcm1hbGl6ZSB2NCByZW1vdmVkIHRoaXMgcHJvcGVydHksIGNhdXNpbmcgYDxwcmU+YCBjb250ZW50IHRvIGJyZWFrIG91dCBvZiB3cmFwcGluZyBjb2RlIHNuaXBwZXRzXG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBOb3JtYWxpemUgYWRkcyBgbWFyZ2luYCB0byBgZmlndXJlYHMgYXMgYnJvd3NlcnMgYXBwbHkgaXQgaW5jb25zaXN0ZW50bHkuXG4gIC8vIFdlIHJlc2V0IHRoYXQgdG8gY3JlYXRlIGEgYmV0dGVyIGZsb3cgaW4tcGFnZS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzXG4vL1xuXG5pbWcge1xuICAvLyBCeSBkZWZhdWx0LCBgPGltZz5gcyBhcmUgYGlubGluZS1ibG9ja2AuIFRoaXMgYXNzdW1lcyB0aGF0LCBhbmQgdmVydGljYWxseVxuICAvLyBjZW50ZXJzIHRoZW0uIFRoaXMgd29uJ3QgYXBwbHkgc2hvdWxkIHlvdSByZXNldCB0aGVtIHRvIGBibG9ja2AgbGV2ZWwuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8vIE5vdGU6IGA8aW1nPmBzIGFyZSBkZWxpYmVyYXRlbHkgbm90IG1hZGUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LlxuICAvLyBGb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcywgc2VlIHRoZSBjb21tZW50cyBvbiB0aGUgYC5pbWctZmx1aWRgIGNsYXNzLlxufVxuXG5cbi8vIGlPUyBcImNsaWNrYWJsZSBlbGVtZW50c1wiIGZpeCBmb3Igcm9sZT1cImJ1dHRvblwiXG4vL1xuLy8gRml4ZXMgXCJjbGlja2FiaWxpdHlcIiBpc3N1ZSAoYW5kIG1vcmUgZ2VuZXJhbGx5LCB0aGUgZmlyaW5nIG9mIGV2ZW50cyBzdWNoIGFzIGZvY3VzIGFzIHdlbGwpXG4vLyBmb3IgdHJhZGl0aW9uYWxseSBub24tZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggcm9sZT1cImJ1dHRvblwiXG4vLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuLy8gU2VlOlxuLy8gKiBodHRwczovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cHM6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgLy8gTm8gbG9uZ2VyIHBhcnQgb2YgTm9ybWFsaXplIHNpbmNlIHY0XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gQ2VudGVyZWQgYnkgZGVmYXVsdCwgYnV0IGxlZnQtYWxpZ24tZWQgdG8gbWF0Y2ggdGhlIGB0ZGBzIGJlbG93LlxuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBpbmhlcml0ZWQgdGhlcmUuXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAvLyBBcHBseSBhIGRpc2FibGVkIGN1cnNvciBmb3IgcmFkaW9zIGFuZCBjaGVja2JveGVzLlxuICAvL1xuICAvLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vXG4gIC8vIEJ1ZyByZXBvcnQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggc2V0IGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICAvLyBSZXNldCB0aGUgZW50aXJlIGxlZ2VuZCBlbGVtZW50IHRvIG1hdGNoIHRoZSBgZmllbGRzZXRgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyB0b2RvOiBuZWVkZWQ/XG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4vLyAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbi8vICBjb2xvcjogJGlucHV0LWNvbG9yO1xufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkxLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkyLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXk0LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKCRzcGFjZXIgLyAyKSAkc3BhY2VyO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6ICRibG9ja3F1b3RlLWJvcmRlci13aWR0aCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4uYmxvY2txdW90ZS1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogJHNwYWNlcjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXJpZ2h0OiAkYmxvY2txdW90ZS1ib3JkZXItd2lkdGggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwwMEEwIFxcMjAxNFwiOyAvLyBuYnNwLCBlbSBkYXNoXG4gIH1cbn1cblxuQGlmIG5vdCAkZW5hYmxlLWZsZXgge1xuICAvLyBDbGVhbiB1cCBzb21lIGhvcml6b250YWwgYDxkbD5gcyBidWlsdCB3aXRoIGdyaWRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGRsLnJvdyB7XG4gICAgPiBkZCArIGR0IHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIFF1YWxpZnlpbmdFbGVtZW50XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQ7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQ7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIteSAvIDIpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAkZmlndXJlLWNhcHRpb24tZm9udC1zaXplO1xuICBjb2xvcjogJGdyYXktbGlnaHQ7XG59XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtc20tY2VsbC1wYWRkaW5nO1xuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1iZy1hY3RpdmUpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBJbnZlcnNlIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi50aGVhZC1pbnZlcnNlIHtcbiAgdGgge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG4gIH1cbn1cblxuLnRoZWFkLWRlZmF1bHQge1xuICB0aCB7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gIH1cbn1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICRncmF5O1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMCU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxuICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIC8vIFRPRE86IGZpbmQgb3V0IGlmIHdlIG5lZWQgdGhpcyBzdGlsbC5cbiAgLy9cbiAgLy8gYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIC8vIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTAwNTdcbn1cblxuXG4udGFibGUtcmVmbG93IHtcbiAgdGhlYWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgdGJvZHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItbGVmdDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB0cjpsYXN0LWNoaWxkIHRoLFxuICAgICAgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAvLyBNYW51YWxseSB1c2UgdGhlIGlmL2Vsc2UgaW5zdGVhZCBvZiB0aGUgbWl4aW4gdG8gYWNjb3VudCBmb3IgaU9TIG92ZXJyaWRlXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSB1bmRvIHRoZSBpT1MgZGVmYXVsdFxuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgICRzZWxlY3QtYm9yZGVyLXdpZHRoOiAoJGJvcmRlci13aWR0aCAqIDIpO1xuICAgIGhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHR9IC0gI3skc2VsZWN0LWJvcmRlci13aWR0aH0pO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIHRleHQgdG9cbi8vIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdFxufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXktbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15LXNtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cblxuLy9cbi8vIExlZ2VuZHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxlZ2VuZCB0ZXh0IHRvXG4vLyBiZSB0aGUgc2FtZSBzaXplIGFzIHJlZ3VsYXIgbGFiZWxzLCBhbmQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGFuIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW4gYVxuLy8gaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLWxnIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICgkc3BhY2VyICogLjI1KTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyICogLjc1KTtcblxuICAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xuICArIC5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcblxuICAmOm9ubHktY2hpbGQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgKyAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBtYXJnaW4tdG9wOiAoJHNwYWNlciAqIC4yNSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtc3VjY2Vzcyxcbi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1wYWRkaW5nLXggKiAzKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0ICgkaW5wdXQtaGVpZ2h0IC8gNCk7XG4gIGJhY2tncm91bmQtc2l6ZTogKCRpbnB1dC1oZWlnaHQgLyAyKSAoJGlucHV0LWhlaWdodCAvIDIpO1xufVxuXG4vLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtc3VjY2Vzcyk7XG5cbiAgLmZvcm0tY29udHJvbC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZm9ybS1pY29uLXN1Y2Nlc3M7XG4gIH1cbn1cblxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXdhcm5pbmcpO1xuXG4gIC5mb3JtLWNvbnRyb2wtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZvcm0taWNvbi13YXJuaW5nO1xuICB9XG59XG5cbi5oYXMtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLWRhbmdlcik7XG5cbiAgLmZvcm0tY29udHJvbC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWljb24tZGFuZ2VyO1xuICB9XG59XG5cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRidG4tbGluZS1oZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkZm9udC1zaXplLWJhc2UsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IC42NTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLmJ0bi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xufVxuLmJ0bi1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXNlY29uZGFyeS1jb2xvciwgJGJ0bi1zZWNvbmRhcnktYmcsICRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4uYnRuLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4uYnRuLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuLy8gUmVtb3ZlIGFsbCBiYWNrZ3JvdW5kc1xuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tcHJpbWFyeS1iZyk7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4taW5mby1iZyk7XG59XG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbn1cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcpO1xufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyO1xuXG4gICYuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxudHIge1xuICAmLmNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbn1cblxudGJvZHkge1xuICAmLmNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodDtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtd2lkdGg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIG1hcmdpbjogJGRyb3Bkb3duLW1hcmdpbi10b3AgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZyk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAzcHggJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQ6IG5vbmU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG5cbiAgLy8gQWN0aXZlIHN0YXRlXG4gICYuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAvL1xuICAvLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuXG4gICAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgICBAaW5jbHVkZSByZXNldC1maWx0ZXIoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbn1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bi1iYWNrZHJvcDtcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vL1xuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIH1cblxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1tYXJnaW4tdG9wO1xuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbi5idG4tZ3JvdXAge1xuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAgKyAuYnRuLFxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLSRidG4tdG9vbGJhci1tYXJnaW47IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogJGJ0bi10b29sYmFyLW1hcmdpbjtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogJGNhcmV0LXdpZHRoLWxnICRjYXJldC13aWR0aC1sZyAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwICRjYXJldC13aWR0aC1sZyAkY2FyZXQtd2lkdGgtbGc7XG59XG5cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICA+IC5idG4ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0ge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8vIFByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlblxuICAgIC8vIHBsYWNlZCB3aXRoaW4gYSB0YWJsZS5cbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSBmcm9udFxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0bixcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgQGlmIG5vdCAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtc207XG59XG5cblxuLy9cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gU2l6aW5nXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuICB9XG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIFF1YWxpZnlpbmdFbGVtZW50XG59XG5cblxuLy9cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuLy9cblxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4uZm9ybS1jb250cm9sICsgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vXG4vLyBCdXR0b24gaW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBKYW5raWx5IHByZXZlbnQgaW5wdXQgYnV0dG9uIGdyb3VwcyBmcm9tIHdyYXBwaW5nIHdpdGggYHdoaXRlLXNwYWNlYCBhbmRcbiAgLy8gYGZvbnQtc2l6ZWAgaW4gY29tYmluYXRpb24gd2l0aCBgaW5saW5lLWJsb2NrYCBvbiBidXR0b25zLlxuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBzcGFjaW5nLCBwb3NpdGlvbiBmb3IgYnJpbmdpbmcgaG92ZXJlZC9mb2N1c2VkL2FjdGl2ZWRcbiAgLy8gZWxlbWVudCBhYm92ZSB0aGUgc2libGluZ3MuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgc2luZ2xlLCBzaGFyZWQgYm9yZGVyIGJldHdlZW4gdGhlIHR3b1xuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbiAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgICAgLy8gQmVjYXVzZSBzcGVjaWZpY2l0eVxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFByb3BlcnR5Q291bnRcblxuLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1mb2N1cy1pbmRpY2F0b3ItYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZztcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gaW5kaWNhdG9yXG4vL1xuLy8gR2VuZXJhdGVzIGEgc2hhZG93IGVsZW1lbnQgdG8gY3JlYXRlIG91ciBtYWtlc2hpZnQgY2hlY2tib3gvcmFkaW8gYmFja2dyb3VuZC5cblxuLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAuMjVyZW07XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xufVxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb247XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8tY2hlY2tlZC1pY29uO1xuICB9XG59XG5cblxuLy8gTGF5b3V0IG9wdGlvbnNcbi8vXG4vLyBCeSBkZWZhdWx0IHJhZGlvcyBhbmQgY2hlY2tib3hlcyBhcmUgYGlubGluZS1ibG9ja2Agd2l0aCBubyBhZGRpdGlvbmFsIHNwYWNpbmdcbi8vIHNldC4gVXNlIHRoZXNlIG9wdGlvbmFsIGNsYXNzZXMgdG8gdHdlYWsgdGhlIGxheW91dC5cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIHtcbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcblxuICAgICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHA6Ly9wcmltZXJjc3MuaW8uXG4vL1xuLy8gSW5jbHVkZXMgSUU5LXNwZWNpZmljIGhhY2tzIChub3RlZCBieSBgIFxcOWApLlxuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAkc2VsZWN0LWJvcmRlci13aWR0aDogKCRib3JkZXItd2lkdGggKiAyKTtcbiAgaGVpZ2h0OiBjYWxjKCN7JGlucHV0LWhlaWdodH0gLSAjeyRzZWxlY3QtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBcXDk7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIFxcOTtcbiAgYmFja2dyb3VuZC1zaXplOiAkY3VzdG9tLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cyk7XG4gIC8vIFVzZSB2ZW5kb3IgcHJlZml4ZXMgYXMgYGFwcGVhcmFuY2VgIGlzbid0IHBhcnQgb2YgdGhlIENTUyBzcGVjLlxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHJlc3MgdGhlIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LXNtLWZvbnQtc2l6ZTtcblxuICAvLyAmOm5vdChbbXVsdGlwbGVdKSB7XG4gIC8vICAgaGVpZ2h0OiAyNnB4O1xuICAvLyAgIG1pbi1oZWlnaHQ6IDI2cHg7XG4gIC8vIH1cbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBtaW4td2lkdGg6ICRjdXN0b20tZmlsZS13aWR0aDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDApO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteCAkY3VzdG9tLWZpbGUtcGFkZGluZy15O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gIEBlYWNoICRsYW5nLCAkdGV4dCBpbiBtYXAtZ2V0KCRjdXN0b20tZmlsZS10ZXh0LCBwbGFjZWhvbGRlcikge1xuICAgICY6bGFuZygjeyRsYW5nfSk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR0ZXh0O1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLSRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg7XG4gICAgcmlnaHQ6IC0kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoO1xuICAgIGJvdHRvbTogLSRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteCAkY3VzdG9tLWZpbGUtcGFkZGluZy15O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHRleHQgaW4gbWFwLWdldCgkY3VzdG9tLWZpbGUtdGV4dCwgYnV0dG9uLWxhYmVsKSB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICR0ZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dCBhbmQgcmVtb3ZlcyBob3Zlci90YWIgZWZmZWN0c1xuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgaW5saW5lXG5cbi5uYXYtaW5saW5lIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0sXG4gIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRuYXYtaXRlbS1pbmxpbmUtc3BhY2VyO1xuICB9XG59XG5cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAubmF2LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuXG4gICAgKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRuYXYtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAubmF2LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRuYXYtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1iZztcbiAgICB9XG4gIH1cbn1cblxuLm5hdi1zdGFja2VkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6ICRuYXYtaXRlbS1tYXJnaW47XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVGFiYmFibGUgdGFic1xuLy9cblxuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gQSBzdGF0aWMsIGZ1bGwgd2lkdGggbW9kaWZpZXIgd2l0aCBubyByb3VuZGVkIGNvcm5lcnMuXG4ubmF2YmFyLWZ1bGwge1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbn1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5uYXZiYXItc3RpY2t5LXRvcCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItc3RpY2t5O1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG4vL1xuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi5uYXZiYXItZGl2aWRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogJGJvcmRlci13aWR0aDtcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItZGl2aWRlci1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWRpdmlkZXItcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogICRuYXZiYXItcGFkZGluZy14O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDAwYTBcIjtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogICAgLjQyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuLm5hdmJhci10b2dnbGVhYmxlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgLm5hdmJhci1icmFuZCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBJbXBvcnRhbnRSdWxlXG5cblxuLy8gTmF2aWdhdGlvblxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiBidWlsdCBvbiB0aGUgYmFzZSBgLm5hdmAgc3R5bGVzLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAgICAuNDI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtO1xuXG4gICAgKyAubmF2LWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCxcbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3BlbiA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5vcGVuLFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyO1xuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wNzUpO1xuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQsXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3BlbiA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5vcGVuLFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItZGFyay10b2dnbGVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyO1xuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNzUpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZWFibGVcbi8vXG4vLyBDdXN0b20gb3ZlcnJpZGUgZm9yIGNvbGxhcHNlIHBsdWdpbiBpbiBuYXZiYXIuXG5cbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtc20ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtbWQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgLy8gYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG59XG5cbi5jYXJkLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gLmNhcmQtYWN0aW9ucyB7XG4vLyAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuXG4vLyAgIC5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbi8vICAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4vLyAgIH1cbi8vIH1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4uY2FyZCB7XG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG59XG5cblxuLy9cbi8vIEJhY2tncm91bmQgdmFyaWF0aW9uc1xuLy9cblxuLmNhcmQtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnkpO1xufVxuLmNhcmQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MpO1xufVxuLmNhcmQtaW5mbyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuLmNhcmQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcpO1xufVxuLmNhcmQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1kYW5nZXIsICRicmFuZC1kYW5nZXIpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJhY2tncm91bmRzXG4uY2FyZC1vdXRsaW5lLXByaW1hcnkge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmNhcmQtb3V0bGluZS1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmNhcmQtb3V0bGluZS1pbmZvIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1pbmZvLWJnKTtcbn1cbi5jYXJkLW91dGxpbmUtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLXdhcm5pbmcge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmNhcmQtb3V0bGluZS1kYW5nZXIge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWRhbmdlci1iZyk7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuLmNhcmQtaW52ZXJzZSB7XG4gIEBpbmNsdWRlIGNhcmQtaW52ZXJzZTtcbn1cblxuLy9cbi8vIEJsb2NrcXVvdGVcbi8vXG5cbi5jYXJkLWJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nIHtcbiAgLy8gbWFyZ2luOiAtMS4zMjVyZW07XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG5cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG5cblxuLy8gQ2FyZCBzZXRcbi8vXG4vLyBIZWFkcyB1cCEgV2UgZG8gc29tZSBmdW5reSBzdHlsZSByZXNldHRpbmcgaGVyZSBmb3IgbWFyZ2lucyBhY3Jvc3Mgb3VyIHR3b1xuLy8gdmFyaWF0aW9ucyAob25lIGZsZXgsIG9uZSB0YWJsZSkuIEluZGl2aWR1YWwgY2FyZHMgaGF2ZSBtYXJnaW4tYm90dG9tIGJ5XG4vLyBkZWZhdWx0LCBidXQgdGhleSdyZSBpZ25vcmVkIGR1ZSB0byB0YWJsZSBzdHlsZXMuIEZvciBhIGNvbnNpc3RlbnQgZGVzaWduLFxuLy8gd2UndmUgZG9uZSB0aGUgc2FtZSB0byB0aGUgZmxleCB2YXJpYXRpb24uXG4vL1xuLy8gVGhvc2UgY2hhbmdlcyBhcmUgbm90ZWQgYnkgYC8vIE1hcmdpbiBiYWxhbmNpbmdgLlxuXG5AaWYgJGVuYWJsZS1mbGV4IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5jYXJkLWRlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15OyAvLyBNYXJnaW4gYmFsYW5jaW5nXG4gICAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBNYXJnaW4gYmFsYW5jaW5nXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gQGVsc2Uge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgJHNwYWNlLWJldHdlZW4tY2FyZHM6ICgyICogJGNhcmQtZGVjay1tYXJnaW4pO1xuICAgIC5jYXJkLWRlY2sge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15OyAvLyBNYXJnaW4gYmFsYW5jaW5nXG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6ICRzcGFjZS1iZXR3ZWVuLWNhcmRzIDA7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1kZWNrLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRzcGFjZS1iZXR3ZWVuLWNhcmRzKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRzcGFjZS1iZXR3ZWVuLWNhcmRzKTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jYXJkLWdyb3VwIHtcbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZFxuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1zbS11cC1jb2x1bW4tZ2FwO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVtIGV4Y2VlZCB0aGUgY29sdW1uIHdpZHRoXG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLnRhZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJHRhZy1wYWRkaW5nLXkgJHRhZy1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJHRhZy1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkdGFnLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICR0YWctY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG5cbiAgLy8gRW1wdHkgdGFncyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciB0YWdzIGluIGJ1dHRvbnNcbi5idG4gLnRhZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS50YWcge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICR0YWctbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vIFBpbGwgdGFnc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4udGFnLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkdGFnLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICR0YWctcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRhZy1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCB0YWdzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuLnRhZy1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1kZWZhdWx0LWJnKTtcbn1cblxuLnRhZy1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1wcmltYXJ5LWJnKTtcbn1cblxuLnRhZy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1zdWNjZXNzLWJnKTtcbn1cblxuLnRhZy1pbmZvIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1pbmZvLWJnKTtcbn1cblxuLnRhZy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy13YXJuaW5nLWJnKTtcbn1cblxuLnRhZy1kYW5nZXIge1xuICBAaW5jbHVkZSB0YWctdmFyaWFudCgkdGFnLWRhbmdlci1iZyk7XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRqdW1ib3Ryb24tYmcsIDEwJSk7XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZy14ICogMik7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtLjEyNXJlbTtcbiAgICByaWdodDogLSRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvL1xuLy8gUHJvZ3Jlc3MgYW5pbWF0aW9uc1xuLy9cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3BhY2VyLXkgMDsgfVxuICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vXG4vLyBCYXNpYyBwcm9ncmVzcyBiYXJcbi8vXG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc3BhY2VyLXk7IC8vIHRvZG86IG1ha2UgYSBuZXcgdmFyIGZvciB0aGlzXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbn1cbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICAvLyBTZXQgb3ZlcmFsbCBiYWNrZ3JvdW5kXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgLy8gUmVtb3ZlIEZpcmVmb3ggYW5kIE9wZXJhIGJvcmRlclxuICBib3JkZXI6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IGFwcGVhcmFuY2VcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLy8gU2V0IG92ZXJhbGwgYm9yZGVyIHJhZGl1c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gRmlsbGVkLWluIHBvcnRpb24gb2YgdGhlIGJhclxuLnByb2dyZXNzW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICAvLyBSZW1vdmUgcmlnaHQtaGFuZCBib3JkZXIgb2YgdmFsdWUgYmFyIGZyb20gSUUxMCsvRWRnZVxuICBib3JkZXI6IDA7XG59XG4ucHJvZ3Jlc3NbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cbi8vIFR3ZWFrcyBmb3IgZnVsbCBwcm9ncmVzcyBiYXJcbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBVbmZpbGxlZCBwb3J0aW9uIG9mIHRoZSBiYXJcbi5wcm9ncmVzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5iYXNlOjotbW96LXByb2dyZXNzLWJhciwgLy8gQWJzdXJkLWJ1dC1zeW50YWN0aWNhbGx5LXZhbGlkIHNlbGVjdG9yIHRvIG1ha2UgdGhlc2Ugc3R5bGVzIEZpcmVmb3gtb25seVxuLnByb2dyZXNzW3ZhbHVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4vLyBJRTkgaGFja3MgdG8gYWNjb21wYW55IGN1c3RvbSBtYXJrdXAuIFdlIGRvbid0IG5lZWQgdG8gc2NvcGUgdGhpcyB2aWEgbWVkaWEgcXVlcmllcywgYnV0IEkgZmVlbCBiZXR0ZXIgZG9pbmcgaXQgYW55d2F5LlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xuICB9XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRzcGFjZXIteTtcbiAgICB0ZXh0LWluZGVudDogLTk5OXJlbTsgLy8gU2ltdWxhdGUgaGlkaW5nIG9mIHZhbHVlIGFzIGluIG5hdGl2ZSBgPHByb2dyZXNzPmBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gU3RyaXBlZFxuLy9cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjZXIteSAkc3BhY2VyLXk7XG59XG4ucHJvZ3Jlc3Mtc3RyaXBlZFt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjZXIteSAkc3BhY2VyLXk7XG59XG4ucHJvZ3Jlc3Mtc3RyaXBlZFt2YWx1ZV06Oi1tcy1maWxsIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjZXIteSAkc3BhY2VyLXk7XG59XG4vLyBJRTlcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzcGFjZXIteSAkc3BhY2VyLXk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQW5pbWF0ZWRcbi8vXG5cbi5wcm9ncmVzcy1hbmltYXRlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5wcm9ncmVzcy1hbmltYXRlZFt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4vLyBJRTlcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAucHJvZ3Jlc3MtYW5pbWF0ZWQgLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWYXJpYXRpb25zXG4vL1xuXG4ucHJvZ3Jlc3Mtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cbi5wcm9ncmVzcy1pbmZvIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLWluZm8tYmcpO1xufVxuLnByb2dyZXNzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG4ucHJvZ3Jlc3MtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCJAaWYgJGVuYWJsZS1mbGV4IHtcbiAgLm1lZGlhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZWRpYSxcbiAgLm1lZGlhLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAwMHB4O1xuICB9XG4gIC5tZWRpYS1sZWZ0LFxuICAubWVkaWEtcmlnaHQsXG4gIC5tZWRpYS1ib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLm1lZGlhLW1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cblxuLy9cbi8vIEltYWdlcy9lbGVtZW50cyBhcyB0aGUgbWVkaWEgYW5jaG9yXG4vL1xuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWxpZ25tZW50XG4vL1xuXG4ubWVkaWEtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG4ubWVkaWEtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWEtaGVhZGluZy1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cblxuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcblxuICAgICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvLyBSZXBlYXQgaGVyZSBiZWNhdXNlIGl0IGluaGVyaXRzIGdsb2JhbCBhOmhvdmVyIG90aGVyd2lzZVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLW1hcmdpbi1ib3R0b207XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkgLyAyMSk7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoOSAvIDE2KTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDMgLyA0KTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMWJ5MSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDEgLyAxKTtcbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC4yO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQteHMtYm94LXNoYWRvdyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLmluIHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLXNtLXVwLW1hcmdpbi15IGF1dG87XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1zbS11cC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnIHsgbWF4LXdpZHRoOiAkbW9kYWwtbGc7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pbiB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAmLnRvb2x0aXAtdG9wLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtaW5uZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtcmlnaHQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtbGVmdCB7XG4gICAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtaW5uZXI6OmJlZm9yZSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi50b29sdGlwLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtaW5uZXI6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtbGVmdCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLW1hcmdpbjtcblxuICAgIC50b29sdGlwLWlubmVyOjpiZWZvcmUge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoIDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWlubmVyLXBhZGRpbmc7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cblxuICAvLyBQb3BvdmVyIGRpcmVjdGlvbnNcblxuICAmLnBvcG92ZXItdG9wLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBtYXJnaW4tdG9wOiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1ib3R0b20sXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSAxKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci10aXRsZS1iZztcbiAgICB9XG5cbiAgICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLXRpdGxlJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gICAgLnBvcG92ZXItdGl0bGU6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcG9wb3Zlci10aXRsZS1iZztcbiAgICB9XG4gIH1cblxuICAmLnBvcG92ZXItbGVmdCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgbWFyZ2luLXRvcDogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItdGl0bGUge1xuICBwYWRkaW5nOiAkcG9wb3Zlci10aXRsZS1wYWRkaW5nLXkgJHBvcG92ZXItdGl0bGUtcGFkZGluZy14O1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci10aXRsZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci10aXRsZS1iZywgNSUpO1xuICAkb2Zmc2V0LWJvcmRlci13aWR0aDogKCRib3JkZXItd2lkdGggLyAkZm9udC1zaXplLXJvb3QpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCgkYm9yZGVyLXJhZGl1cy1sZyAtICRvZmZzZXQtYm9yZGVyLXdpZHRoKSAoJGJvcmRlci1yYWRpdXMtbGcgLSAkb2Zmc2V0LWJvcmRlci13aWR0aCkgMCAwKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteSAkcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDtcbn1cblxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAucG9wb3Zlci1hcnJvdyBpcyBvdXRlciwgLnBvcG92ZXItYXJyb3c6OmFmdGVyIGlzIGlubmVyXG5cbi5wb3BvdmVyOjpiZWZvcmUsXG4ucG9wb3Zlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4ucG9wb3Zlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgIEBleHRlbmQgLmltZy1mbHVpZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYucHJldixcbiAgICAgICYuYWN0aXZlLmxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGNhcm91c2VsLWljb24td2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaWNvbi13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtKCRjYXJvdXNlbC1pY29uLXdpZHRoIC8gMik7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5pY29uLXByZXYge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSgkY2Fyb3VzZWwtaWNvbi13aWR0aCAvIDIpO1xuICB9XG4gIC5pY29uLW5leHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJvdXNlbC1pY29uLXdpZHRoIC8gMik7XG4gIH1cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMzlcIjsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwM2FcIjsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiB1bm9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3JzLXdpZHRoO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1pbmRpY2F0b3JzLXdpZHRoIC8gMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNpemU7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gSUU5IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA5IGRvZXMgbm90IHByb3Blcmx5IGhhbmRsZSBjbGlja3Mgb24gZWxlbWVudHMgd2l0aCBhIGBiYWNrZ3JvdW5kLWNvbG9yYCBvZiBgdHJhbnNwYXJlbnRgLFxuICAgIC8vIHNvIHdlIHVzZSBgcmdiYSgwLDAsMCwwKWAgaW5zdGVhZCBzaW5jZSBpdCdzIGEgbm9uLWJ1Z2d5IGVxdWl2YWxlbnQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNJbnRlcm5ldF9FeHBsb3JlclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1zaXplO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtc2l6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0cy5cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG5cbiAgLmJ0biB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IC8vIE5vIHNoYWRvdyBmb3IgYnV0dG9uIGVsZW1lbnRzIGluIGNhcm91c2VsLWNhcHRpb25cbiAgfVxufVxuXG5cbi8vXG4vLyBSZXNwb25zaXZlIHZhcmlhdGlvbnNcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuaWNvbi1wcmV2LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemU7XG4gICAgICBtYXJnaW4tdG9wOiAtKCRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemUgLyAyKTtcbiAgICAgIGZvbnQtc2l6ZTogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICB9XG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogLSgkY2Fyb3VzZWwtY29udHJvbC1zbS11cC1zaXplIC8gMik7XG4gICAgfVxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemUgLyAyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXNtLXVwLXdpZHRoKSAvIDIpO1xuICAgIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXNtLXVwLXdpZHRoKSAvIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLy8gTW92ZSB1cCB0aGUgaW5kaWNhdG9yc1xuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2NyZWVucmVhZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmlzaWJpbGl0eVwiO1xuIiwiLmFsaWduLWJhc2VsaW5lIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vL1xuXG4uYmctZmFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVzdDtcbn1cblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWludmVyc2UnLCAkYnJhbmQtaW52ZXJzZSk7XG4iLCIvL1xuLy8gQm9yZGVyLXdpZHRoXG4vL1xuXG4vLyBUQkQuLi4/XG5cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4ucm91bmRlZC10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4ucm91bmRlZC1yaWdodCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuLnJvdW5kZWQtYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuLnJvdW5kZWQtbGVmdCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCIvL1xuLy8gRGlzcGxheSB1dGlsaXRpZXNcbi8vXG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5kLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuLmQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGlmICRlbmFibGUtZmxleCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gRmxleCBjb2x1bW4gcmVvcmRlcmluZ1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS1sYXN0IHsgb3JkZXI6IDE7IH1cbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LXVub3JkZXJlZCB7IG9yZGVyOiAwOyB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ25tZW50IGZvciBldmVyeSBpdGVtXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tdG9wIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIH1cblxuICAgIC8vIEFsaWdubWVudCBwZXIgaXRlbVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LXRvcCAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tbWlkZGxlIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIH1cblxuICAgIC8vIEhvcml6b250YWwgYWxpZ25tZW50IG9mIGl0ZW1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1sZWZ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tcmlnaHQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIH1cbiAgfVxufVxuIiwiQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC5mbG9hdC0jeyRicmVha3BvaW50fS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGZsb2F0LWxlZnQoKTtcbiAgICB9XG4gICAgLmZsb2F0LSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGZsb2F0LXJpZ2h0KCk7XG4gICAgfVxuICAgIC5mbG9hdC0jeyRicmVha3BvaW50fS1ub25lIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbi53LTEwMCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5oLTEwMCB7IGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogIGF1dG8gIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aHMgaW4gJHNwYWNlcnMge1xuICAgICRsZW5ndGgteDogICBtYXAtZ2V0KCRsZW5ndGhzLCB4KTtcbiAgICAkbGVuZ3RoLXk6ICAgbWFwLWdldCgkbGVuZ3RocywgeSk7XG5cbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aC15ICRsZW5ndGgteCAhaW1wb3J0YW50OyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAuI3skYWJicmV2fXQtI3skc2l6ZX0geyAjeyRwcm9wfS10b3A6ICAgICRsZW5ndGgteSAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn1yLSN7JHNpemV9IHsgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9Yi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fWwtI3skc2l6ZX0geyAjeyRwcm9wfS1sZWZ0OiAgICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBBeGVzXG4gICAgLiN7JGFiYnJldn14LSN7JHNpemV9IHtcbiAgICAgICN7JHByb3B9LXJpZ2h0OiAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgICAjeyRwcm9wfS1sZWZ0OiAgICRsZW5ndGgteCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuI3skYWJicmV2fXktI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uaW5nXG5cbi5wb3MtZi10IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSAgICAgICB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dC0jeyRicmVha3BvaW50fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1tdXRlZCcsICR0ZXh0LW11dGVkKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXN1Y2Nlc3MnLCAkYnJhbmQtc3VjY2Vzcyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJGJyYW5kLXdhcm5pbmcpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWRhbmdlcicsICRicmFuZC1kYW5nZXIpO1xuXG4vLyBGb250IGNvbG9yXG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZ3JheS1kYXJrJywgJGdyYXktZGFyayk7XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgpO1xufVxuIiwiLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSB1dGlsaXRpZXNcblxuQGVhY2ggJGJwIGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC5oaWRkZW4tI3skYnB9LXVwIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuaGlkZGVuLSN7JGJwfS1kb3duIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQG1peGluIGNlbnRlcmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn0iLCJAbWl4aW4gdHJhbnNmb3JtKCRhcmdzLi4uKSB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiAkYXJncztcbiAgXHQtbW96LXRyYW5zZm9ybTogJGFyZ3M7XG4gIFx0LW1zLXRyYW5zZm9ybTogJGFyZ3M7XG4gIFx0LW8tdHJhbnNmb3JtOiAkYXJncztcbiAgXHR0cmFuc2Zvcm06ICRhcmdzO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXJncy4uLikge1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRhcmdzO1xuICBcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJGFyZ3M7XG4gIFx0LW1zLXRyYW5zZm9ybS1vcmlnaW46ICRhcmdzO1xuICBcdC1vLXRyYW5zZm9ybS1vcmlnaW46ICRhcmdzO1xuICBcdHRyYW5zZm9ybS1vcmlnaW46ICRhcmdzO1xufSIsIkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XG4gIFx0LW1vei10cmFuc2l0aW9uOiAkYXJncztcbiAgXHQtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XG4gIFx0LW8tdHJhbnNpdGlvbjogJGFyZ3M7XG4gIFx0dHJhbnNpdGlvbjogJGFyZ3M7XG59IiwiZ2lzLWhvdGVsLWluZm8ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpdi5ob3RlbF9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGU5MzIwO1xuICAgIC8vIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgIHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gIH1cblxuICBkaXYuaG90ZWxfX2luZm8ge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC5mbGV4c2xpZGVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdWwge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAmLndlYXRoZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm5vdCgud2VhdGhlcikge1xuICAgICAgICAgICAgZGl2LmZyYXNlc19fYm9keSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYmdfZnJhc2VzX25ldy5qcGcnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBkaXYub3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcbiAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggIzAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnRpbWV0YWJsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyYjU3O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYudGltZWxpbmVfX2JvZHkge1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAgIGRpdi50aW1lbGluZV9fYm9keV9faXRlbSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHJlbSAxcmVtO1xuICAgICAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQxN2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaXYudGltZWxpbmVfX2JvZHksXG4gICAgICAgICAgZGl2LmZyYXNlc19fYm9keSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtaW1hZ2UgMC4xcyBsaW5lYXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWltYWdlIDAuMXMgbGluZWFyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogIzAwNDE3ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiZ2lzLW1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpdi5tYWluX19zbGlkZXIge1xuICAgIC8vIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogNjc1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICA+IGRpdiB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC52aWRlb092ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgICAgaWZyYW1lOm5vdCgubXkteW91dHViZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgdmlkZW8ge1xuICAgICAgICAvLyBmbGV4OiAxO1xuICAgICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gdG9wOiAtMjE1cHg7XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmlmcmFtZTpub3QoLm15LXlvdXR1YmUpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm15LXlvdXR1YmUge1xuICBoZWlnaHQ6IDY3NXB4ICFpbXBvcnRhbnQ7XG59XG4iLCJnaXMtcGFydG5lcnMge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXYucGFydG5lcnNfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMmI1NztcbiAgICBwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG9yYW5nZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIGRpdi5wYXJ0bmVyc19fc2xpZGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgPiBkaXYge1xuICAgICAgZmxleDogMTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAwLjFzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtaW1hZ2UgMC4xcyBsaW5lYXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsImdpcy10aW1lbGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJiNTc7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGRzLXdpZGdldC1jbG9jayB7XG4gICAgd2lkdGg6IDMwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcblxuICAgIC5kaWdpdGFsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnRpbWUge1xuICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuYWxvZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgICAgcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICAubWlub3Ige1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICBzdHJva2U6ICNmZmY7XG4gICAgICAgICAgc3Ryb2tlLXdpZHRoOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvY2stZmFjZSB7XG4gICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgc3Ryb2tlOiAjZmZmO1xuICAgICAgICAgIHN0cm9rZS13aWR0aDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pbnV0ZSxcbiAgICAgICAgLmhvdXIge1xuICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgc3Ryb2tlOiAjZmZmO1xuICAgICAgICAgIHN0cm9rZS13aWR0aDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY29uZCxcbiAgICAgICAgLnNlY29uZC1jb3VudGVyd2VpZ2h0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGl2LnRpbWVsaW5lX19oZWFkZXIge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXg6IDAgOTVweDsgLy8gbWFyZ2luOiAycmVtIGF1dG8gMHJlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbSAwIDFyZW07XG5cbiAgICBoMyxcbiAgICBoNSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAubG93ZXItY2FzZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIGltZyB7fVxuXG4gICAgZGl2LnJlbG9qIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGl2LnRpbWVsaW5lX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZmxleHNsaWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyYjU3O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC5zbGlkZXMge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgIGRpdi50aW1lbGluZV9fYm9keSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgZGl2LnRpbWVsaW5lX19ib2R5X19pdGVtIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBmbGV4OiAxIGF1dG87XG5cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDE3ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuZnV0dXJlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI1YjViO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5pdGVtX19kYXlfX2hlYWRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyNDQxN2Q7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuM3JlbSAwLjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBkaXYuaXRlbV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBmbGV4OiAyIGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAgMXJlbTtcblxuICAgICAgICAgICAgICAgICAgZGl2Lm5leHREYXkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMC4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2YwODIwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07IC8vIGJhY2tncm91bmQtY29sb3I6ICNmMDgyMDA7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA4MjAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZjA4MjAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggIzAwMDAwMDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb2xvciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgLy8gcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjg2MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODYwMDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDByZW0gMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC50aW1lbGluZV9fYm9keV9vdmVybGF5IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAxLjUlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNS42cmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mbGV4LWNvbnRyb2wtbmF2LFxuICAuZmxleC1kaXJlY3Rpb24tbmF2LFxuICAuc2xpZGVzLFxuICAuc2xpZGVzPmxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCJ3ZGstd2VhdGhlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXg6IDE7XG5cdGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYmdfbWV0ZW8ucG5nJyk7IFxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDk5JTtcblxuXHRkaXYubGVmdCwgZGl2LnJpZ2h0IHtcblx0XHQqIHtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdFx0ZmxleDogMTtcblx0XHRwYWRkaW5nOiAwIDFyZW07XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRkaXYuY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHRyYW5zcGFyZW50LCByZ2JhKDAsMCwwLDAuMykpOyAvKiBGb3IgU2FmYXJpIDUuMSB0byA2LjAgKi9cblx0XHQgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgdHJhbnNwYXJlbnQsIHJnYmEoMCwwLDAsMC4zKSk7IC8qIEZvciBPcGVyYSAxMS4xIHRvIDEyLjAgKi9cblx0XHQgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCB0cmFuc3BhcmVudCwgcmdiYSgwLDAsMCwwLjMpKTsgLyogRm9yIEZpcmVmb3ggMy42IHRvIDE1ICovXG5cdFx0ICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCByZ2JhKDAsMCwwLDAuMykpOyAvKiBTdGFuZGFyZCBzeW50YXggKG11c3QgYmUgbGFzdCkgKi9cblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuXHRcdH1cblx0fVxuXG5cdGRpdi5sZWZ0IHtcblx0XHRcblx0XHQuY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0ZmxleDogMCA0MCU7XG5cdFx0aDMge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdH1cblx0XHRkaXYuZmVjaGEge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGRpdiB7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGkge1xuXHRcdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IC0ycmVtO1xuXHRcdFx0XHRyaWdodDogLTAuNXJlbTtcblxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGRpdi5ncmFkb3Mge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAzLjVyZW07XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRkaXYubG9jYWxpemFjaW9uIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0ZGl2LmNsaW1hIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0ZGl2Lmh1bWVkYWQge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAwLjlyZW07XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XG5cdFx0fVxuXHR9XG5cblx0ZGl2LnJpZ2h0IHtcdFx0XG5cdFx0ZmxleDogMCA2MCU7XG5cdFx0aDMge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XG5cdFx0fVxuXG5cdFx0ZGl2LmNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMC43NXJlbTtcblx0XHR9XG5cblx0XHR0YWJsZSB7XG5cdFx0XHR0ciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAuM3JlbSAwO1xuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnRlbXBlcmF0dXJhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRcdFx0XHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDAuNXJlbTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjVyZW07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0b3A6IDAuMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIueW91dHViZUhlaWdodCB7XG5cdG1pbi1oZWlnaHQ6IDY3NXB4ICFpbXBvcnRhbnQ7XG59XG4ub3ZlcmxheSB7XG5cdFxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwxKTtcblx0ei1pbmRleDogOTk5O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAlO1xuXHRpbWcsIHNwYW4ge1xuXHRcdC8vZGlzcGxheTogYmxvY2s7XG4gICAgXHRtYXJnaW4tbGVmdDogYXV0bztcbiAgICBcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcdHRvcDogNTB2aDtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRvcDogNDh2aDtcblx0fVxuXG5cdHZpZGVvIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHR9XG5cblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG5cdCYuYWN0aXZlIHtcblx0XHQvLyB6LWluZGV4OiA5OTk5O1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0Ly8gei1pbmRleDogLTE7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4uZnVsbC1zY3JlZW4ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdC8vIHdpZHRoOiAxMjIwcHggIWltcG9ydGFudDtcblx0Ly8gaGVpZ2h0OiA2NjVweCAhaW1wb3J0YW50O1xuXHR6LWluZGV4OiA5OTg7XG59XG4udmVydGljYWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpdi5oZWFkZXItdmlkZW8sIGRpdi5mb290ZXItdmlkZW8ge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogOTk5O1xuXHR9XG5cblx0ZGl2LmhlYWRlci12aWRlbyB7XG5cdFx0dG9wOiAwO1xuXHRcdGhlaWdodDogMjV2aDtcblx0XHR3aWR0aDogMTAwdnc7XG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogNDAlO1xuXHRcdH1cblx0XHRoNSB7XG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXG5cdFx0ZGl2LnJlbG9qIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMS41cmVtO1xuXHRcdFx0cmlnaHQ6IDFyZW07XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjNyZW07XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRmbGV4OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cdFx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdFx0aGVpZ2h0OiAyNnB4O1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG5cblx0ZGl2LmZvb3Rlci12aWRlbyB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogMjV2aDtcblx0XHR3aWR0aDogODB2dztcblx0XHRtYXJnaW46IDEwdnc7XG5cdFx0aDMsIGg1IHtcblx0XHRcdGNvbG9yOiAjMTg0MTk2O1xuXHRcdH1cblx0XHRoMyB7XG5cdFx0XHRmb250LXNpemU6IDNyZW07XG5cdFx0XHR0ZXh0LXNoYWRvdzogMXB4IDBweCAxcHggIzE4NDE5Njtcblx0XHRcdG1hcmdpbi10b3A6IDIwdnc7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoNSB7XG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXG5cdFx0ZGl2LnJlbG9qIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMS41cmVtO1xuXHRcdFx0bGVmdDogMTByZW07XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjNyZW07XG5cdFx0XHR9XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRmbGV4OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cdFx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHRcdFx0aGVpZ2h0OiAyNnB4O1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG5cdC8vIGltZywgaDMge1xuXHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ly8gXHRjb2xvcjogd2hpdGU7XG5cdC8vIFx0ei1pbmRleDogOTk5OTtcblx0Ly8gXHR3aWR0aDogMTAwdnc7XG5cdC8vIFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQvLyB9XG5cdC8vIGltZyB7XG5cdC8vIFx0d2lkdGg6IDIwdnc7XG5cdC8vIFx0bWFyZ2luLWxlZnQ6IDI1JTtcblx0Ly8gXHQvLyBmb250LXNpemU6IDEuMnJlbTtcblx0Ly8gfVxuXG5cdC8vIGgzIHtcblx0Ly8gXHRib3R0b206IDI0dmg7XG5cdC8vIFx0Zm9udC1zaXplOiAxcmVtO1xuXHQvLyB9XG5cdHZpZGVvIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG5cdH1cbn1cbi5TaXRle1xuXHRtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0em9vbTogMC45Mjtcbn0iLCIud3JhcHBlci1wYWdlIHtcblx0bWF4LXdpZHRoOiAzMjBweDtcblx0bWFyZ2luLXRvcDogMTV2aDtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG5cdFx0bWFyZ2luLXRvcDogMHZoO1xuXHR9XG5cblx0LmFjY291bnQtYmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0LmNhcmQtYm94IHtcblx0XHRcdGJvcmRlcjogMDsgXG5cdFx0fVxuXHRcdGxlZ2VuZCB7XG5cdFx0XHRAZXh0ZW5kIC50ZXh0LXhzLWNlbnRlcjtcblx0XHRcdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXHRcdC5zbWFsbC1saW5lIHtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0YmFja2dyb3VuZDogI2U2Yjc3ODtcblx0XHRcdGhlaWdodDogM3B4O1xuXHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0Zm9vdGVyIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogbGlnaHRibHVlO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsImdpcy10aW1lbGluZS5jaHJpc3RtYXN7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvYmctdGltZWxpbmUteG1hcy5qcGcnKTtcbiAgICBoMywgaDV7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBkaXYudGltZWxpbmVfX2hlYWRlcntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogMC41NSkhaW1wb3J0YW50O1xuICAgICAgICAmPmg1e1xuICAgICAgICAgICAgY29sb3I6ICNkZTkzMjAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdi50aW1lbGluZV9fY29udGFpbmVye1xuICAgICAgICAuZmxleHNsaWRlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGl2LnRpbWVsaW5lX19ib2R5X19pdGVtIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogIzAwMDAwMCwgJGFscGhhOiAwLjU1KSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50aW1lIHNwYW57XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ub3cudGltZXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzljMWExYSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3Nub3ctbGF5ZXIucG5nJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwibWFpbi5jaHJpc3RtYXMgLm1haW4tdXB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI2OHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL3htYXMtZGVjb3JhdGlvbi5wbmcnKTtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxufSIsIndkay13ZWF0aGVyLmNocmlzdG1hc3tcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2JnX21ldGVvLXhtYXMucG5nJykhaW1wb3J0YW50OyBcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFFQUE7Ozs7O0dBS0c7QWtDTEgsNEVBQTRFO0FBUTVFLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFDdkIsV0FBVyxFQUFFLElBQUk7RUFDakIsb0JBQW9CLEVBQUUsSUFBSTtFQUMxQix3QkFBd0IsRUFBRSxJQUFJLEdBQy9COztBQU1ELEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFXRCxBQUFBLE9BQU87QUFDUCxLQUFLO0FBQ0wsT0FBTztBQUNQLFVBQVU7QUFDVixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixJQUFJO0FBQ0osSUFBSTtBQUNKLEdBQUc7QUFDSCxPQUFPO0FBQ1AsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFNRCxBQUFBLEtBQUs7QUFDTCxNQUFNO0FBQ04sUUFBUTtBQUNSLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFZLEdBQ3RCOztBQU1ELEFBQUEsS0FBSyxBQUFBLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxHQUFXO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFNRCxBQUFBLFFBQVEsQ0FBQztFQUNQLGNBQWMsRUFBRSxRQUFRLEdBQ3pCOztBQU9ELEFBQUEsUUFBUTtDQUNSLEFBQUEsTUFBQyxBQUFBLEVBQVE7RUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQVVELEFBQUEsQ0FBQyxDQUFDO0VBQ0EsZ0JBQWdCLEVBQUUsV0FBVztFQUM3Qiw0QkFBNEIsRUFBRSxPQUFPLEdBQ3RDOztBQU9ELEFBQUEsQ0FBQyxBQUFBLE9BQU87QUFDUixDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ04sYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBVUQsQUFBQSxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTztFQUNWLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGVBQWUsRUFBRSxTQUFTO0VBQzFCLGVBQWUsRUFBRSxnQkFBZ0IsR0FDbEM7O0FBTUQsQUFBQSxDQUFDO0FBQ0QsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBSEQsQUFBQSxDQUFDO0FBQ0QsTUFBTSxDQVNDO0VBQ0wsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBTUQsQUFBQSxHQUFHLENBQUM7RUFDRixVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFPRCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBTUQsQUFBQSxJQUFJLENBQUM7RUFDSCxnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBTUQsQUFBQSxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBRyxHQUNmOztBQU9ELEFBQUEsR0FBRztBQUNILEdBQUcsQ0FBQztFQUNGLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixjQUFjLEVBQUUsUUFBUSxHQUN6Qjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBQ0YsR0FBRyxFQUFFLE1BQU0sR0FDWjs7QUFTRCxBQUFBLEdBQUcsQ0FBQztFQUNGLFlBQVksRUFBRSxJQUFJLEdBQ25COztBQU1ELEFBQUEsR0FBRyxBQUFBLElBQUssQ0FBQSxLQUFLLEVBQUU7RUFDYixRQUFRLEVBQUUsTUFBTSxHQUNqQjs7QUFVRCxBQUFBLElBQUk7QUFDSixHQUFHO0FBQ0gsR0FBRztBQUNILElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsU0FBUyxFQUFFLEdBQUcsR0FDZjs7QUFNRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQU9ELEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFVRCxBQUFBLE1BQU07QUFDTixLQUFLO0FBQ0wsUUFBUTtBQUNSLE1BQU07QUFDTixRQUFRLENBQUM7RUFDUCxJQUFJLEVBQUUsT0FBTztFQUNiLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBTUQsQUFBQSxRQUFRLENBQUM7RUFDUCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFPRCxBQUFBLE1BQU07QUFDTixLQUFLLENBQUM7RUFDSixRQUFRLEVBQUUsT0FBTyxHQUNsQjs7QUFPRCxBQUFBLE1BQU07QUFDTixNQUFNLENBQUM7RUFDTCxjQUFjLEVBQUUsSUFBSSxHQUNyQjs7QUFRRCxBQUFBLE1BQU07QUFDTixJQUFJLEVBQUMsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0NBQ04sQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO0NBQ0QsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDZCxrQkFBa0IsRUFBRSxNQUFNLEdBQzNCOztBQU1ELEFBQUEsTUFBTSxBQUFBLGtCQUFrQjtDQUN4QixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxrQkFBa0I7Q0FDakMsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLENBQWEsa0JBQWtCO0NBQ2hDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLGtCQUFrQixDQUFDO0VBQ2hDLFlBQVksRUFBRSxJQUFJO0VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBTUQsQUFBQSxNQUFNLEFBQUEsZUFBZTtDQUNyQixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxlQUFlO0NBQzlCLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQUFhLGVBQWU7Q0FDN0IsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsZUFBZSxDQUFDO0VBQzdCLE9BQU8sRUFBRSxxQkFBcUIsR0FDL0I7O0FBTUQsQUFBQSxRQUFRLENBQUM7RUFDUCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLHFCQUFxQixHQUMvQjs7QUFTRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBTUQsQUFBQSxRQUFRLENBQUM7RUFDUCxRQUFRLEVBQUUsSUFBSSxHQUNmOztDQU9ELEFBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmO0NBQ0QsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7RUFDYixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUNYOztDQU1ELEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCO0NBQzFDLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQ3pDLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0NBT0QsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNkLGtCQUFrQixFQUFFLFNBQVM7RUFDN0IsY0FBYyxFQUFFLElBQUksR0FDckI7O0NBTUQsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyw4QkFBOEI7Q0FDN0MsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFDekMsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFNRCxBQUFBLDJCQUEyQixDQUFDO0VBQzFCLEtBQUssRUFBRSxPQUFPO0VBQ2QsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFPRCxBQUFBLDRCQUE0QixDQUFDO0VBQzNCLGtCQUFrQixFQUFFLE1BQU07RUFDMUIsSUFBSSxFQUFFLE9BQU8sR0FDZDs7QUMxWkMsTUFBTSxDQUFDLEtBQUs7RUFDVixBQUFBLENBQUM7RUFDRCxDQUFDLEFBQUEsUUFBUTtFQUNULENBQUMsQUFBQSxPQUFPO0VBQ1IsQ0FBQyxBQUFBLGNBQWM7RUFDZixDQUFDLEFBQUEsWUFBWTtFQUNiLEdBQUcsQUFBQSxZQUFZO0VBQ2YsVUFBVSxBQUFBLFlBQVk7RUFDdEIsRUFBRSxBQUFBLFlBQVksQ0FBQztJQUliLFdBQVcsRUFBRSxlQUFlO0lBRTVCLFVBQVUsRUFBRSxlQUFlLEdBQzVCO0VBRUQsQUFBQSxDQUFDO0VBQ0QsQ0FBQyxBQUFBLFFBQVEsQ0FBQztJQUNSLGVBQWUsRUFBRSxTQUFTLEdBQzNCO0VBT0QsQUFBQSxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxPQUFPLENBQUM7SUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUM5QjtFQWFELEFBQUEsR0FBRyxDQUFDO0lBQ0YsV0FBVyxFQUFFLG1CQUFtQixHQUNqQztFQUNELEFBQUEsR0FBRztFQUNILFVBQVUsQ0FBQztJQUNULE1BQU0sRWpDeUNHLEdBQUcsQ2lDekNVLEtBQUssQ0FBQyxJQUFJO0lBQ2hDLGlCQUFpQixFQUFFLEtBQUssR0FDekI7RUFPRCxBQUFBLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxrQkFBa0IsR0FDNUI7RUFFRCxBQUFBLEVBQUU7RUFDRixHQUFHLENBQUM7SUFDRixpQkFBaUIsRUFBRSxLQUFLLEdBQ3pCO0VBRUQsQUFBQSxDQUFDO0VBQ0QsRUFBRTtFQUNGLEVBQUUsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsR0FDVjtFQUVELEFBQUEsRUFBRTtFQUNGLEVBQUUsQ0FBQztJQUNELGdCQUFnQixFQUFFLEtBQUssR0FDeEI7RUFLRCxBQUFBLE9BQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7RUFDRCxBQUVFLElBRkUsR0FFQSxNQUFNO0VBRFYsT0FBTyxHQUFHLElBQUksR0FDVixNQUFNLENBQUM7SUFDUCxnQkFBZ0IsRUFBRSxlQUFlLEdBQ2xDO0VBRUgsQUFBQSxJQUFJLENBQUM7SUFDSCxNQUFNLEVqQ0ZHLEdBQUcsQ2lDRVUsS0FBSyxDQUFDLElBQUksR0FDakM7RUFFRCxBQUFBLE1BQU0sQ0FBQztJQUNMLGVBQWUsRUFBRSxtQkFBbUIsR0FNckM7SUFQRCxBQUdFLE1BSEksQ0FHSixFQUFFO0lBSEosTUFBTSxDQUlKLEVBQUUsQ0FBQztNQUNELGdCQUFnQixFQUFFLGVBQWUsR0FDbEM7RUFFSCxBQUNFLGVBRGEsQ0FDYixFQUFFO0VBREosZUFBZSxDQUViLEVBQUUsQ0FBQztJQUNELE1BQU0sRUFBRSx5QkFBeUIsR0FDbEM7O0FENUdQLEFBQUEsSUFBSSxDRWFDO0VBQ0gsVUFBVSxFQUFFLFVBQVUsR0FDdkI7O0FBRUQsQUFBQSxDQUFDO0FBQ0QsQ0FBQyxBQUFBLFFBQVE7QUFDVCxDQUFDLEFBQUEsT0FBTyxDQUFDO0VBQ1AsVUFBVSxFQUFFLE9BQU8sR0FDcEI7O0FBbUJDLGFBQWE7RUFBRyxLQUFLLEVBQUUsWUFBWTs7QUZ4Q3JDLEFBQUEsSUFBSSxDRWdEQztFQUVILFNBQVMsRWxDa0hNLElBQUk7RWtDM0duQixrQkFBa0IsRUFBRSxTQUFTO0VBRTdCLDJCQUEyQixFQUFFLGdCQUFhLEdBQzNDOztBRmpERCxBQUFBLElBQUksQ0VtREM7RUFFSCxXQUFXLEVsQzhGWSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsVUFBVTtFa0M3RmpILFNBQVMsRWxDcUdNLElBQUk7RWtDcEduQixXQUFXLEVsQ3lHTSxHQUFHO0VrQ3ZHcEIsS0FBSyxFbENoQ3FCLE9BQU87RWtDa0NqQyxnQkFBZ0IsRWxDNEJMLElBQUksR2tDM0JoQjs7Q0FPRCxBQUFBLEFBQUEsUUFBQyxDQUFTLElBQUksQUFBYixDQUFjLE1BQU0sQ0FBQztFQUNwQixPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUFXRCxBQUFBLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ3JCLFVBQVUsRUFBRSxDQUFDO0VBQ2IsYUFBYSxFQUFFLEtBQUssR0FDckI7O0FBTUQsQUFBQSxDQUFDLENBQUM7RUFDQSxVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdELEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxBQUFBO0FBRUwsSUFBSSxDQUFBLEFBQUEsbUJBQUMsQUFBQSxFQUFxQjtFQUN4QixNQUFNLEVBQUUsSUFBSTtFQUNaLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDbEN4RUMsT0FBTyxHa0N5RWxDOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBRUQsQUFBQSxFQUFFO0FBQ0YsRUFBRTtBQUNGLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxDQUFDO0VBQ2IsYUFBYSxFQUFFLElBQUksR0FDcEI7O0FBRUQsQUFBQSxFQUFFLENBQUMsRUFBRTtBQUNMLEVBQUUsQ0FBQyxFQUFFO0FBQ0wsRUFBRSxDQUFDLEVBQUU7QUFDTCxFQUFFLENBQUMsRUFBRSxDQUFDO0VBQ0osYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxXQUFXLEVsQ2lGSSxJQUFJLEdrQ2hGcEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsS0FBSztFQUNwQixXQUFXLEVBQUUsQ0FBQyxHQUNmOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FGM0RELEFBQUEsQ0FBQyxDRWtFQztFQUNBLEtBQUssRWxDOUdxQixPQUFPO0VrQytHakMsZUFBZSxFbEM5Q08sSUFBSSxHa0N3RDNCO0VBWkQsQS9CM0lJLEMrQjJJSCxBL0IzSUksTUFBTSxFK0IySVgsQ0FBQyxBL0IxSUksTUFBTSxDQUFDO0krQitJUixLQUFLLEVsQ2hEZSxPQUF3QjtJa0NpRDVDLGVBQWUsRWxDaERLLFNBQVMsR0c5RjVCO0UrQndJTCxBQVNFLENBVEQsQUFTRSxNQUFNLENBQUM7SXhCbEtSLE9BQU8sRUFBRSxpQ0FBaUM7SUFDMUMsY0FBYyxFQUFFLElBQUksR3dCbUtuQjs7QUFTSCxBQUFBLENBQUMsQUFBQSxJQUFLLEVBQUEsQUFBQSxJQUFDLEFBQUEsRUFBTSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsR0FBVztFQUM1QixLQUFLLEVBQUUsT0FBTztFQUNkLGVBQWUsRUFBRSxJQUFJLEdBVXRCO0VBWkQsQS9CL0pJLEMrQitKSCxBQUFBLElBQUssRUFBQSxBQUFBLElBQUMsQUFBQSxFQUFNLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxFL0IvSmQsTUFBTSxFK0IrSlgsQ0FBQyxBQUFBLElBQUssRUFBQSxBQUFBLElBQUMsQUFBQSxFQUFNLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxFL0I5SmQsTUFBTSxDQUFDO0krQm1LUixLQUFLLEVBQUUsT0FBTztJQUNkLGVBQWUsRUFBRSxJQUFJLEcvQmxLcEI7RStCNEpMLEFBU0UsQ0FURCxBQUFBLElBQUssRUFBQSxBQUFBLElBQUMsQUFBQSxFQUFNLElBQUssRUFBQSxBQUFBLFFBQUMsQUFBQSxFQVNoQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSSxHQUNkOztBRHpJQyxBQUFBLEdBQUcsQ0NpSkg7RUFFRixVQUFVLEVBQUUsQ0FBQztFQUViLGFBQWEsRUFBRSxJQUFJO0VBRW5CLFFBQVEsRUFBRSxJQUFJLEdBQ2Y7O0FGOEJELEFBQUEsTUFBTSxDRXZCQztFQUdMLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBRmJELEFBQUEsR0FBRyxDRW9CQztFQUdGLGNBQWMsRUFBRSxNQUFNLEdBR3ZCOztDQVNELEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFDZCxNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFhRCxBQUFBLENBQUM7QUFDRCxJQUFJO0FBQ0osTUFBTTtDQUNOLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtBQUNELEtBQUs7QUFDTCxLQUFLO0FBQ0wsTUFBTTtBQUNOLE9BQU87QUFDUCxRQUFRLENBQUM7RUFDUCxZQUFZLEVBQUUsWUFBWSxHQUMzQjs7QUFPRCxBQUFBLEtBQUssQ0FBQztFQUVKLGVBQWUsRUFBRSxRQUFRO0VBRXpCLGdCQUFnQixFbENsQmMsV0FBVyxHa0NtQjFDOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ04sV0FBVyxFbEN6Qm1CLE9BQU07RWtDMEJwQyxjQUFjLEVsQzFCZ0IsT0FBTTtFa0MyQnBDLEtBQUssRWxDMU9xQixPQUFPO0VrQzJPakMsVUFBVSxFQUFFLElBQUk7RUFDaEIsWUFBWSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFFRCxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFPRCxBQUFBLEtBQUssQ0FBQztFQUVKLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRUFBRSxLQUFLLEdBQ3JCOztBQU1ELEFBQUEsTUFBTSxBQUFBLE1BQU0sQ0FBQztFQUNYLE9BQU8sRUFBRSxVQUFVO0VBQ25CLE9BQU8sRUFBRSxpQ0FBaUMsR0FDM0M7O0FBRUQsQUFBQSxLQUFLO0FBQ0wsTUFBTTtBQUNOLE1BQU07QUFDTixRQUFRLENBQUM7RUFHUCxXQUFXLEVBQUUsT0FBTyxHQUNyQjs7QUFFRCxBQUtFLEtBTEcsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FLSCxTQUFTO0FBSlosS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQUlILFNBQVMsQ0FBQztFQUNULE1BQU0sRWxDZ0N1QixXQUFXLEdrQy9CekM7O0FBSUgsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO0FBQ04sS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtBQUNOLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxnQkFBZ0IsQUFBckI7QUFDTixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWM7RUFNbEIsa0JBQWtCLEVBQUUsT0FBTyxHQUM1Qjs7QUZxQkQsQUFBQSxRQUFRLENFbkJDO0VBRVAsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FGVkQsQUFBQSxRQUFRLENFWUM7RUFJUCxTQUFTLEVBQUUsQ0FBQztFQUVaLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBRlJELEFBQUEsTUFBTSxDRVVDO0VBRUwsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEtBQUs7RUFDcEIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBRUQsQUFBQSxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFLbkIsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFHRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxZQUFZLEdBSXRCOztDQUdELEFBQUEsQUFBQSxNQUFDLEFBQUEsRUFBUTtFQUNQLE9BQU8sRUFBRSxlQUFlLEdBQ3pCOztBQy9YRCxBQUFBLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUN0QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztFQUMzQixhQUFhLEVuQ2dNVSxNQUFhO0VtQy9McEMsV0FBVyxFbkNnTVksT0FBTztFbUMvTDlCLFdBQVcsRW5DZ01ZLEdBQUc7RW1DL0wxQixXQUFXLEVuQ2dNWSxHQUFHO0VtQy9MMUIsS0FBSyxFbkNnTWtCLE9BQU8sR21DL0wvQjs7QUFFRCxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQUM7RUFBRSxTQUFTLEVuQ3dLSixNQUFNLEdtQ3hLaUI7O0FBQ3RDLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFQUFFLFNBQVMsRW5Dd0tKLElBQUksR21DeEttQjs7QUFDdEMsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFDO0VBQUUsU0FBUyxFbkN3S0osT0FBTyxHbUN4S2dCOztBQUN0QyxBQUFBLEVBQUUsRUFBRSxHQUFHLENBQUM7RUFBRSxTQUFTLEVuQ3dLSixNQUFNLEdtQ3hLaUI7O0FBQ3RDLEFBQUEsRUFBRSxFQUFFLEdBQUcsQ0FBQztFQUFFLFNBQVMsRW5Dd0tKLE9BQU8sR21DeEtnQjs7QUFDdEMsQUFBQSxFQUFFLEVBQUUsR0FBRyxDQUFDO0VBQUUsU0FBUyxFbkN3S0osSUFBSSxHbUN4S21COztBQUV0QyxBQUFBLEtBQUssQ0FBQztFQUNKLFNBQVMsRW5DdUxRLE9BQU87RW1DdEx4QixXQUFXLEVuQ3VMTSxHQUFHLEdtQ3RMckI7O0FBR0QsQUFBQSxVQUFVLENBQUM7RUFDVCxTQUFTLEVuQ2lLSyxJQUFJO0VtQ2hLbEIsV0FBVyxFbkNxS0ssR0FBRyxHbUNwS3BCOztBQUNELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFbkM4SkssTUFBTTtFbUM3SnBCLFdBQVcsRW5Da0tLLEdBQUcsR21DaktwQjs7QUFDRCxBQUFBLFVBQVUsQ0FBQztFQUNULFNBQVMsRW5DMkpLLE1BQU07RW1DMUpwQixXQUFXLEVuQytKSyxHQUFHLEdtQzlKcEI7O0FBQ0QsQUFBQSxVQUFVLENBQUM7RUFDVCxTQUFTLEVuQ3dKSyxNQUFNO0VtQ3ZKcEIsV0FBVyxFbkM0SkssR0FBRyxHbUMzSnBCOztBSDJNRCxBQUFBLEVBQUUsQ0dwTUM7RUFDRCxVQUFVLEVuQzZCRCxJQUFJO0VtQzVCYixhQUFhLEVuQzRCSixJQUFJO0VtQzNCYixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRW5DK0NHLEdBQUcsQ21DL0NhLEtBQUssQ25Dc0tsQixrQkFBYyxHbUNySy9COztBQU9ELEFBQUEsS0FBSztBQUNMLE1BQU0sQ0FBQztFQUNMLFNBQVMsRW5DaUpPLEdBQUc7RW1DaEpuQixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRCxBQUFBLElBQUk7QUFDSixLQUFLLENBQUM7RUFDSixPQUFPLEVuQ3lKTSxLQUFJO0VtQ3hKakIsZ0JBQWdCLEVuQzhnQmUsT0FBTyxHbUM3Z0J2Qzs7QUFPRCxBQUFBLGNBQWMsQ0FBQztFaEJ6RWIsWUFBWSxFQUFFLENBQUM7RUFDZixVQUFVLEVBQUUsSUFBSSxHZ0IwRWpCOztBQUdELEFBQUEsWUFBWSxDQUFDO0VoQjlFWCxZQUFZLEVBQUUsQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFJLEdnQitFakI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsWUFBWSxHQUt0QjtFQU5ELEFBR0UsaUJBSGUsQUFHZCxJQUFLLENBQUEsV0FBVyxFQUFFO0lBQ2pCLFlBQVksRW5DMklNLEdBQUcsR21DMUl0Qjs7QUFTSCxBQUFBLFdBQVcsQ0FBQztFQUNWLFNBQVMsRUFBRSxHQUFHO0VBQ2QsY0FBYyxFQUFFLFNBQVMsR0FDMUI7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsTUFBYSxDbkM1QmIsSUFBSTtFbUM2QmIsYUFBYSxFbkM3QkosSUFBSTtFbUM4QmIsU0FBUyxFbkMwR2UsT0FBd0I7RW1DekdoRCxXQUFXLEVuQzJHYSxPQUFNLENtQzNHUSxLQUFLLENuQzlEakIsT0FBTyxHbUMrRGxDOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsR0FBRztFQUNkLEtBQUssRW5DckVxQixPQUFPLEdtQzBFbEM7RUFSRCxBQUtFLGtCQUxnQixBQUtmLFFBQVEsQ0FBQztJQUNSLE9BQU8sRUFBRSxhQUFhLEdBQ3ZCOztBQUlILEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsYUFBYSxFbkM5Q0osSUFBSTtFbUMrQ2IsWUFBWSxFQUFFLENBQUM7RUFDZixVQUFVLEVBQUUsS0FBSztFQUNqQixZQUFZLEVuQ3lGWSxPQUFNLENtQ3pGUyxLQUFLLENuQ2hGbEIsT0FBTztFbUNpRmpDLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBRUQsQUFDRSxtQkFEaUIsQ0FBQyxrQkFBa0IsQUFDbkMsUUFBUSxDQUFDO0VBQ1IsT0FBTyxFQUFFLEVBQUUsR0FDWjs7QUFISCxBQUlFLG1CQUppQixDQUFDLGtCQUFrQixBQUluQyxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsYUFBYSxHQUN2Qjs7QUFNRCxBQUNFLEVBREEsQUFBQSxJQUFJLEdBQ0YsRUFBRSxHQUFHLEVBQUUsQ0FBQztFQUNSLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FDM0lMLEFBQUEsVUFBVSxFMkJGVixlQUFlLEdBS1gsY0FBYyxHQU1aLEdBQUc7QUFYVCxlQUFlLEdBS1gsY0FBYyxHQU9aLENBQUMsR0FBRyxHQUFHLEMzQlZGO0VoQ0lULFNBQVMsRUFBRSxJQUFJO0VBR2YsTUFBTSxFQUFFLElBQUksR2dDTGI7O0FBSUQsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVwQzZ2QnFCLE9BQU07RW9DNXZCbEMsZ0JBQWdCLEVwQzJGTCxJQUFJO0VvQzFGZixNQUFNLEVwQ21GTyxHQUFHLENvQ25GZ0IsS0FBSyxDcEM4dkJULElBQUk7RTBCMXdCOUIsYUFBYSxFMUIwT1EsT0FBTTtFb0M1TjdCLFVBQVUsRUFBRSxtQkFBbUI7RWhDUC9CLFNBQVMsRUFBRSxJQUFJO0VBR2YsTUFBTSxFQUFFLElBQUksR2dDU2I7O0FBTUQsQUFBQSxPQUFPLENBQUM7RUFFTixPQUFPLEVBQUUsWUFBWSxHQUN0Qjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNWLGFBQWEsRUFBRSxNQUFlO0VBQzlCLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxTQUFTLEVwQzZ1QmdCLEdBQUc7RW9DNXVCNUIsS0FBSyxFcENLcUIsT0FBTyxHb0NKbEM7O0FKcUxELEFBQUEsSUFBSTtBQUNKLEdBQUc7QUFDSCxHQUFHO0FBQ0gsSUFBSSxDSzlOQztFQUNILFdBQVcsRXJDbUtZLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxTQUFTLEdxQ2xLNUY7O0FBR0QsQUFBQSxJQUFJLENBQUM7RUFDSCxPQUFPLEVyQ28wQnFCLE1BQUssQ0FETCxNQUFLO0VxQ2wwQmpDLFNBQVMsRXJDaTBCbUIsR0FBRztFcUNoMEIvQixLQUFLLEVyQ20wQnVCLE9BQU87RXFDbDBCbkMsZ0JBQWdCLEVyQ20wQlksT0FBTztFMEI1MEJqQyxhQUFhLEUxQjBPUSxPQUFNLEdxQy9OOUI7O0FBR0QsQUFBQSxHQUFHLENBQUM7RUFDRixPQUFPLEVyQzJ6QnFCLE1BQUssQ0FETCxNQUFLO0VxQ3p6QmpDLFNBQVMsRXJDd3pCbUIsR0FBRztFcUN2ekIvQixLQUFLLEVyQzZ6QnVCLElBQUk7RXFDNXpCaEMsZ0JBQWdCLEVyQzZ6QlksSUFBSTtFMEIvMEI5QixhQUFhLEUxQjRPUSxNQUFLLEdxQ2hON0I7RUFkRCxBQVFFLEdBUkMsQ0FRRCxHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFckNxTVUsSUFBSSxHcUNuTTFCOztBSnNCQyxBQUFBLEdBQUcsQ0lsQkg7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxDQUFDO0VBQ2IsYUFBYSxFQUFFLElBQUk7RUFDbkIsU0FBUyxFckNxeUJtQixHQUFHO0VxQ3B5Qi9CLEtBQUssRXJDSXFCLE9BQU8sR3FDTWxDO0VBZkQsQUFRRSxHQVJDLENBUUQsSUFBSSxDQUFDO0lBQ0gsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsT0FBTztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBSUgsQUFBQSxlQUFlLENBQUM7RUFDZCxVQUFVLEVyQ2t5QmtCLEtBQUs7RXFDanlCakMsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FDbkRDLEFBQUEsVUFBVSxDQUFDO0VSQVgsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLElBQUk7RUFDbEIsWUFBWSxFQUFHLElBQWE7RUFDNUIsYUFBYSxFQUFFLElBQWEsR1FBM0I7RUFIRCxBVkpBLFVVSVUsQVZKVCxPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFMUJ3Q0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lvQ3hDMUIsQUFBQSxVQUFVLENBQUM7TVJjUCxLQUFLLEU5QnlITCxLQUFLO004QnhITCxTQUFTLEVBQUUsSUFBSSxHUVpsQjtFcENxQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lvQ3hDMUIsQUFBQSxVQUFVLENBQUM7TVJjUCxLQUFLLEU5QjBITCxLQUFLO004QnpITCxTQUFTLEVBQUUsSUFBSSxHUVpsQjtFcENxQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lvQ3hDMUIsQUFBQSxVQUFVLENBQUM7TVJjUCxLQUFLLEU5QjJITCxLQUFLO004QjFITCxTQUFTLEVBQUUsSUFBSSxHUVpsQjtFcENxQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lvQ3hDM0IsQUFBQSxVQUFVLENBQUM7TVJjUCxLQUFLLEU5QjRITCxNQUFNO004QjNITixTQUFTLEVBQUUsSUFBSSxHUVpsQjs7QUFTRCxBQUFBLGdCQUFnQixDQUFDO0VSWmpCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFlBQVksRUFBRyxJQUFhO0VBQzVCLGFBQWEsRUFBRSxJQUFhLEdRVzNCO0VBRkQsQVZoQkEsZ0JVZ0JnQixBVmhCZixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUksR0FDWjs7QVVzQkQsQUFBQSxJQUFJLENBQUM7RVJtQkQsWUFBWSxFQUFFLEtBQWM7RUFDNUIsV0FBVyxFQUFHLEtBQWMsR1FsQi9CO0VBRkQsQVYxQkEsSVUwQkksQVYxQkgsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7RTFCd0NDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJb0NsQjFCLEFBQUEsSUFBSSxDQUFDO01SbUJELFlBQVksRUFBRSxLQUFjO01BQzVCLFdBQVcsRUFBRyxLQUFjLEdRbEIvQjtFcENnQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lvQ2xCMUIsQUFBQSxJQUFJLENBQUM7TVJtQkQsWUFBWSxFQUFFLEtBQWM7TUFDNUIsV0FBVyxFQUFHLEtBQWMsR1FsQi9CO0VwQ2dCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SW9DbEIxQixBQUFBLElBQUksQ0FBQztNUm1CRCxZQUFZLEVBQUUsS0FBYztNQUM1QixXQUFXLEVBQUcsS0FBYyxHUWxCL0I7RXBDZ0JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJb0NsQjNCLEFBQUEsSUFBSSxDQUFDO01SbUJELFlBQVksRUFBRSxLQUFjO01BQzVCLFdBQVcsRUFBRyxLQUFjLEdRbEIvQjs7QVRMQyxBQWpCRixPQWlCUyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFMWixPQUFPLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBTFosT0FBTyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsQ0F0QkQ7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUVsQixVQUFVLEVBQUUsR0FBRztFQ21CYixhQUFhLEVBQUUsSUFBYTtFQUM1QixZQUFZLEVBQUcsSUFBYSxHRGIvQjtFM0I0QkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0kyQnJCeEIsQUFqQkYsT0FpQlMsRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFMWixPQUFPLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBTFosT0FBTyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFMWixPQUFPLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLENBdEJEO01Dc0JULGFBQWEsRUFBRSxJQUFhO01BQzVCLFlBQVksRUFBRyxJQUFhLEdEYi9CO0UzQjRCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7STJCckJ4QixBQWpCRixPQWlCUyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFMWixPQUFPLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBTFosT0FBTyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsQ0F0QkQ7TUNzQlQsYUFBYSxFQUFFLElBQWE7TUFDNUIsWUFBWSxFQUFHLElBQWEsR0RiL0I7RTNCNEJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJMkJyQnhCLEFBakJGLE9BaUJTLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBTFosT0FBTyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUsRUFBVixVQUFVLEVBQVYsVUFBVSxFQUxaLE9BQU8sRUFLTCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxVQUFVLEVBQVYsVUFBVSxFQUFWLFVBQVUsRUFMWixPQUFPLEVBS0wsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsVUFBVSxFQUFWLFVBQVUsRUFBVixVQUFVLEVBTFosT0FBTyxFQUtMLFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFNBQVMsRUFBVCxTQUFTLEVBQVQsU0FBUyxFQUFULFVBQVUs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 */

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

/* Document
   ========================================================================== */

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

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

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

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

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

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

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

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

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

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

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

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

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

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

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

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

/**
 * Remove the inner border and padding in Firefox.
 */

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

/**
 * Restore the focus styles unset by the previous rule.
 */

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

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

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

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

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.0ad6.eot?v=4.7.0');
  src: url('../fonts/fontawesome-webfont.0ad6.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.9060.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.85da.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.776d.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em;
}
.fa-pull-left {
  float: left;
}
.fa-pull-right {
  float: right;
}
.fa.fa-pull-left {
  margin-right: .3em;
}
.fa.fa-pull-right {
  margin-left: .3em;
}
/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-pp:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}
.fa-reddit-alien:before {
  content: "\f281";
}
.fa-edge:before {
  content: "\f282";
}
.fa-credit-card-alt:before {
  content: "\f283";
}
.fa-codiepie:before {
  content: "\f284";
}
.fa-modx:before {
  content: "\f285";
}
.fa-fort-awesome:before {
  content: "\f286";
}
.fa-usb:before {
  content: "\f287";
}
.fa-product-hunt:before {
  content: "\f288";
}
.fa-mixcloud:before {
  content: "\f289";
}
.fa-scribd:before {
  content: "\f28a";
}
.fa-pause-circle:before {
  content: "\f28b";
}
.fa-pause-circle-o:before {
  content: "\f28c";
}
.fa-stop-circle:before {
  content: "\f28d";
}
.fa-stop-circle-o:before {
  content: "\f28e";
}
.fa-shopping-bag:before {
  content: "\f290";
}
.fa-shopping-basket:before {
  content: "\f291";
}
.fa-hashtag:before {
  content: "\f292";
}
.fa-bluetooth:before {
  content: "\f293";
}
.fa-bluetooth-b:before {
  content: "\f294";
}
.fa-percent:before {
  content: "\f295";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-wpbeginner:before {
  content: "\f297";
}
.fa-wpforms:before {
  content: "\f298";
}
.fa-envira:before {
  content: "\f299";
}
.fa-universal-access:before {
  content: "\f29a";
}
.fa-wheelchair-alt:before {
  content: "\f29b";
}
.fa-question-circle-o:before {
  content: "\f29c";
}
.fa-blind:before {
  content: "\f29d";
}
.fa-audio-description:before {
  content: "\f29e";
}
.fa-volume-control-phone:before {
  content: "\f2a0";
}
.fa-braille:before {
  content: "\f2a1";
}
.fa-assistive-listening-systems:before {
  content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}
.fa-glide:before {
  content: "\f2a5";
}
.fa-glide-g:before {
  content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}
.fa-low-vision:before {
  content: "\f2a8";
}
.fa-viadeo:before {
  content: "\f2a9";
}
.fa-viadeo-square:before {
  content: "\f2aa";
}
.fa-snapchat:before {
  content: "\f2ab";
}
.fa-snapchat-ghost:before {
  content: "\f2ac";
}
.fa-snapchat-square:before {
  content: "\f2ad";
}
.fa-pied-piper:before {
  content: "\f2ae";
}
.fa-first-order:before {
  content: "\f2b0";
}
.fa-yoast:before {
  content: "\f2b1";
}
.fa-themeisle:before {
  content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}
.fa-handshake-o:before {
  content: "\f2b5";
}
.fa-envelope-open:before {
  content: "\f2b6";
}
.fa-envelope-open-o:before {
  content: "\f2b7";
}
.fa-linode:before {
  content: "\f2b8";
}
.fa-address-book:before {
  content: "\f2b9";
}
.fa-address-book-o:before {
  content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}
.fa-user-circle:before {
  content: "\f2bd";
}
.fa-user-circle-o:before {
  content: "\f2be";
}
.fa-user-o:before {
  content: "\f2c0";
}
.fa-id-badge:before {
  content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}
.fa-quora:before {
  content: "\f2c4";
}
.fa-free-code-camp:before {
  content: "\f2c5";
}
.fa-telegram:before {
  content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}
.fa-shower:before {
  content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}
.fa-podcast:before {
  content: "\f2ce";
}
.fa-window-maximize:before {
  content: "\f2d0";
}
.fa-window-minimize:before {
  content: "\f2d1";
}
.fa-window-restore:before {
  content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}
.fa-bandcamp:before {
  content: "\f2d5";
}
.fa-grav:before {
  content: "\f2d6";
}
.fa-etsy:before {
  content: "\f2d7";
}
.fa-imdb:before {
  content: "\f2d8";
}
.fa-ravelry:before {
  content: "\f2d9";
}
.fa-eercast:before {
  content: "\f2da";
}
.fa-microchip:before {
  content: "\f2db";
}
.fa-snowflake-o:before {
  content: "\f2dc";
}
.fa-superpowers:before {
  content: "\f2dd";
}
.fa-wpexplorer:before {
  content: "\f2de";
}
.fa-meetup:before {
  content: "\f2e0";
}
.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;
}

@charset "UTF-8";
/*!
  Ionicons, v2.0.0
  Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
  https://twitter.com/benjsperry  https://twitter.com/ionicframework
  MIT License: https://github.com/driftyco/ionicons

  Android-style icons originally built by Google’s
  Material Design Icons: https://github.com/google/material-design-icons
  used under CC BY http://creativecommons.org/licenses/by/4.0/
  Modified icons to fit ionicon’s grid from original.
*/
@font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.06fd.eot?v=2.0.0"); src: url("../fonts/ionicons.06fd.eot?v=2.0.0#iefix") format("embedded-opentype"), url("../fonts/ionicons.eb5a.ttf?v=2.0.0") format("truetype"), url("../fonts/ionicons.b84d.woff?v=2.0.0") format("woff"), url("../fonts/ionicons.621b.svg?v=2.0.0#Ionicons") format("svg"); font-weight: normal; font-style: normal; }
.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ion-alert:before { content: "\f101"; }

.ion-alert-circled:before { content: "\f100"; }

.ion-android-add:before { content: "\f2c7"; }

.ion-android-add-circle:before { content: "\f359"; }

.ion-android-alarm-clock:before { content: "\f35a"; }

.ion-android-alert:before { content: "\f35b"; }

.ion-android-apps:before { content: "\f35c"; }

.ion-android-archive:before { content: "\f2c9"; }

.ion-android-arrow-back:before { content: "\f2ca"; }

.ion-android-arrow-down:before { content: "\f35d"; }

.ion-android-arrow-dropdown:before { content: "\f35f"; }

.ion-android-arrow-dropdown-circle:before { content: "\f35e"; }

.ion-android-arrow-dropleft:before { content: "\f361"; }

.ion-android-arrow-dropleft-circle:before { content: "\f360"; }

.ion-android-arrow-dropright:before { content: "\f363"; }

.ion-android-arrow-dropright-circle:before { content: "\f362"; }

.ion-android-arrow-dropup:before { content: "\f365"; }

.ion-android-arrow-dropup-circle:before { content: "\f364"; }

.ion-android-arrow-forward:before { content: "\f30f"; }

.ion-android-arrow-up:before { content: "\f366"; }

.ion-android-attach:before { content: "\f367"; }

.ion-android-bar:before { content: "\f368"; }

.ion-android-bicycle:before { content: "\f369"; }

.ion-android-boat:before { content: "\f36a"; }

.ion-android-bookmark:before { content: "\f36b"; }

.ion-android-bulb:before { content: "\f36c"; }

.ion-android-bus:before { content: "\f36d"; }

.ion-android-calendar:before { content: "\f2d1"; }

.ion-android-call:before { content: "\f2d2"; }

.ion-android-camera:before { content: "\f2d3"; }

.ion-android-cancel:before { content: "\f36e"; }

.ion-android-car:before { content: "\f36f"; }

.ion-android-cart:before { content: "\f370"; }

.ion-android-chat:before { content: "\f2d4"; }

.ion-android-checkbox:before { content: "\f374"; }

.ion-android-checkbox-blank:before { content: "\f371"; }

.ion-android-checkbox-outline:before { content: "\f373"; }

.ion-android-checkbox-outline-blank:before { content: "\f372"; }

.ion-android-checkmark-circle:before { content: "\f375"; }

.ion-android-clipboard:before { content: "\f376"; }

.ion-android-close:before { content: "\f2d7"; }

.ion-android-cloud:before { content: "\f37a"; }

.ion-android-cloud-circle:before { content: "\f377"; }

.ion-android-cloud-done:before { content: "\f378"; }

.ion-android-cloud-outline:before { content: "\f379"; }

.ion-android-color-palette:before { content: "\f37b"; }

.ion-android-compass:before { content: "\f37c"; }

.ion-android-contact:before { content: "\f2d8"; }

.ion-android-contacts:before { content: "\f2d9"; }

.ion-android-contract:before { content: "\f37d"; }

.ion-android-create:before { content: "\f37e"; }

.ion-android-delete:before { content: "\f37f"; }

.ion-android-desktop:before { content: "\f380"; }

.ion-android-document:before { content: "\f381"; }

.ion-android-done:before { content: "\f383"; }

.ion-android-done-all:before { content: "\f382"; }

.ion-android-download:before { content: "\f2dd"; }

.ion-android-drafts:before { content: "\f384"; }

.ion-android-exit:before { content: "\f385"; }

.ion-android-expand:before { content: "\f386"; }

.ion-android-favorite:before { content: "\f388"; }

.ion-android-favorite-outline:before { content: "\f387"; }

.ion-android-film:before { content: "\f389"; }

.ion-android-folder:before { content: "\f2e0"; }

.ion-android-folder-open:before { content: "\f38a"; }

.ion-android-funnel:before { content: "\f38b"; }

.ion-android-globe:before { content: "\f38c"; }

.ion-android-hand:before { content: "\f2e3"; }

.ion-android-hangout:before { content: "\f38d"; }

.ion-android-happy:before { content: "\f38e"; }

.ion-android-home:before { content: "\f38f"; }

.ion-android-image:before { content: "\f2e4"; }

.ion-android-laptop:before { content: "\f390"; }

.ion-android-list:before { content: "\f391"; }

.ion-android-locate:before { content: "\f2e9"; }

.ion-android-lock:before { content: "\f392"; }

.ion-android-mail:before { content: "\f2eb"; }

.ion-android-map:before { content: "\f393"; }

.ion-android-menu:before { content: "\f394"; }

.ion-android-microphone:before { content: "\f2ec"; }

.ion-android-microphone-off:before { content: "\f395"; }

.ion-android-more-horizontal:before { content: "\f396"; }

.ion-android-more-vertical:before { content: "\f397"; }

.ion-android-navigate:before { content: "\f398"; }

.ion-android-notifications:before { content: "\f39b"; }

.ion-android-notifications-none:before { content: "\f399"; }

.ion-android-notifications-off:before { content: "\f39a"; }

.ion-android-open:before { content: "\f39c"; }

.ion-android-options:before { content: "\f39d"; }

.ion-android-people:before { content: "\f39e"; }

.ion-android-person:before { content: "\f3a0"; }

.ion-android-person-add:before { content: "\f39f"; }

.ion-android-phone-landscape:before { content: "\f3a1"; }

.ion-android-phone-portrait:before { content: "\f3a2"; }

.ion-android-pin:before { content: "\f3a3"; }

.ion-android-plane:before { content: "\f3a4"; }

.ion-android-playstore:before { content: "\f2f0"; }

.ion-android-print:before { content: "\f3a5"; }

.ion-android-radio-button-off:before { content: "\f3a6"; }

.ion-android-radio-button-on:before { content: "\f3a7"; }

.ion-android-refresh:before { content: "\f3a8"; }

.ion-android-remove:before { content: "\f2f4"; }

.ion-android-remove-circle:before { content: "\f3a9"; }

.ion-android-restaurant:before { content: "\f3aa"; }

.ion-android-sad:before { content: "\f3ab"; }

.ion-android-search:before { content: "\f2f5"; }

.ion-android-send:before { content: "\f2f6"; }

.ion-android-settings:before { content: "\f2f7"; }

.ion-android-share:before { content: "\f2f8"; }

.ion-android-share-alt:before { content: "\f3ac"; }

.ion-android-star:before { content: "\f2fc"; }

.ion-android-star-half:before { content: "\f3ad"; }

.ion-android-star-outline:before { content: "\f3ae"; }

.ion-android-stopwatch:before { content: "\f2fd"; }

.ion-android-subway:before { content: "\f3af"; }

.ion-android-sunny:before { content: "\f3b0"; }

.ion-android-sync:before { content: "\f3b1"; }

.ion-android-textsms:before { content: "\f3b2"; }

.ion-android-time:before { content: "\f3b3"; }

.ion-android-train:before { content: "\f3b4"; }

.ion-android-unlock:before { content: "\f3b5"; }

.ion-android-upload:before { content: "\f3b6"; }

.ion-android-volume-down:before { content: "\f3b7"; }

.ion-android-volume-mute:before { content: "\f3b8"; }

.ion-android-volume-off:before { content: "\f3b9"; }

.ion-android-volume-up:before { content: "\f3ba"; }

.ion-android-walk:before { content: "\f3bb"; }

.ion-android-warning:before { content: "\f3bc"; }

.ion-android-watch:before { content: "\f3bd"; }

.ion-android-wifi:before { content: "\f305"; }

.ion-aperture:before { content: "\f313"; }

.ion-archive:before { content: "\f102"; }

.ion-arrow-down-a:before { content: "\f103"; }

.ion-arrow-down-b:before { content: "\f104"; }

.ion-arrow-down-c:before { content: "\f105"; }

.ion-arrow-expand:before { content: "\f25e"; }

.ion-arrow-graph-down-left:before { content: "\f25f"; }

.ion-arrow-graph-down-right:before { content: "\f260"; }

.ion-arrow-graph-up-left:before { content: "\f261"; }

.ion-arrow-graph-up-right:before { content: "\f262"; }

.ion-arrow-left-a:before { content: "\f106"; }

.ion-arrow-left-b:before { content: "\f107"; }

.ion-arrow-left-c:before { content: "\f108"; }

.ion-arrow-move:before { content: "\f263"; }

.ion-arrow-resize:before { content: "\f264"; }

.ion-arrow-return-left:before { content: "\f265"; }

.ion-arrow-return-right:before { content: "\f266"; }

.ion-arrow-right-a:before { content: "\f109"; }

.ion-arrow-right-b:before { content: "\f10a"; }

.ion-arrow-right-c:before { content: "\f10b"; }

.ion-arrow-shrink:before { content: "\f267"; }

.ion-arrow-swap:before { content: "\f268"; }

.ion-arrow-up-a:before { content: "\f10c"; }

.ion-arrow-up-b:before { content: "\f10d"; }

.ion-arrow-up-c:before { content: "\f10e"; }

.ion-asterisk:before { content: "\f314"; }

.ion-at:before { content: "\f10f"; }

.ion-backspace:before { content: "\f3bf"; }

.ion-backspace-outline:before { content: "\f3be"; }

.ion-bag:before { content: "\f110"; }

.ion-battery-charging:before { content: "\f111"; }

.ion-battery-empty:before { content: "\f112"; }

.ion-battery-full:before { content: "\f113"; }

.ion-battery-half:before { content: "\f114"; }

.ion-battery-low:before { content: "\f115"; }

.ion-beaker:before { content: "\f269"; }

.ion-beer:before { content: "\f26a"; }

.ion-bluetooth:before { content: "\f116"; }

.ion-bonfire:before { content: "\f315"; }

.ion-bookmark:before { content: "\f26b"; }

.ion-bowtie:before { content: "\f3c0"; }

.ion-briefcase:before { content: "\f26c"; }

.ion-bug:before { content: "\f2be"; }

.ion-calculator:before { content: "\f26d"; }

.ion-calendar:before { content: "\f117"; }

.ion-camera:before { content: "\f118"; }

.ion-card:before { content: "\f119"; }

.ion-cash:before { content: "\f316"; }

.ion-chatbox:before { content: "\f11b"; }

.ion-chatbox-working:before { content: "\f11a"; }

.ion-chatboxes:before { content: "\f11c"; }

.ion-chatbubble:before { content: "\f11e"; }

.ion-chatbubble-working:before { content: "\f11d"; }

.ion-chatbubbles:before { content: "\f11f"; }

.ion-checkmark:before { content: "\f122"; }

.ion-checkmark-circled:before { content: "\f120"; }

.ion-checkmark-round:before { content: "\f121"; }

.ion-chevron-down:before { content: "\f123"; }

.ion-chevron-left:before { content: "\f124"; }

.ion-chevron-right:before { content: "\f125"; }

.ion-chevron-up:before { content: "\f126"; }

.ion-clipboard:before { content: "\f127"; }

.ion-clock:before { content: "\f26e"; }

.ion-close:before { content: "\f12a"; }

.ion-close-circled:before { content: "\f128"; }

.ion-close-round:before { content: "\f129"; }

.ion-closed-captioning:before { content: "\f317"; }

.ion-cloud:before { content: "\f12b"; }

.ion-code:before { content: "\f271"; }

.ion-code-download:before { content: "\f26f"; }

.ion-code-working:before { content: "\f270"; }

.ion-coffee:before { content: "\f272"; }

.ion-compass:before { content: "\f273"; }

.ion-compose:before { content: "\f12c"; }

.ion-connection-bars:before { content: "\f274"; }

.ion-contrast:before { content: "\f275"; }

.ion-crop:before { content: "\f3c1"; }

.ion-cube:before { content: "\f318"; }

.ion-disc:before { content: "\f12d"; }

.ion-document:before { content: "\f12f"; }

.ion-document-text:before { content: "\f12e"; }

.ion-drag:before { content: "\f130"; }

.ion-earth:before { content: "\f276"; }

.ion-easel:before { content: "\f3c2"; }

.ion-edit:before { content: "\f2bf"; }

.ion-egg:before { content: "\f277"; }

.ion-eject:before { content: "\f131"; }

.ion-email:before { content: "\f132"; }

.ion-email-unread:before { content: "\f3c3"; }

.ion-erlenmeyer-flask:before { content: "\f3c5"; }

.ion-erlenmeyer-flask-bubbles:before { content: "\f3c4"; }

.ion-eye:before { content: "\f133"; }

.ion-eye-disabled:before { content: "\f306"; }

.ion-female:before { content: "\f278"; }

.ion-filing:before { content: "\f134"; }

.ion-film-marker:before { content: "\f135"; }

.ion-fireball:before { content: "\f319"; }

.ion-flag:before { content: "\f279"; }

.ion-flame:before { content: "\f31a"; }

.ion-flash:before { content: "\f137"; }

.ion-flash-off:before { content: "\f136"; }

.ion-folder:before { content: "\f139"; }

.ion-fork:before { content: "\f27a"; }

.ion-fork-repo:before { content: "\f2c0"; }

.ion-forward:before { content: "\f13a"; }

.ion-funnel:before { content: "\f31b"; }

.ion-gear-a:before { content: "\f13d"; }

.ion-gear-b:before { content: "\f13e"; }

.ion-grid:before { content: "\f13f"; }

.ion-hammer:before { content: "\f27b"; }

.ion-happy:before { content: "\f31c"; }

.ion-happy-outline:before { content: "\f3c6"; }

.ion-headphone:before { content: "\f140"; }

.ion-heart:before { content: "\f141"; }

.ion-heart-broken:before { content: "\f31d"; }

.ion-help:before { content: "\f143"; }

.ion-help-buoy:before { content: "\f27c"; }

.ion-help-circled:before { content: "\f142"; }

.ion-home:before { content: "\f144"; }

.ion-icecream:before { content: "\f27d"; }

.ion-image:before { content: "\f147"; }

.ion-images:before { content: "\f148"; }

.ion-information:before { content: "\f14a"; }

.ion-information-circled:before { content: "\f149"; }

.ion-ionic:before { content: "\f14b"; }

.ion-ios-alarm:before { content: "\f3c8"; }

.ion-ios-alarm-outline:before { content: "\f3c7"; }

.ion-ios-albums:before { content: "\f3ca"; }

.ion-ios-albums-outline:before { content: "\f3c9"; }

.ion-ios-americanfootball:before { content: "\f3cc"; }

.ion-ios-americanfootball-outline:before { content: "\f3cb"; }

.ion-ios-analytics:before { content: "\f3ce"; }

.ion-ios-analytics-outline:before { content: "\f3cd"; }

.ion-ios-arrow-back:before { content: "\f3cf"; }

.ion-ios-arrow-down:before { content: "\f3d0"; }

.ion-ios-arrow-forward:before { content: "\f3d1"; }

.ion-ios-arrow-left:before { content: "\f3d2"; }

.ion-ios-arrow-right:before { content: "\f3d3"; }

.ion-ios-arrow-thin-down:before { content: "\f3d4"; }

.ion-ios-arrow-thin-left:before { content: "\f3d5"; }

.ion-ios-arrow-thin-right:before { content: "\f3d6"; }

.ion-ios-arrow-thin-up:before { content: "\f3d7"; }

.ion-ios-arrow-up:before { content: "\f3d8"; }

.ion-ios-at:before { content: "\f3da"; }

.ion-ios-at-outline:before { content: "\f3d9"; }

.ion-ios-barcode:before { content: "\f3dc"; }

.ion-ios-barcode-outline:before { content: "\f3db"; }

.ion-ios-baseball:before { content: "\f3de"; }

.ion-ios-baseball-outline:before { content: "\f3dd"; }

.ion-ios-basketball:before { content: "\f3e0"; }

.ion-ios-basketball-outline:before { content: "\f3df"; }

.ion-ios-bell:before { content: "\f3e2"; }

.ion-ios-bell-outline:before { content: "\f3e1"; }

.ion-ios-body:before { content: "\f3e4"; }

.ion-ios-body-outline:before { content: "\f3e3"; }

.ion-ios-bolt:before { content: "\f3e6"; }

.ion-ios-bolt-outline:before { content: "\f3e5"; }

.ion-ios-book:before { content: "\f3e8"; }

.ion-ios-book-outline:before { content: "\f3e7"; }

.ion-ios-bookmarks:before { content: "\f3ea"; }

.ion-ios-bookmarks-outline:before { content: "\f3e9"; }

.ion-ios-box:before { content: "\f3ec"; }

.ion-ios-box-outline:before { content: "\f3eb"; }

.ion-ios-briefcase:before { content: "\f3ee"; }

.ion-ios-briefcase-outline:before { content: "\f3ed"; }

.ion-ios-browsers:before { content: "\f3f0"; }

.ion-ios-browsers-outline:before { content: "\f3ef"; }

.ion-ios-calculator:before { content: "\f3f2"; }

.ion-ios-calculator-outline:before { content: "\f3f1"; }

.ion-ios-calendar:before { content: "\f3f4"; }

.ion-ios-calendar-outline:before { content: "\f3f3"; }

.ion-ios-camera:before { content: "\f3f6"; }

.ion-ios-camera-outline:before { content: "\f3f5"; }

.ion-ios-cart:before { content: "\f3f8"; }

.ion-ios-cart-outline:before { content: "\f3f7"; }

.ion-ios-chatboxes:before { content: "\f3fa"; }

.ion-ios-chatboxes-outline:before { content: "\f3f9"; }

.ion-ios-chatbubble:before { content: "\f3fc"; }

.ion-ios-chatbubble-outline:before { content: "\f3fb"; }

.ion-ios-checkmark:before { content: "\f3ff"; }

.ion-ios-checkmark-empty:before { content: "\f3fd"; }

.ion-ios-checkmark-outline:before { content: "\f3fe"; }

.ion-ios-circle-filled:before { content: "\f400"; }

.ion-ios-circle-outline:before { content: "\f401"; }

.ion-ios-clock:before { content: "\f403"; }

.ion-ios-clock-outline:before { content: "\f402"; }

.ion-ios-close:before { content: "\f406"; }

.ion-ios-close-empty:before { content: "\f404"; }

.ion-ios-close-outline:before { content: "\f405"; }

.ion-ios-cloud:before { content: "\f40c"; }

.ion-ios-cloud-download:before { content: "\f408"; }

.ion-ios-cloud-download-outline:before { content: "\f407"; }

.ion-ios-cloud-outline:before { content: "\f409"; }

.ion-ios-cloud-upload:before { content: "\f40b"; }

.ion-ios-cloud-upload-outline:before { content: "\f40a"; }

.ion-ios-cloudy:before { content: "\f410"; }

.ion-ios-cloudy-night:before { content: "\f40e"; }

.ion-ios-cloudy-night-outline:before { content: "\f40d"; }

.ion-ios-cloudy-outline:before { content: "\f40f"; }

.ion-ios-cog:before { content: "\f412"; }

.ion-ios-cog-outline:before { content: "\f411"; }

.ion-ios-color-filter:before { content: "\f414"; }

.ion-ios-color-filter-outline:before { content: "\f413"; }

.ion-ios-color-wand:before { content: "\f416"; }

.ion-ios-color-wand-outline:before { content: "\f415"; }

.ion-ios-compose:before { content: "\f418"; }

.ion-ios-compose-outline:before { content: "\f417"; }

.ion-ios-contact:before { content: "\f41a"; }

.ion-ios-contact-outline:before { content: "\f419"; }

.ion-ios-copy:before { content: "\f41c"; }

.ion-ios-copy-outline:before { content: "\f41b"; }

.ion-ios-crop:before { content: "\f41e"; }

.ion-ios-crop-strong:before { content: "\f41d"; }

.ion-ios-download:before { content: "\f420"; }

.ion-ios-download-outline:before { content: "\f41f"; }

.ion-ios-drag:before { content: "\f421"; }

.ion-ios-email:before { content: "\f423"; }

.ion-ios-email-outline:before { content: "\f422"; }

.ion-ios-eye:before { content: "\f425"; }

.ion-ios-eye-outline:before { content: "\f424"; }

.ion-ios-fastforward:before { content: "\f427"; }

.ion-ios-fastforward-outline:before { content: "\f426"; }

.ion-ios-filing:before { content: "\f429"; }

.ion-ios-filing-outline:before { content: "\f428"; }

.ion-ios-film:before { content: "\f42b"; }

.ion-ios-film-outline:before { content: "\f42a"; }

.ion-ios-flag:before { content: "\f42d"; }

.ion-ios-flag-outline:before { content: "\f42c"; }

.ion-ios-flame:before { content: "\f42f"; }

.ion-ios-flame-outline:before { content: "\f42e"; }

.ion-ios-flask:before { content: "\f431"; }

.ion-ios-flask-outline:before { content: "\f430"; }

.ion-ios-flower:before { content: "\f433"; }

.ion-ios-flower-outline:before { content: "\f432"; }

.ion-ios-folder:before { content: "\f435"; }

.ion-ios-folder-outline:before { content: "\f434"; }

.ion-ios-football:before { content: "\f437"; }

.ion-ios-football-outline:before { content: "\f436"; }

.ion-ios-game-controller-a:before { content: "\f439"; }

.ion-ios-game-controller-a-outline:before { content: "\f438"; }

.ion-ios-game-controller-b:before { content: "\f43b"; }

.ion-ios-game-controller-b-outline:before { content: "\f43a"; }

.ion-ios-gear:before { content: "\f43d"; }

.ion-ios-gear-outline:before { content: "\f43c"; }

.ion-ios-glasses:before { content: "\f43f"; }

.ion-ios-glasses-outline:before { content: "\f43e"; }

.ion-ios-grid-view:before { content: "\f441"; }

.ion-ios-grid-view-outline:before { content: "\f440"; }

.ion-ios-heart:before { content: "\f443"; }

.ion-ios-heart-outline:before { content: "\f442"; }

.ion-ios-help:before { content: "\f446"; }

.ion-ios-help-empty:before { content: "\f444"; }

.ion-ios-help-outline:before { content: "\f445"; }

.ion-ios-home:before { content: "\f448"; }

.ion-ios-home-outline:before { content: "\f447"; }

.ion-ios-infinite:before { content: "\f44a"; }

.ion-ios-infinite-outline:before { content: "\f449"; }

.ion-ios-information:before { content: "\f44d"; }

.ion-ios-information-empty:before { content: "\f44b"; }

.ion-ios-information-outline:before { content: "\f44c"; }

.ion-ios-ionic-outline:before { content: "\f44e"; }

.ion-ios-keypad:before { content: "\f450"; }

.ion-ios-keypad-outline:before { content: "\f44f"; }

.ion-ios-lightbulb:before { content: "\f452"; }

.ion-ios-lightbulb-outline:before { content: "\f451"; }

.ion-ios-list:before { content: "\f454"; }

.ion-ios-list-outline:before { content: "\f453"; }

.ion-ios-location:before { content: "\f456"; }

.ion-ios-location-outline:before { content: "\f455"; }

.ion-ios-locked:before { content: "\f458"; }

.ion-ios-locked-outline:before { content: "\f457"; }

.ion-ios-loop:before { content: "\f45a"; }

.ion-ios-loop-strong:before { content: "\f459"; }

.ion-ios-medical:before { content: "\f45c"; }

.ion-ios-medical-outline:before { content: "\f45b"; }

.ion-ios-medkit:before { content: "\f45e"; }

.ion-ios-medkit-outline:before { content: "\f45d"; }

.ion-ios-mic:before { content: "\f461"; }

.ion-ios-mic-off:before { content: "\f45f"; }

.ion-ios-mic-outline:before { content: "\f460"; }

.ion-ios-minus:before { content: "\f464"; }

.ion-ios-minus-empty:before { content: "\f462"; }

.ion-ios-minus-outline:before { content: "\f463"; }

.ion-ios-monitor:before { content: "\f466"; }

.ion-ios-monitor-outline:before { content: "\f465"; }

.ion-ios-moon:before { content: "\f468"; }

.ion-ios-moon-outline:before { content: "\f467"; }

.ion-ios-more:before { content: "\f46a"; }

.ion-ios-more-outline:before { content: "\f469"; }

.ion-ios-musical-note:before { content: "\f46b"; }

.ion-ios-musical-notes:before { content: "\f46c"; }

.ion-ios-navigate:before { content: "\f46e"; }

.ion-ios-navigate-outline:before { content: "\f46d"; }

.ion-ios-nutrition:before { content: "\f470"; }

.ion-ios-nutrition-outline:before { content: "\f46f"; }

.ion-ios-paper:before { content: "\f472"; }

.ion-ios-paper-outline:before { content: "\f471"; }

.ion-ios-paperplane:before { content: "\f474"; }

.ion-ios-paperplane-outline:before { content: "\f473"; }

.ion-ios-partlysunny:before { content: "\f476"; }

.ion-ios-partlysunny-outline:before { content: "\f475"; }

.ion-ios-pause:before { content: "\f478"; }

.ion-ios-pause-outline:before { content: "\f477"; }

.ion-ios-paw:before { content: "\f47a"; }

.ion-ios-paw-outline:before { content: "\f479"; }

.ion-ios-people:before { content: "\f47c"; }

.ion-ios-people-outline:before { content: "\f47b"; }

.ion-ios-person:before { content: "\f47e"; }

.ion-ios-person-outline:before { content: "\f47d"; }

.ion-ios-personadd:before { content: "\f480"; }

.ion-ios-personadd-outline:before { content: "\f47f"; }

.ion-ios-photos:before { content: "\f482"; }

.ion-ios-photos-outline:before { content: "\f481"; }

.ion-ios-pie:before { content: "\f484"; }

.ion-ios-pie-outline:before { content: "\f483"; }

.ion-ios-pint:before { content: "\f486"; }

.ion-ios-pint-outline:before { content: "\f485"; }

.ion-ios-play:before { content: "\f488"; }

.ion-ios-play-outline:before { content: "\f487"; }

.ion-ios-plus:before { content: "\f48b"; }

.ion-ios-plus-empty:before { content: "\f489"; }

.ion-ios-plus-outline:before { content: "\f48a"; }

.ion-ios-pricetag:before { content: "\f48d"; }

.ion-ios-pricetag-outline:before { content: "\f48c"; }

.ion-ios-pricetags:before { content: "\f48f"; }

.ion-ios-pricetags-outline:before { content: "\f48e"; }

.ion-ios-printer:before { content: "\f491"; }

.ion-ios-printer-outline:before { content: "\f490"; }

.ion-ios-pulse:before { content: "\f493"; }

.ion-ios-pulse-strong:before { content: "\f492"; }

.ion-ios-rainy:before { content: "\f495"; }

.ion-ios-rainy-outline:before { content: "\f494"; }

.ion-ios-recording:before { content: "\f497"; }

.ion-ios-recording-outline:before { content: "\f496"; }

.ion-ios-redo:before { content: "\f499"; }

.ion-ios-redo-outline:before { content: "\f498"; }

.ion-ios-refresh:before { content: "\f49c"; }

.ion-ios-refresh-empty:before { content: "\f49a"; }

.ion-ios-refresh-outline:before { content: "\f49b"; }

.ion-ios-reload:before { content: "\f49d"; }

.ion-ios-reverse-camera:before { content: "\f49f"; }

.ion-ios-reverse-camera-outline:before { content: "\f49e"; }

.ion-ios-rewind:before { content: "\f4a1"; }

.ion-ios-rewind-outline:before { content: "\f4a0"; }

.ion-ios-rose:before { content: "\f4a3"; }

.ion-ios-rose-outline:before { content: "\f4a2"; }

.ion-ios-search:before { content: "\f4a5"; }

.ion-ios-search-strong:before { content: "\f4a4"; }

.ion-ios-settings:before { content: "\f4a7"; }

.ion-ios-settings-strong:before { content: "\f4a6"; }

.ion-ios-shuffle:before { content: "\f4a9"; }

.ion-ios-shuffle-strong:before { content: "\f4a8"; }

.ion-ios-skipbackward:before { content: "\f4ab"; }

.ion-ios-skipbackward-outline:before { content: "\f4aa"; }

.ion-ios-skipforward:before { content: "\f4ad"; }

.ion-ios-skipforward-outline:before { content: "\f4ac"; }

.ion-ios-snowy:before { content: "\f4ae"; }

.ion-ios-speedometer:before { content: "\f4b0"; }

.ion-ios-speedometer-outline:before { content: "\f4af"; }

.ion-ios-star:before { content: "\f4b3"; }

.ion-ios-star-half:before { content: "\f4b1"; }

.ion-ios-star-outline:before { content: "\f4b2"; }

.ion-ios-stopwatch:before { content: "\f4b5"; }

.ion-ios-stopwatch-outline:before { content: "\f4b4"; }

.ion-ios-sunny:before { content: "\f4b7"; }

.ion-ios-sunny-outline:before { content: "\f4b6"; }

.ion-ios-telephone:before { content: "\f4b9"; }

.ion-ios-telephone-outline:before { content: "\f4b8"; }

.ion-ios-tennisball:before { content: "\f4bb"; }

.ion-ios-tennisball-outline:before { content: "\f4ba"; }

.ion-ios-thunderstorm:before { content: "\f4bd"; }

.ion-ios-thunderstorm-outline:before { content: "\f4bc"; }

.ion-ios-time:before { content: "\f4bf"; }

.ion-ios-time-outline:before { content: "\f4be"; }

.ion-ios-timer:before { content: "\f4c1"; }

.ion-ios-timer-outline:before { content: "\f4c0"; }

.ion-ios-toggle:before { content: "\f4c3"; }

.ion-ios-toggle-outline:before { content: "\f4c2"; }

.ion-ios-trash:before { content: "\f4c5"; }

.ion-ios-trash-outline:before { content: "\f4c4"; }

.ion-ios-undo:before { content: "\f4c7"; }

.ion-ios-undo-outline:before { content: "\f4c6"; }

.ion-ios-unlocked:before { content: "\f4c9"; }

.ion-ios-unlocked-outline:before { content: "\f4c8"; }

.ion-ios-upload:before { content: "\f4cb"; }

.ion-ios-upload-outline:before { content: "\f4ca"; }

.ion-ios-videocam:before { content: "\f4cd"; }

.ion-ios-videocam-outline:before { content: "\f4cc"; }

.ion-ios-volume-high:before { content: "\f4ce"; }

.ion-ios-volume-low:before { content: "\f4cf"; }

.ion-ios-wineglass:before { content: "\f4d1"; }

.ion-ios-wineglass-outline:before { content: "\f4d0"; }

.ion-ios-world:before { content: "\f4d3"; }

.ion-ios-world-outline:before { content: "\f4d2"; }

.ion-ipad:before { content: "\f1f9"; }

.ion-iphone:before { content: "\f1fa"; }

.ion-ipod:before { content: "\f1fb"; }

.ion-jet:before { content: "\f295"; }

.ion-key:before { content: "\f296"; }

.ion-knife:before { content: "\f297"; }

.ion-laptop:before { content: "\f1fc"; }

.ion-leaf:before { content: "\f1fd"; }

.ion-levels:before { content: "\f298"; }

.ion-lightbulb:before { content: "\f299"; }

.ion-link:before { content: "\f1fe"; }

.ion-load-a:before { content: "\f29a"; }

.ion-load-b:before { content: "\f29b"; }

.ion-load-c:before { content: "\f29c"; }

.ion-load-d:before { content: "\f29d"; }

.ion-location:before { content: "\f1ff"; }

.ion-lock-combination:before { content: "\f4d4"; }

.ion-locked:before { content: "\f200"; }

.ion-log-in:before { content: "\f29e"; }

.ion-log-out:before { content: "\f29f"; }

.ion-loop:before { content: "\f201"; }

.ion-magnet:before { content: "\f2a0"; }

.ion-male:before { content: "\f2a1"; }

.ion-man:before { content: "\f202"; }

.ion-map:before { content: "\f203"; }

.ion-medkit:before { content: "\f2a2"; }

.ion-merge:before { content: "\f33f"; }

.ion-mic-a:before { content: "\f204"; }

.ion-mic-b:before { content: "\f205"; }

.ion-mic-c:before { content: "\f206"; }

.ion-minus:before { content: "\f209"; }

.ion-minus-circled:before { content: "\f207"; }

.ion-minus-round:before { content: "\f208"; }

.ion-model-s:before { content: "\f2c1"; }

.ion-monitor:before { content: "\f20a"; }

.ion-more:before { content: "\f20b"; }

.ion-mouse:before { content: "\f340"; }

.ion-music-note:before { content: "\f20c"; }

.ion-navicon:before { content: "\f20e"; }

.ion-navicon-round:before { content: "\f20d"; }

.ion-navigate:before { content: "\f2a3"; }

.ion-network:before { content: "\f341"; }

.ion-no-smoking:before { content: "\f2c2"; }

.ion-nuclear:before { content: "\f2a4"; }

.ion-outlet:before { content: "\f342"; }

.ion-paintbrush:before { content: "\f4d5"; }

.ion-paintbucket:before { content: "\f4d6"; }

.ion-paper-airplane:before { content: "\f2c3"; }

.ion-paperclip:before { content: "\f20f"; }

.ion-pause:before { content: "\f210"; }

.ion-person:before { content: "\f213"; }

.ion-person-add:before { content: "\f211"; }

.ion-person-stalker:before { content: "\f212"; }

.ion-pie-graph:before { content: "\f2a5"; }

.ion-pin:before { content: "\f2a6"; }

.ion-pinpoint:before { content: "\f2a7"; }

.ion-pizza:before { content: "\f2a8"; }

.ion-plane:before { content: "\f214"; }

.ion-planet:before { content: "\f343"; }

.ion-play:before { content: "\f215"; }

.ion-playstation:before { content: "\f30a"; }

.ion-plus:before { content: "\f218"; }

.ion-plus-circled:before { content: "\f216"; }

.ion-plus-round:before { content: "\f217"; }

.ion-podium:before { content: "\f344"; }

.ion-pound:before { content: "\f219"; }

.ion-power:before { content: "\f2a9"; }

.ion-pricetag:before { content: "\f2aa"; }

.ion-pricetags:before { content: "\f2ab"; }

.ion-printer:before { content: "\f21a"; }

.ion-pull-request:before { content: "\f345"; }

.ion-qr-scanner:before { content: "\f346"; }

.ion-quote:before { content: "\f347"; }

.ion-radio-waves:before { content: "\f2ac"; }

.ion-record:before { content: "\f21b"; }

.ion-refresh:before { content: "\f21c"; }

.ion-reply:before { content: "\f21e"; }

.ion-reply-all:before { content: "\f21d"; }

.ion-ribbon-a:before { content: "\f348"; }

.ion-ribbon-b:before { content: "\f349"; }

.ion-sad:before { content: "\f34a"; }

.ion-sad-outline:before { content: "\f4d7"; }

.ion-scissors:before { content: "\f34b"; }

.ion-search:before { content: "\f21f"; }

.ion-settings:before { content: "\f2ad"; }

.ion-share:before { content: "\f220"; }

.ion-shuffle:before { content: "\f221"; }

.ion-skip-backward:before { content: "\f222"; }

.ion-skip-forward:before { content: "\f223"; }

.ion-social-android:before { content: "\f225"; }

.ion-social-android-outline:before { content: "\f224"; }

.ion-social-angular:before { content: "\f4d9"; }

.ion-social-angular-outline:before { content: "\f4d8"; }

.ion-social-apple:before { content: "\f227"; }

.ion-social-apple-outline:before { content: "\f226"; }

.ion-social-bitcoin:before { content: "\f2af"; }

.ion-social-bitcoin-outline:before { content: "\f2ae"; }

.ion-social-buffer:before { content: "\f229"; }

.ion-social-buffer-outline:before { content: "\f228"; }

.ion-social-chrome:before { content: "\f4db"; }

.ion-social-chrome-outline:before { content: "\f4da"; }

.ion-social-codepen:before { content: "\f4dd"; }

.ion-social-codepen-outline:before { content: "\f4dc"; }

.ion-social-css3:before { content: "\f4df"; }

.ion-social-css3-outline:before { content: "\f4de"; }

.ion-social-designernews:before { content: "\f22b"; }

.ion-social-designernews-outline:before { content: "\f22a"; }

.ion-social-dribbble:before { content: "\f22d"; }

.ion-social-dribbble-outline:before { content: "\f22c"; }

.ion-social-dropbox:before { content: "\f22f"; }

.ion-social-dropbox-outline:before { content: "\f22e"; }

.ion-social-euro:before { content: "\f4e1"; }

.ion-social-euro-outline:before { content: "\f4e0"; }

.ion-social-facebook:before { content: "\f231"; }

.ion-social-facebook-outline:before { content: "\f230"; }

.ion-social-foursquare:before { content: "\f34d"; }

.ion-social-foursquare-outline:before { content: "\f34c"; }

.ion-social-freebsd-devil:before { content: "\f2c4"; }

.ion-social-github:before { content: "\f233"; }

.ion-social-github-outline:before { content: "\f232"; }

.ion-social-google:before { content: "\f34f"; }

.ion-social-google-outline:before { content: "\f34e"; }

.ion-social-googleplus:before { content: "\f235"; }

.ion-social-googleplus-outline:before { content: "\f234"; }

.ion-social-hackernews:before { content: "\f237"; }

.ion-social-hackernews-outline:before { content: "\f236"; }

.ion-social-html5:before { content: "\f4e3"; }

.ion-social-html5-outline:before { content: "\f4e2"; }

.ion-social-instagram:before { content: "\f351"; }

.ion-social-instagram-outline:before { content: "\f350"; }

.ion-social-javascript:before { content: "\f4e5"; }

.ion-social-javascript-outline:before { content: "\f4e4"; }

.ion-social-linkedin:before { content: "\f239"; }

.ion-social-linkedin-outline:before { content: "\f238"; }

.ion-social-markdown:before { content: "\f4e6"; }

.ion-social-nodejs:before { content: "\f4e7"; }

.ion-social-octocat:before { content: "\f4e8"; }

.ion-social-pinterest:before { content: "\f2b1"; }

.ion-social-pinterest-outline:before { content: "\f2b0"; }

.ion-social-python:before { content: "\f4e9"; }

.ion-social-reddit:before { content: "\f23b"; }

.ion-social-reddit-outline:before { content: "\f23a"; }

.ion-social-rss:before { content: "\f23d"; }

.ion-social-rss-outline:before { content: "\f23c"; }

.ion-social-sass:before { content: "\f4ea"; }

.ion-social-skype:before { content: "\f23f"; }

.ion-social-skype-outline:before { content: "\f23e"; }

.ion-social-snapchat:before { content: "\f4ec"; }

.ion-social-snapchat-outline:before { content: "\f4eb"; }

.ion-social-tumblr:before { content: "\f241"; }

.ion-social-tumblr-outline:before { content: "\f240"; }

.ion-social-tux:before { content: "\f2c5"; }

.ion-social-twitch:before { content: "\f4ee"; }

.ion-social-twitch-outline:before { content: "\f4ed"; }

.ion-social-twitter:before { content: "\f243"; }

.ion-social-twitter-outline:before { content: "\f242"; }

.ion-social-usd:before { content: "\f353"; }

.ion-social-usd-outline:before { content: "\f352"; }

.ion-social-vimeo:before { content: "\f245"; }

.ion-social-vimeo-outline:before { content: "\f244"; }

.ion-social-whatsapp:before { content: "\f4f0"; }

.ion-social-whatsapp-outline:before { content: "\f4ef"; }

.ion-social-windows:before { content: "\f247"; }

.ion-social-windows-outline:before { content: "\f246"; }

.ion-social-wordpress:before { content: "\f249"; }

.ion-social-wordpress-outline:before { content: "\f248"; }

.ion-social-yahoo:before { content: "\f24b"; }

.ion-social-yahoo-outline:before { content: "\f24a"; }

.ion-social-yen:before { content: "\f4f2"; }

.ion-social-yen-outline:before { content: "\f4f1"; }

.ion-social-youtube:before { content: "\f24d"; }

.ion-social-youtube-outline:before { content: "\f24c"; }

.ion-soup-can:before { content: "\f4f4"; }

.ion-soup-can-outline:before { content: "\f4f3"; }

.ion-speakerphone:before { content: "\f2b2"; }

.ion-speedometer:before { content: "\f2b3"; }

.ion-spoon:before { content: "\f2b4"; }

.ion-star:before { content: "\f24e"; }

.ion-stats-bars:before { content: "\f2b5"; }

.ion-steam:before { content: "\f30b"; }

.ion-stop:before { content: "\f24f"; }

.ion-thermometer:before { content: "\f2b6"; }

.ion-thumbsdown:before { content: "\f250"; }

.ion-thumbsup:before { content: "\f251"; }

.ion-toggle:before { content: "\f355"; }

.ion-toggle-filled:before { content: "\f354"; }

.ion-transgender:before { content: "\f4f5"; }

.ion-trash-a:before { content: "\f252"; }

.ion-trash-b:before { content: "\f253"; }

.ion-trophy:before { content: "\f356"; }

.ion-tshirt:before { content: "\f4f7"; }

.ion-tshirt-outline:before { content: "\f4f6"; }

.ion-umbrella:before { content: "\f2b7"; }

.ion-university:before { content: "\f357"; }

.ion-unlocked:before { content: "\f254"; }

.ion-upload:before { content: "\f255"; }

.ion-usb:before { content: "\f2b8"; }

.ion-videocamera:before { content: "\f256"; }

.ion-volume-high:before { content: "\f257"; }

.ion-volume-low:before { content: "\f258"; }

.ion-volume-medium:before { content: "\f259"; }

.ion-volume-mute:before { content: "\f25a"; }

.ion-wand:before { content: "\f358"; }

.ion-waterdrop:before { content: "\f25b"; }

.ion-wifi:before { content: "\f25c"; }

.ion-wineglass:before { content: "\f2b9"; }

.ion-woman:before { content: "\f25d"; }

.ion-wrench:before { content: "\f2ba"; }

.ion-xbox:before { content: "\f30c"; }

/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    cursor: hand;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
      transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: #869791;
      color: #FFF;
      text-decoration: none; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline; }
    .owl-theme .owl-dots .owl-dot span {
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      background: #D6D6D6;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: #869791; }

/* Preload images */
body:after {
  content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);
  display: none;
}

body.lb-disable-scrolling {
  overflow: hidden;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;

  /* Image border */
  border: 4px solid white;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;

  /* Background color behind image.
     This is visible during transitions. */
  background-color: white;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-caption a {
  color: #4ae;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/*!
 *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.0ad6.eot?v=4.1.0');
  src: url('../fonts/fontawesome-webfont.0ad6.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.9060.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.85da.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.776d.svg?v=4.1.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: spin 2s infinite linear;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -moz-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  -o-transform: scale(1, -1);
  transform: scale(1, -1);
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-square:before,
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}

.widget-clock .digital{text-align:center}.widget-clock .time{font-family:'Syncopate',sans-serif;font-size:2.5em;margin:0}.widget-clock .square{position:relative;width:100%;height:0;padding-bottom:100%}.widget-clock svg{position:absolute;width:100%;height:100%;left:0}.widget-clock .clock-face{stroke:#333;fill:#fff}.widget-clock .minor{stroke:#999;stroke-width:.5}.widget-clock .major{stroke:#333;stroke-width:1}.widget-clock .hour{stroke:#333}.widget-clock .minute{stroke:#666}.widget-clock .second{stroke:#1076ed}.widget-clock .second-counterweight{stroke:#1076ed;stroke-width:3}.widget-clock.dark .clock-face{fill:#111}.widget-clock.dark .hour{stroke:#666}.widget-clock.dark .minute{stroke:#999}
/*# sourceMappingURL=angular-clock.css.map */

/*
 * jQuery FlexSlider v2.7.2
 * https://www.woocommerce.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 *
 */

/* ====================================================================================================================
 * FONT-FACE
 * ====================================================================================================================*/
 @font-face {
  font-family: 'flexslider-icon';
  src: url('fonts/flexslider-icon.eot');
  src: url('fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('fonts/flexslider-icon.woff') format('woff'), url('fonts/flexslider-icon.ttf') format('truetype'), url('fonts/flexslider-icon.svg#flexslider-icon') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.flex-container a:hover,
.flex-slider a:hover {
  outline: none;
}
.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}
.flex-pauseplay span {
  text-transform: capitalize;
}
/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
.flexslider {
  margin: 0;
  padding: 0;
}
.flexslider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}
.flexslider .slides img {
  width: 100%;
  display: block;
}
.flexslider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] .flexslider .slides {
  display: block;
}
* html .flexslider .slides {
  height: 1%;
}
.no-js .flexslider .slides > li:first-child {
  display: block;
}
/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
.flexslider {
  margin: 0 0 60px;
  background: #fff;
  border: 4px solid #fff;
  position: relative;
  zoom: 1;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2);
}
.flexslider .slides {
  zoom: 1;
}
.flexslider .slides img {
  height: auto;
  -moz-user-select: none;
}
.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.loading .flex-viewport {
  max-height: 300px;
}
@-moz-document url-prefix() {
  .loading .flex-viewport {
    max-height: none;
  }
}
.carousel li {
  margin-right: 5px;
}
.flex-direction-nav {
  *height: 0;
}
.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.flex-direction-nav a:before {
  font-family: "flexslider-icon";
  font-size: 40px;
  display: inline-block;
  content: '\f001';
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
}
.flex-direction-nav a.flex-next:before {
  content: '\f002';
}
.flex-direction-nav .flex-prev {
  left: -50px;
}
.flex-direction-nav .flex-next {
  right: -50px;
  text-align: right;
}
.flexslider:hover .flex-direction-nav .flex-prev {
  opacity: 0.7;
  left: 10px;
}
.flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 1;
}
.flexslider:hover .flex-direction-nav .flex-next {
  opacity: 0.7;
  right: 10px;
}
.flexslider:hover .flex-direction-nav .flex-next:hover {
  opacity: 1;
}
.flex-direction-nav .flex-disabled {
  opacity: 0!important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1;
}
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000;
}
.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004';
}
.flex-pauseplay a:hover {
  opacity: 1;
}
.flex-pauseplay a.flex-play:before {
  content: '\f003';
}
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -40px;
  text-align: center;
}
.flex-control-nav li {
  margin: 0 6px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.flex-control-paging li a {
  width: 11px;
  height: 11px;
  display: block;
  background: #666;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-indent: -9999px;
  -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.flex-control-paging li a:hover {
  background: #333;
  background: rgba(0, 0, 0, 0.7);
}
.flex-control-paging li a.flex-active {
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  cursor: default;
}
.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden;
}
.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
}
.flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .7;
  cursor: pointer;
  -moz-user-select: none;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.flex-control-thumbs img:hover {
  opacity: 1;
}
.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default;
}
/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 10px;
  }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 10px;
  }
}

/*!
 *  Weather Icons 2.0.10
 *  Updated November 1, 2020
 *  Weather themed icons for Bootstrap
 *  Author - Erik Flowers - erik@helloerik.com
 *  Email: erik@helloerik.com
 *  Twitter: http://twitter.com/Erik_UX
 *  ------------------------------------------------------------------------------
 *  Maintained at http://erikflowers.github.io/weather-icons
 *
 *  License
 *  ------------------------------------------------------------------------------
 *  - Font licensed under SIL OFL 1.1 -
 *    http://scripts.sil.org/OFL
 *  - CSS, SCSS and LESS are licensed under MIT License -
 *    http://opensource.org/licenses/mit-license.html
 *  - Documentation licensed under CC BY 3.0 -
 *    http://creativecommons.org/licenses/by/3.0/
 *  - Inspired by and works great as a companion with Font Awesome
 *    "Font Awesome by Dave Gandy - http://fontawesome.io"
 
 */@font-face{font-family:'weathericons';src:url('../font/weathericons-regular-webfont.eot');src:url('../font/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'),url('../font/weathericons-regular-webfont.woff2') format('woff2'),url('../font/weathericons-regular-webfont.woff') format('woff'),url('../font/weathericons-regular-webfont.ttf') format('truetype'),url('../font/weathericons-regular-webfont.svg#weather_iconsregular') format('svg');font-weight:normal;font-style:normal}.wi{display:inline-block;font-family:'weathericons';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wi-fw{text-align:center;width:1.4em}.wi-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wi-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wi-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.wi-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.wi-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}.wi-day-sunny:before{content:"\f00d"}.wi-day-cloudy:before{content:"\f002"}.wi-day-cloudy-gusts:before{content:"\f000"}.wi-day-cloudy-windy:before{content:"\f001"}.wi-day-fog:before{content:"\f003"}.wi-day-hail:before{content:"\f004"}.wi-day-haze:before{content:"\f0b6"}.wi-day-lightning:before{content:"\f005"}.wi-day-rain:before{content:"\f008"}.wi-day-rain-mix:before{content:"\f006"}.wi-day-rain-wind:before{content:"\f007"}.wi-day-showers:before{content:"\f009"}.wi-day-sleet:before{content:"\f0b2"}.wi-day-sleet-storm:before{content:"\f068"}.wi-day-snow:before{content:"\f00a"}.wi-day-snow-thunderstorm:before{content:"\f06b"}.wi-day-snow-wind:before{content:"\f065"}.wi-day-sprinkle:before{content:"\f00b"}.wi-day-storm-showers:before{content:"\f00e"}.wi-day-sunny-overcast:before{content:"\f00c"}.wi-day-thunderstorm:before{content:"\f010"}.wi-day-windy:before{content:"\f085"}.wi-solar-eclipse:before{content:"\f06e"}.wi-hot:before{content:"\f072"}.wi-day-cloudy-high:before{content:"\f07d"}.wi-day-light-wind:before{content:"\f0c4"}.wi-night-clear:before{content:"\f02e"}.wi-night-alt-cloudy:before{content:"\f086"}.wi-night-alt-cloudy-gusts:before{content:"\f022"}.wi-night-alt-cloudy-windy:before{content:"\f023"}.wi-night-alt-hail:before{content:"\f024"}.wi-night-alt-lightning:before{content:"\f025"}.wi-night-alt-rain:before{content:"\f028"}.wi-night-alt-rain-mix:before{content:"\f026"}.wi-night-alt-rain-wind:before{content:"\f027"}.wi-night-alt-showers:before{content:"\f029"}.wi-night-alt-sleet:before{content:"\f0b4"}.wi-night-alt-sleet-storm:before{content:"\f06a"}.wi-night-alt-snow:before{content:"\f02a"}.wi-night-alt-snow-thunderstorm:before{content:"\f06d"}.wi-night-alt-snow-wind:before{content:"\f067"}.wi-night-alt-sprinkle:before{content:"\f02b"}.wi-night-alt-storm-showers:before{content:"\f02c"}.wi-night-alt-thunderstorm:before{content:"\f02d"}.wi-night-cloudy:before{content:"\f031"}.wi-night-cloudy-gusts:before{content:"\f02f"}.wi-night-cloudy-windy:before{content:"\f030"}.wi-night-fog:before{content:"\f04a"}.wi-night-hail:before{content:"\f032"}.wi-night-lightning:before{content:"\f033"}.wi-night-partly-cloudy:before{content:"\f083"}.wi-night-rain:before{content:"\f036"}.wi-night-rain-mix:before{content:"\f034"}.wi-night-rain-wind:before{content:"\f035"}.wi-night-showers:before{content:"\f037"}.wi-night-sleet:before{content:"\f0b3"}.wi-night-sleet-storm:before{content:"\f069"}.wi-night-snow:before{content:"\f038"}.wi-night-snow-thunderstorm:before{content:"\f06c"}.wi-night-snow-wind:before{content:"\f066"}.wi-night-sprinkle:before{content:"\f039"}.wi-night-storm-showers:before{content:"\f03a"}.wi-night-thunderstorm:before{content:"\f03b"}.wi-lunar-eclipse:before{content:"\f070"}.wi-stars:before{content:"\f077"}.wi-storm-showers:before{content:"\f01d"}.wi-thunderstorm:before{content:"\f01e"}.wi-night-alt-cloudy-high:before{content:"\f07e"}.wi-night-cloudy-high:before{content:"\f080"}.wi-night-alt-partly-cloudy:before{content:"\f081"}.wi-cloud:before{content:"\f041"}.wi-cloudy:before{content:"\f013"}.wi-cloudy-gusts:before{content:"\f011"}.wi-cloudy-windy:before{content:"\f012"}.wi-fog:before{content:"\f014"}.wi-hail:before{content:"\f015"}.wi-rain:before{content:"\f019"}.wi-rain-mix:before{content:"\f017"}.wi-rain-wind:before{content:"\f018"}.wi-showers:before{content:"\f01a"}.wi-sleet:before{content:"\f0b5"}.wi-snow:before{content:"\f01b"}.wi-sprinkle:before{content:"\f01c"}.wi-storm-showers:before{content:"\f01d"}.wi-thunderstorm:before{content:"\f01e"}.wi-snow-wind:before{content:"\f064"}.wi-snow:before{content:"\f01b"}.wi-smog:before{content:"\f074"}.wi-smoke:before{content:"\f062"}.wi-lightning:before{content:"\f016"}.wi-raindrops:before{content:"\f04e"}.wi-raindrop:before{content:"\f078"}.wi-dust:before{content:"\f063"}.wi-snowflake-cold:before{content:"\f076"}.wi-windy:before{content:"\f021"}.wi-strong-wind:before{content:"\f050"}.wi-sandstorm:before{content:"\f082"}.wi-earthquake:before{content:"\f0c6"}.wi-fire:before{content:"\f0c7"}.wi-flood:before{content:"\f07c"}.wi-meteor:before{content:"\f071"}.wi-tsunami:before{content:"\f0c5"}.wi-volcano:before{content:"\f0c8"}.wi-hurricane:before{content:"\f073"}.wi-tornado:before{content:"\f056"}.wi-small-craft-advisory:before{content:"\f0cc"}.wi-gale-warning:before{content:"\f0cd"}.wi-storm-warning:before{content:"\f0ce"}.wi-hurricane-warning:before{content:"\f0cf"}.wi-wind-direction:before{content:"\f0b1"}.wi-alien:before{content:"\f075"}.wi-celsius:before{content:"\f03c"}.wi-fahrenheit:before{content:"\f045"}.wi-degrees:before{content:"\f042"}.wi-thermometer:before{content:"\f055"}.wi-thermometer-exterior:before{content:"\f053"}.wi-thermometer-internal:before{content:"\f054"}.wi-cloud-down:before{content:"\f03d"}.wi-cloud-up:before{content:"\f040"}.wi-cloud-refresh:before{content:"\f03e"}.wi-horizon:before{content:"\f047"}.wi-horizon-alt:before{content:"\f046"}.wi-sunrise:before{content:"\f051"}.wi-sunset:before{content:"\f052"}.wi-moonrise:before{content:"\f0c9"}.wi-moonset:before{content:"\f0ca"}.wi-refresh:before{content:"\f04c"}.wi-refresh-alt:before{content:"\f04b"}.wi-umbrella:before{content:"\f084"}.wi-barometer:before{content:"\f079"}.wi-humidity:before{content:"\f07a"}.wi-na:before{content:"\f07b"}.wi-train:before{content:"\f0cb"}.wi-moon-new:before{content:"\f095"}.wi-moon-waxing-crescent-1:before{content:"\f096"}.wi-moon-waxing-crescent-2:before{content:"\f097"}.wi-moon-waxing-crescent-3:before{content:"\f098"}.wi-moon-waxing-crescent-4:before{content:"\f099"}.wi-moon-waxing-crescent-5:before{content:"\f09a"}.wi-moon-waxing-crescent-6:before{content:"\f09b"}.wi-moon-first-quarter:before{content:"\f09c"}.wi-moon-waxing-gibbous-1:before{content:"\f09d"}.wi-moon-waxing-gibbous-2:before{content:"\f09e"}.wi-moon-waxing-gibbous-3:before{content:"\f09f"}.wi-moon-waxing-gibbous-4:before{content:"\f0a0"}.wi-moon-waxing-gibbous-5:before{content:"\f0a1"}.wi-moon-waxing-gibbous-6:before{content:"\f0a2"}.wi-moon-full:before{content:"\f0a3"}.wi-moon-waning-gibbous-1:before{content:"\f0a4"}.wi-moon-waning-gibbous-2:before{content:"\f0a5"}.wi-moon-waning-gibbous-3:before{content:"\f0a6"}.wi-moon-waning-gibbous-4:before{content:"\f0a7"}.wi-moon-waning-gibbous-5:before{content:"\f0a8"}.wi-moon-waning-gibbous-6:before{content:"\f0a9"}.wi-moon-third-quarter:before{content:"\f0aa"}.wi-moon-waning-crescent-1:before{content:"\f0ab"}.wi-moon-waning-crescent-2:before{content:"\f0ac"}.wi-moon-waning-crescent-3:before{content:"\f0ad"}.wi-moon-waning-crescent-4:before{content:"\f0ae"}.wi-moon-waning-crescent-5:before{content:"\f0af"}.wi-moon-waning-crescent-6:before{content:"\f0b0"}.wi-moon-alt-new:before{content:"\f0eb"}.wi-moon-alt-waxing-crescent-1:before{content:"\f0d0"}.wi-moon-alt-waxing-crescent-2:before{content:"\f0d1"}.wi-moon-alt-waxing-crescent-3:before{content:"\f0d2"}.wi-moon-alt-waxing-crescent-4:before{content:"\f0d3"}.wi-moon-alt-waxing-crescent-5:before{content:"\f0d4"}.wi-moon-alt-waxing-crescent-6:before{content:"\f0d5"}.wi-moon-alt-first-quarter:before{content:"\f0d6"}.wi-moon-alt-waxing-gibbous-1:before{content:"\f0d7"}.wi-moon-alt-waxing-gibbous-2:before{content:"\f0d8"}.wi-moon-alt-waxing-gibbous-3:before{content:"\f0d9"}.wi-moon-alt-waxing-gibbous-4:before{content:"\f0da"}.wi-moon-alt-waxing-gibbous-5:before{content:"\f0db"}.wi-moon-alt-waxing-gibbous-6:before{content:"\f0dc"}.wi-moon-alt-full:before{content:"\f0dd"}.wi-moon-alt-waning-gibbous-1:before{content:"\f0de"}.wi-moon-alt-waning-gibbous-2:before{content:"\f0df"}.wi-moon-alt-waning-gibbous-3:before{content:"\f0e0"}.wi-moon-alt-waning-gibbous-4:before{content:"\f0e1"}.wi-moon-alt-waning-gibbous-5:before{content:"\f0e2"}.wi-moon-alt-waning-gibbous-6:before{content:"\f0e3"}.wi-moon-alt-third-quarter:before{content:"\f0e4"}.wi-moon-alt-waning-crescent-1:before{content:"\f0e5"}.wi-moon-alt-waning-crescent-2:before{content:"\f0e6"}.wi-moon-alt-waning-crescent-3:before{content:"\f0e7"}.wi-moon-alt-waning-crescent-4:before{content:"\f0e8"}.wi-moon-alt-waning-crescent-5:before{content:"\f0e9"}.wi-moon-alt-waning-crescent-6:before{content:"\f0ea"}.wi-moon-0:before{content:"\f095"}.wi-moon-1:before{content:"\f096"}.wi-moon-2:before{content:"\f097"}.wi-moon-3:before{content:"\f098"}.wi-moon-4:before{content:"\f099"}.wi-moon-5:before{content:"\f09a"}.wi-moon-6:before{content:"\f09b"}.wi-moon-7:before{content:"\f09c"}.wi-moon-8:before{content:"\f09d"}.wi-moon-9:before{content:"\f09e"}.wi-moon-10:before{content:"\f09f"}.wi-moon-11:before{content:"\f0a0"}.wi-moon-12:before{content:"\f0a1"}.wi-moon-13:before{content:"\f0a2"}.wi-moon-14:before{content:"\f0a3"}.wi-moon-15:before{content:"\f0a4"}.wi-moon-16:before{content:"\f0a5"}.wi-moon-17:before{content:"\f0a6"}.wi-moon-18:before{content:"\f0a7"}.wi-moon-19:before{content:"\f0a8"}.wi-moon-20:before{content:"\f0a9"}.wi-moon-21:before{content:"\f0aa"}.wi-moon-22:before{content:"\f0ab"}.wi-moon-23:before{content:"\f0ac"}.wi-moon-24:before{content:"\f0ad"}.wi-moon-25:before{content:"\f0ae"}.wi-moon-26:before{content:"\f0af"}.wi-moon-27:before{content:"\f0b0"}.wi-time-1:before{content:"\f08a"}.wi-time-2:before{content:"\f08b"}.wi-time-3:before{content:"\f08c"}.wi-time-4:before{content:"\f08d"}.wi-time-5:before{content:"\f08e"}.wi-time-6:before{content:"\f08f"}.wi-time-7:before{content:"\f090"}.wi-time-8:before{content:"\f091"}.wi-time-9:before{content:"\f092"}.wi-time-10:before{content:"\f093"}.wi-time-11:before{content:"\f094"}.wi-time-12:before{content:"\f089"}.wi-direction-up:before{content:"\f058"}.wi-direction-up-right:before{content:"\f057"}.wi-direction-right:before{content:"\f04d"}.wi-direction-down-right:before{content:"\f088"}.wi-direction-down:before{content:"\f044"}.wi-direction-down-left:before{content:"\f043"}.wi-direction-left:before{content:"\f048"}.wi-direction-up-left:before{content:"\f087"}.wi-wind-beaufort-0:before{content:"\f0b7"}.wi-wind-beaufort-1:before{content:"\f0b8"}.wi-wind-beaufort-2:before{content:"\f0b9"}.wi-wind-beaufort-3:before{content:"\f0ba"}.wi-wind-beaufort-4:before{content:"\f0bb"}.wi-wind-beaufort-5:before{content:"\f0bc"}.wi-wind-beaufort-6:before{content:"\f0bd"}.wi-wind-beaufort-7:before{content:"\f0be"}.wi-wind-beaufort-8:before{content:"\f0bf"}.wi-wind-beaufort-9:before{content:"\f0c0"}.wi-wind-beaufort-10:before{content:"\f0c1"}.wi-wind-beaufort-11:before{content:"\f0c2"}.wi-wind-beaufort-12:before{content:"\f0c3"}.wi-yahoo-0:before{content:"\f056"}.wi-yahoo-1:before{content:"\f00e"}.wi-yahoo-2:before{content:"\f073"}.wi-yahoo-3:before{content:"\f01e"}.wi-yahoo-4:before{content:"\f01e"}.wi-yahoo-5:before{content:"\f017"}.wi-yahoo-6:before{content:"\f017"}.wi-yahoo-7:before{content:"\f017"}.wi-yahoo-8:before{content:"\f015"}.wi-yahoo-9:before{content:"\f01a"}.wi-yahoo-10:before{content:"\f015"}.wi-yahoo-11:before{content:"\f01a"}.wi-yahoo-12:before{content:"\f01a"}.wi-yahoo-13:before{content:"\f01b"}.wi-yahoo-14:before{content:"\f00a"}.wi-yahoo-15:before{content:"\f064"}.wi-yahoo-16:before{content:"\f01b"}.wi-yahoo-17:before{content:"\f015"}.wi-yahoo-18:before{content:"\f017"}.wi-yahoo-19:before{content:"\f063"}.wi-yahoo-20:before{content:"\f014"}.wi-yahoo-21:before{content:"\f021"}.wi-yahoo-22:before{content:"\f062"}.wi-yahoo-23:before{content:"\f050"}.wi-yahoo-24:before{content:"\f050"}.wi-yahoo-25:before{content:"\f076"}.wi-yahoo-26:before{content:"\f013"}.wi-yahoo-27:before{content:"\f031"}.wi-yahoo-28:before{content:"\f002"}.wi-yahoo-29:before{content:"\f031"}.wi-yahoo-30:before{content:"\f002"}.wi-yahoo-31:before{content:"\f02e"}.wi-yahoo-32:before{content:"\f00d"}.wi-yahoo-33:before{content:"\f083"}.wi-yahoo-34:before{content:"\f00c"}.wi-yahoo-35:before{content:"\f017"}.wi-yahoo-36:before{content:"\f072"}.wi-yahoo-37:before{content:"\f00e"}.wi-yahoo-38:before{content:"\f00e"}.wi-yahoo-39:before{content:"\f00e"}.wi-yahoo-40:before{content:"\f01a"}.wi-yahoo-41:before{content:"\f064"}.wi-yahoo-42:before{content:"\f01b"}.wi-yahoo-43:before{content:"\f064"}.wi-yahoo-44:before{content:"\f00c"}.wi-yahoo-45:before{content:"\f00e"}.wi-yahoo-46:before{content:"\f01b"}.wi-yahoo-47:before{content:"\f00e"}.wi-yahoo-3200:before{content:"\f077"}.wi-forecast-io-clear-day:before{content:"\f00d"}.wi-forecast-io-clear-night:before{content:"\f02e"}.wi-forecast-io-rain:before{content:"\f019"}.wi-forecast-io-snow:before{content:"\f01b"}.wi-forecast-io-sleet:before{content:"\f0b5"}.wi-forecast-io-wind:before{content:"\f050"}.wi-forecast-io-fog:before{content:"\f014"}.wi-forecast-io-cloudy:before{content:"\f013"}.wi-forecast-io-partly-cloudy-day:before{content:"\f002"}.wi-forecast-io-partly-cloudy-night:before{content:"\f031"}.wi-forecast-io-hail:before{content:"\f015"}.wi-forecast-io-thunderstorm:before{content:"\f01e"}.wi-forecast-io-tornado:before{content:"\f056"}.wi-wmo4680-0:before,.wi-wmo4680-00:before{content:"\f055"}.wi-wmo4680-1:before,.wi-wmo4680-01:before{content:"\f013"}.wi-wmo4680-2:before,.wi-wmo4680-02:before{content:"\f055"}.wi-wmo4680-3:before,.wi-wmo4680-03:before{content:"\f013"}.wi-wmo4680-4:before,.wi-wmo4680-04:before{content:"\f014"}.wi-wmo4680-5:before,.wi-wmo4680-05:before{content:"\f014"}.wi-wmo4680-10:before{content:"\f014"}.wi-wmo4680-11:before{content:"\f014"}.wi-wmo4680-12:before{content:"\f016"}.wi-wmo4680-18:before{content:"\f050"}.wi-wmo4680-20:before{content:"\f014"}.wi-wmo4680-21:before{content:"\f017"}.wi-wmo4680-22:before{content:"\f017"}.wi-wmo4680-23:before{content:"\f019"}.wi-wmo4680-24:before{content:"\f01b"}.wi-wmo4680-25:before{content:"\f015"}.wi-wmo4680-26:before{content:"\f01e"}.wi-wmo4680-27:before{content:"\f063"}.wi-wmo4680-28:before{content:"\f063"}.wi-wmo4680-29:before{content:"\f063"}.wi-wmo4680-30:before{content:"\f014"}.wi-wmo4680-31:before{content:"\f014"}.wi-wmo4680-32:before{content:"\f014"}.wi-wmo4680-33:before{content:"\f014"}.wi-wmo4680-34:before{content:"\f014"}.wi-wmo4680-35:before{content:"\f014"}.wi-wmo4680-40:before{content:"\f017"}.wi-wmo4680-41:before{content:"\f01c"}.wi-wmo4680-42:before{content:"\f019"}.wi-wmo4680-43:before{content:"\f01c"}.wi-wmo4680-44:before{content:"\f019"}.wi-wmo4680-45:before{content:"\f015"}.wi-wmo4680-46:before{content:"\f015"}.wi-wmo4680-47:before{content:"\f01b"}.wi-wmo4680-48:before{content:"\f01b"}.wi-wmo4680-50:before{content:"\f01c"}.wi-wmo4680-51:before{content:"\f01c"}.wi-wmo4680-52:before{content:"\f019"}.wi-wmo4680-53:before{content:"\f019"}.wi-wmo4680-54:before{content:"\f076"}.wi-wmo4680-55:before{content:"\f076"}.wi-wmo4680-56:before{content:"\f076"}.wi-wmo4680-57:before{content:"\f01c"}.wi-wmo4680-58:before{content:"\f019"}.wi-wmo4680-60:before{content:"\f01c"}.wi-wmo4680-61:before{content:"\f01c"}.wi-wmo4680-62:before{content:"\f019"}.wi-wmo4680-63:before{content:"\f019"}.wi-wmo4680-64:before{content:"\f015"}.wi-wmo4680-65:before{content:"\f015"}.wi-wmo4680-66:before{content:"\f015"}.wi-wmo4680-67:before{content:"\f017"}.wi-wmo4680-68:before{content:"\f017"}.wi-wmo4680-70:before{content:"\f01b"}.wi-wmo4680-71:before{content:"\f01b"}.wi-wmo4680-72:before{content:"\f01b"}.wi-wmo4680-73:before{content:"\f01b"}.wi-wmo4680-74:before{content:"\f076"}.wi-wmo4680-75:before{content:"\f076"}.wi-wmo4680-76:before{content:"\f076"}.wi-wmo4680-77:before{content:"\f01b"}.wi-wmo4680-78:before{content:"\f076"}.wi-wmo4680-80:before{content:"\f019"}.wi-wmo4680-81:before{content:"\f01c"}.wi-wmo4680-82:before{content:"\f019"}.wi-wmo4680-83:before{content:"\f019"}.wi-wmo4680-84:before{content:"\f01d"}.wi-wmo4680-85:before{content:"\f017"}.wi-wmo4680-86:before{content:"\f017"}.wi-wmo4680-87:before{content:"\f017"}.wi-wmo4680-89:before{content:"\f015"}.wi-wmo4680-90:before{content:"\f016"}.wi-wmo4680-91:before{content:"\f01d"}.wi-wmo4680-92:before{content:"\f01e"}.wi-wmo4680-93:before{content:"\f01e"}.wi-wmo4680-94:before{content:"\f016"}.wi-wmo4680-95:before{content:"\f01e"}.wi-wmo4680-96:before{content:"\f01e"}.wi-wmo4680-99:before{content:"\f056"}.wi-owm-200:before{content:"\f01e"}.wi-owm-201:before{content:"\f01e"}.wi-owm-202:before{content:"\f01e"}.wi-owm-210:before{content:"\f016"}.wi-owm-211:before{content:"\f016"}.wi-owm-212:before{content:"\f016"}.wi-owm-221:before{content:"\f016"}.wi-owm-230:before{content:"\f01e"}.wi-owm-231:before{content:"\f01e"}.wi-owm-232:before{content:"\f01e"}.wi-owm-300:before{content:"\f01c"}.wi-owm-301:before{content:"\f01c"}.wi-owm-302:before{content:"\f019"}.wi-owm-310:before{content:"\f017"}.wi-owm-311:before{content:"\f019"}.wi-owm-312:before{content:"\f019"}.wi-owm-313:before{content:"\f01a"}.wi-owm-314:before{content:"\f019"}.wi-owm-321:before{content:"\f01c"}.wi-owm-500:before{content:"\f01c"}.wi-owm-501:before{content:"\f019"}.wi-owm-502:before{content:"\f019"}.wi-owm-503:before{content:"\f019"}.wi-owm-504:before{content:"\f019"}.wi-owm-511:before{content:"\f017"}.wi-owm-520:before{content:"\f01a"}.wi-owm-521:before{content:"\f01a"}.wi-owm-522:before{content:"\f01a"}.wi-owm-531:before{content:"\f01d"}.wi-owm-600:before{content:"\f01b"}.wi-owm-601:before{content:"\f01b"}.wi-owm-602:before{content:"\f0b5"}.wi-owm-611:before{content:"\f017"}.wi-owm-612:before{content:"\f017"}.wi-owm-615:before{content:"\f017"}.wi-owm-616:before{content:"\f017"}.wi-owm-620:before{content:"\f017"}.wi-owm-621:before{content:"\f01b"}.wi-owm-622:before{content:"\f01b"}.wi-owm-701:before{content:"\f014"}.wi-owm-711:before{content:"\f062"}.wi-owm-721:before{content:"\f0b6"}.wi-owm-731:before{content:"\f063"}.wi-owm-741:before{content:"\f014"}.wi-owm-761:before{content:"\f063"}.wi-owm-762:before{content:"\f063"}.wi-owm-771:before{content:"\f011"}.wi-owm-781:before{content:"\f056"}.wi-owm-800:before{content:"\f00d"}.wi-owm-801:before{content:"\f041"}.wi-owm-802:before{content:"\f041"}.wi-owm-803:before{content:"\f013"}.wi-owm-804:before{content:"\f013"}.wi-owm-900:before{content:"\f056"}.wi-owm-901:before{content:"\f01d"}.wi-owm-902:before{content:"\f073"}.wi-owm-903:before{content:"\f076"}.wi-owm-904:before{content:"\f072"}.wi-owm-905:before{content:"\f021"}.wi-owm-906:before{content:"\f015"}.wi-owm-957:before{content:"\f050"}.wi-owm-day-200:before{content:"\f010"}.wi-owm-day-201:before{content:"\f010"}.wi-owm-day-202:before{content:"\f010"}.wi-owm-day-210:before{content:"\f005"}.wi-owm-day-211:before{content:"\f005"}.wi-owm-day-212:before{content:"\f005"}.wi-owm-day-221:before{content:"\f005"}.wi-owm-day-230:before{content:"\f010"}.wi-owm-day-231:before{content:"\f010"}.wi-owm-day-232:before{content:"\f010"}.wi-owm-day-300:before{content:"\f00b"}.wi-owm-day-301:before{content:"\f00b"}.wi-owm-day-302:before{content:"\f008"}.wi-owm-day-310:before{content:"\f008"}.wi-owm-day-311:before{content:"\f008"}.wi-owm-day-312:before{content:"\f008"}.wi-owm-day-313:before{content:"\f008"}.wi-owm-day-314:before{content:"\f008"}.wi-owm-day-321:before{content:"\f00b"}.wi-owm-day-500:before{content:"\f00b"}.wi-owm-day-501:before{content:"\f008"}.wi-owm-day-502:before{content:"\f008"}.wi-owm-day-503:before{content:"\f008"}.wi-owm-day-504:before{content:"\f008"}.wi-owm-day-511:before{content:"\f006"}.wi-owm-day-520:before{content:"\f009"}.wi-owm-day-521:before{content:"\f009"}.wi-owm-day-522:before{content:"\f009"}.wi-owm-day-531:before{content:"\f00e"}.wi-owm-day-600:before{content:"\f00a"}.wi-owm-day-601:before{content:"\f0b2"}.wi-owm-day-602:before{content:"\f00a"}.wi-owm-day-611:before{content:"\f006"}.wi-owm-day-612:before{content:"\f006"}.wi-owm-day-615:before{content:"\f006"}.wi-owm-day-616:before{content:"\f006"}.wi-owm-day-620:before{content:"\f006"}.wi-owm-day-621:before{content:"\f00a"}.wi-owm-day-622:before{content:"\f00a"}.wi-owm-day-701:before{content:"\f003"}.wi-owm-day-711:before{content:"\f062"}.wi-owm-day-721:before{content:"\f0b6"}.wi-owm-day-731:before{content:"\f063"}.wi-owm-day-741:before{content:"\f003"}.wi-owm-day-761:before{content:"\f063"}.wi-owm-day-762:before{content:"\f063"}.wi-owm-day-781:before{content:"\f056"}.wi-owm-day-800:before{content:"\f00d"}.wi-owm-day-801:before{content:"\f002"}.wi-owm-day-802:before{content:"\f002"}.wi-owm-day-803:before{content:"\f013"}.wi-owm-day-804:before{content:"\f013"}.wi-owm-day-900:before{content:"\f056"}.wi-owm-day-902:before{content:"\f073"}.wi-owm-day-903:before{content:"\f076"}.wi-owm-day-904:before{content:"\f072"}.wi-owm-day-906:before{content:"\f004"}.wi-owm-day-957:before{content:"\f050"}.wi-owm-night-200:before{content:"\f02d"}.wi-owm-night-201:before{content:"\f02d"}.wi-owm-night-202:before{content:"\f02d"}.wi-owm-night-210:before{content:"\f025"}.wi-owm-night-211:before{content:"\f025"}.wi-owm-night-212:before{content:"\f025"}.wi-owm-night-221:before{content:"\f025"}.wi-owm-night-230:before{content:"\f02d"}.wi-owm-night-231:before{content:"\f02d"}.wi-owm-night-232:before{content:"\f02d"}.wi-owm-night-300:before{content:"\f02b"}.wi-owm-night-301:before{content:"\f02b"}.wi-owm-night-302:before{content:"\f028"}.wi-owm-night-310:before{content:"\f028"}.wi-owm-night-311:before{content:"\f028"}.wi-owm-night-312:before{content:"\f028"}.wi-owm-night-313:before{content:"\f028"}.wi-owm-night-314:before{content:"\f028"}.wi-owm-night-321:before{content:"\f02b"}.wi-owm-night-500:before{content:"\f02b"}.wi-owm-night-501:before{content:"\f028"}.wi-owm-night-502:before{content:"\f028"}.wi-owm-night-503:before{content:"\f028"}.wi-owm-night-504:before{content:"\f028"}.wi-owm-night-511:before{content:"\f026"}.wi-owm-night-520:before{content:"\f029"}.wi-owm-night-521:before{content:"\f029"}.wi-owm-night-522:before{content:"\f029"}.wi-owm-night-531:before{content:"\f02c"}.wi-owm-night-600:before{content:"\f02a"}.wi-owm-night-601:before{content:"\f0b4"}.wi-owm-night-602:before{content:"\f02a"}.wi-owm-night-611:before{content:"\f026"}.wi-owm-night-612:before{content:"\f026"}.wi-owm-night-615:before{content:"\f026"}.wi-owm-night-616:before{content:"\f026"}.wi-owm-night-620:before{content:"\f026"}.wi-owm-night-621:before{content:"\f02a"}.wi-owm-night-622:before{content:"\f02a"}.wi-owm-night-701:before{content:"\f04a"}.wi-owm-night-711:before{content:"\f062"}.wi-owm-night-721:before{content:"\f0b6"}.wi-owm-night-731:before{content:"\f063"}.wi-owm-night-741:before{content:"\f04a"}.wi-owm-night-761:before{content:"\f063"}.wi-owm-night-762:before{content:"\f063"}.wi-owm-night-781:before{content:"\f056"}.wi-owm-night-800:before{content:"\f02e"}.wi-owm-night-801:before{content:"\f081"}.wi-owm-night-802:before{content:"\f086"}.wi-owm-night-803:before{content:"\f013"}.wi-owm-night-804:before{content:"\f013"}.wi-owm-night-900:before{content:"\f056"}.wi-owm-night-902:before{content:"\f073"}.wi-owm-night-903:before{content:"\f076"}.wi-owm-night-904:before{content:"\f072"}.wi-owm-night-906:before{content:"\f024"}.wi-owm-night-957:before{content:"\f050"}.wi-wu-chanceflurries:before{content:"\f064"}.wi-wu-chancerain:before{content:"\f019"}.wi-wu-chancesleat:before{content:"\f0b5"}.wi-wu-chancesnow:before{content:"\f01b"}.wi-wu-chancetstorms:before{content:"\f01e"}.wi-wu-clear:before{content:"\f00d"}.wi-wu-cloudy:before{content:"\f002"}.wi-wu-flurries:before{content:"\f064"}.wi-wu-hazy:before{content:"\f0b6"}.wi-wu-mostlycloudy:before{content:"\f002"}.wi-wu-mostlysunny:before{content:"\f00d"}.wi-wu-partlycloudy:before{content:"\f002"}.wi-wu-partlysunny:before{content:"\f00d"}.wi-wu-rain:before{content:"\f01a"}.wi-wu-sleat:before{content:"\f0b5"}.wi-wu-snow:before{content:"\f01b"}.wi-wu-sunny:before{content:"\f00d"}.wi-wu-tstorms:before{content:"\f01e"}.wi-wu-unknown:before{content:"\f00d"}/*# sourceMappingURL=weather-icons.min.css.map */