@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
@import url(https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600,700);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,700,700italic);
@import url(https://fonts.googleapis.com/css?family=Cardo:400,400italic,700);
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

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

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

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

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

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

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

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

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

small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

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

figure {
  margin: 1em 40px; }

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

pre {
  overflow: auto; }

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

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

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

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

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

input {
  line-height: normal; }

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

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

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

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

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

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

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

td,
th {
  padding: 0; }

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .navbar {
    display: none; }
  .btn > .caret, .specialist-search button > .caret,
  .dropup > .btn > .caret,
  .specialist-search .dropup > button > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

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

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857;
  color: #333333;
  background-color: #fff; }

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

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

figure {
  margin: 0; }

img {
  vertical-align: middle; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 3px; }

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

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

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  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; }

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

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }
  h1 small,
  h1 .small,
  h1 .news-list li p.date,
  .news-list li h1 p.date, h2 small,
  h2 .small,
  h2 .news-list li p.date,
  .news-list li h2 p.date, h3 small,
  h3 .small,
  h3 .news-list li p.date,
  .news-list li h3 p.date, h4 small,
  h4 .small,
  h4 .news-list li p.date,
  .news-list li h4 p.date, h5 small,
  h5 .small,
  h5 .news-list li p.date,
  .news-list li h5 p.date, h6 small,
  h6 .small,
  h6 .news-list li p.date,
  .news-list li h6 p.date,
  .h1 small,
  .h1 .small,
  .h1 .news-list li p.date,
  .news-list li .h1 p.date, .h2 small,
  .h2 .small,
  .h2 .news-list li p.date,
  .news-list li .h2 p.date, .h3 small,
  .h3 .small,
  .h3 .news-list li p.date,
  .news-list li .h3 p.date, .h4 small,
  .h4 .small,
  .h4 .news-list li p.date,
  .news-list li .h4 p.date, .h5 small,
  .h5 .small,
  .h5 .news-list li p.date,
  .news-list li .h5 p.date, .h6 small,
  .h6 .small,
  .h6 .news-list li p.date,
  .news-list li .h6 p.date {
    font-weight: normal;
    line-height: 1;
    color: #777777; }

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px; }
  h1 small,
  h1 .small,
  h1 .news-list li p.date,
  .news-list li h1 p.date, .h1 small,
  .h1 .small,
  .h1 .news-list li p.date,
  .news-list li .h1 p.date,
  h2 small,
  h2 .small,
  h2 .news-list li p.date,
  .news-list li h2 p.date, .h2 small,
  .h2 .small,
  .h2 .news-list li p.date,
  .news-list li .h2 p.date,
  h3 small,
  h3 .small,
  h3 .news-list li p.date,
  .news-list li h3 p.date, .h3 small,
  .h3 .small,
  .h3 .news-list li p.date,
  .news-list li .h3 p.date {
    font-size: 65%; }

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px; }
  h4 small,
  h4 .small,
  h4 .news-list li p.date,
  .news-list li h4 p.date, .h4 small,
  .h4 .small,
  .h4 .news-list li p.date,
  .news-list li .h4 p.date,
  h5 small,
  h5 .small,
  h5 .news-list li p.date,
  .news-list li h5 p.date, .h5 small,
  .h5 .small,
  .h5 .news-list li p.date,
  .news-list li .h5 p.date,
  h6 small,
  h6 .small,
  h6 .news-list li p.date,
  .news-list li h6 p.date, .h6 small,
  .h6 .small,
  .h6 .news-list li p.date,
  .news-list li .h6 p.date {
    font-size: 75%; }

h1, .h1 {
  font-size: 36px; }

h2, .h2 {
  font-size: 30px; }

h3, .h3 {
  font-size: 24px; }

h4, .h4 {
  font-size: 18px; }

h5, .h5 {
  font-size: 14px; }

h6, .h6 {
  font-size: 12px; }

p {
  margin: 0 0 10px; }

.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .lead {
      font-size: 21px; } }

small,
.small,
.news-list li p.date {
  font-size: 85%; }

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

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

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

.text-center, .banner-text {
  text-align: center; }

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

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

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

.text-uppercase, .initialism {
  text-transform: uppercase; }

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

.text-muted {
  color: #777777; }

.text-primary {
  color: #337ab7; }

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

.text-success {
  color: #3c763d; }

a.text-success:hover,
a.text-success:focus {
  color: #2b542c; }

.text-info {
  color: #31708f; }

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

.text-warning {
  color: #8a6d3b; }

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

.text-danger {
  color: #a94442; }

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

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #337ab7; }

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

.bg-success {
  background-color: #dff0d8; }

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

.bg-info {
  background-color: #d9edf7; }

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

.bg-warning {
  background-color: #fcf8e3; }

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

.bg-danger {
  background-color: #f2dede; }

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

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0; }

.list-unstyled, .news-spotlight-holder ul,
.events-spotlight-holder ul, .founder-list, .video-list, ul.events-list, .sidebar, .specialist-search ul, .news-list, .event-list-holder ul {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
  .list-inline > li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px; }

dl {
  margin-top: 0;
  margin-bottom: 20px; }

dt,
dd {
  line-height: 1.42857; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

.dl-horizontal dd:before, .congress-event-group dd:before, .dl-horizontal dd:after, .congress-event-group dd:after {
  content: " ";
  display: table; }

.dl-horizontal dd:after, .congress-event-group dd:after {
  clear: both; }

@media (min-width: 768px) {
  .dl-horizontal dt, .congress-event-group dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd, .congress-event-group dd {
    margin-left: 180px; } }

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

.initialism {
  font-size: 90%; }

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #eeeeee; }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0; }
  blockquote footer,
  blockquote small,
  blockquote .small,
  blockquote .news-list li p.date,
  .news-list li blockquote p.date {
    display: block;
    font-size: 80%;
    line-height: 1.42857;
    color: #777777; }
    blockquote footer:before,
    blockquote small:before,
    blockquote .small:before,
    blockquote .news-list li p.date:before,
    .news-list li blockquote p.date:before {
      content: '\2014 \00A0'; }

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right; }
  .blockquote-reverse footer:before,
  .blockquote-reverse small:before,
  .blockquote-reverse .small:before,
  .blockquote-reverse .news-list li p.date:before,
  .news-list li .blockquote-reverse p.date:before,
  blockquote.pull-right footer:before,
  blockquote.pull-right small:before,
  blockquote.pull-right .small:before,
  blockquote.pull-right .news-list li p.date:before,
  .news-list li blockquote.pull-right p.date:before {
    content: ''; }
  .blockquote-reverse footer:after,
  .blockquote-reverse small:after,
  .blockquote-reverse .small:after,
  .blockquote-reverse .news-list li p.date:after,
  .news-list li .blockquote-reverse p.date:after,
  blockquote.pull-right footer:after,
  blockquote.pull-right small:after,
  blockquote.pull-right .small:after,
  blockquote.pull-right .news-list li p.date:after,
  .news-list li blockquote.pull-right p.date:after {
    content: '\00A0 \2014'; }

address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857; }

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

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px; }

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold;
    box-shadow: none; }

pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0; }

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

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container:before, .container:after {
    content: " ";
    display: table; }
  .container:after {
    clear: both; }
  @media (min-width: 768px) {
    .container {
      width: 750px; } }
  @media (min-width: 992px) {
    .container {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container {
      width: 1170px; } }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container-fluid:before, .container-fluid:after {
    content: " ";
    display: table; }
  .container-fluid:after {
    clear: both; }

.row,
.events-spotlight-holder ul, .congress-intro, .congress-card-holder, .video-list, ul.events-list, .event-holder, .specialist-search ul, .news-list li, .news-detail, .banner-text-holder-congress, .congress-event-day {
  margin-left: -15px;
  margin-right: -15px; }
  .row:before, .events-spotlight-holder ul:before, .congress-intro:before, .congress-card-holder:before, .video-list:before, ul.events-list:before, .event-holder:before, .specialist-search ul:before, .news-list li:before, .news-detail:before, .banner-text-holder-congress:before, .congress-event-day:before, .row:after, .events-spotlight-holder ul:after, .congress-intro:after, .congress-card-holder:after, .video-list:after, ul.events-list:after, .event-holder:after, .specialist-search ul:after, .news-list li:after, .news-detail:after, .banner-text-holder-congress:after, .congress-event-day:after {
    content: " ";
    display: table; }
  .row:after, .events-spotlight-holder ul:after, .congress-intro:after, .congress-card-holder:after, .video-list:after, ul.events-list:after, .event-holder:after, .specialist-search ul:after, .news-list li:after, .news-detail:after, .banner-text-holder-congress:after, .congress-event-day:after {
    clear: both; }

.col-xs-1, .event-holder-date, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .event-holder-date, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .congress-card, .video-list > li, .sidebar, .specialist-search li, .news-list li img, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .news-spotlight-holder, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .news-list-holder, .col-lg-5, .col-xs-6, .col-sm-6, .video-list > li, ul.events-list li, .col-md-6, .congress-card.congress-card-first, .news-detail-container, .event-list-holder, .banner-text-holder-congress .banner-image, .banner-text-holder-congress .banner-text, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .events-spotlight-holder, .col-lg-7, .col-xs-8, .col-sm-8, .event-holder-text, .col-md-8, .news-list li h3, .news-list li p, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .event-holder-text, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .news-spotlight-holder, .events-spotlight-holder, .events-spotlight-holder ul li, .video-list > li, ul.events-list li, .banner-text-holder-congress .banner-image, .col-sm-12, .congress-card, .congress-card.congress-card-first, .specialist-search li, .news-list-holder, .news-detail-container, .news-detail img, .event-list-holder, .banner-text-holder-congress .banner-text, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.col-xs-1, .event-holder-date, .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, .event-holder-text, .col-xs-11, .col-xs-12, .news-spotlight-holder, .events-spotlight-holder, .events-spotlight-holder ul li, .video-list > li, ul.events-list li, .banner-text-holder-congress .banner-image {
  float: left; }

.col-xs-1, .event-holder-date {
  width: 8.33333%; }

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

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

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

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

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

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

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

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

.col-xs-10, .event-holder-text {
  width: 83.33333%; }

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

.col-xs-12, .news-spotlight-holder, .events-spotlight-holder, .events-spotlight-holder ul li, .video-list > li, ul.events-list li, .banner-text-holder-congress .banner-image {
  width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .event-holder-date, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .video-list > li, ul.events-list li, .col-sm-7, .col-sm-8, .event-holder-text, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .congress-card, .congress-card.congress-card-first, .specialist-search li, .news-list-holder, .news-detail-container, .news-detail img, .event-list-holder, .banner-text-holder-congress .banner-text {
    float: left; }
  .col-sm-1 {
    width: 8.33333%; }
  .col-sm-2, .event-holder-date {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6, .video-list > li, ul.events-list li {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8, .event-holder-text {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12, .congress-card, .congress-card.congress-card-first, .specialist-search li, .news-list-holder, .news-detail-container, .news-detail img, .event-list-holder, .banner-text-holder-congress .banner-text {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .congress-card, .video-list > li, .sidebar, .specialist-search li, .news-list li img, .col-md-4, .news-spotlight-holder, .col-md-5, .news-list-holder, .col-md-6, .congress-card.congress-card-first, .news-detail-container, .event-list-holder, .banner-text-holder-congress .banner-image, .banner-text-holder-congress .banner-text, .col-md-7, .events-spotlight-holder, .col-md-8, .news-list li h3, .news-list li p, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-1 {
    width: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3, .congress-card, .video-list > li, .sidebar, .specialist-search li, .news-list li img {
    width: 25%; }
  .col-md-4, .news-spotlight-holder {
    width: 33.33333%; }
  .col-md-5, .news-list-holder {
    width: 41.66667%; }
  .col-md-6, .congress-card.congress-card-first, .news-detail-container, .event-list-holder, .banner-text-holder-congress .banner-image, .banner-text-holder-congress .banner-text {
    width: 50%; }
  .col-md-7, .events-spotlight-holder {
    width: 58.33333%; }
  .col-md-8, .news-list li h3, .news-list li p {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8, .sidebar {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1, .sidebar, .news-list li img {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

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

table {
  background-color: transparent; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left; }

th {
  text-align: left; }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857;
    vertical-align: top;
    border-top: 1px solid #ddd; }
  .table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd; }
  .table > caption + thead > tr:first-child > th,
  .table > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  .table > tbody + tbody {
    border-top: 2px solid #ddd; }
  .table .table {
    background-color: #fff; }

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px; }

.table-bordered {
  border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

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

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

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column; }

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell; }

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

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

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

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

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

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

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

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

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

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

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; }
  @media screen and (max-width: 767px) {
    .table-responsive {
      width: 100%;
      margin-bottom: 15px;
      overflow-y: hidden;
      -ms-overflow-style: -ms-autohiding-scrollbar;
      border: 1px solid #ddd; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .table-responsive > .table > tfoot > tr > td {
          white-space: nowrap; }
      .table-responsive > .table-bordered {
        border: 0; }
        .table-responsive > .table-bordered > thead > tr > th:first-child,
        .table-responsive > .table-bordered > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .table-responsive > .table-bordered > tfoot > tr > td:first-child {
          border-left: 0; }
        .table-responsive > .table-bordered > thead > tr > th:last-child,
        .table-responsive > .table-bordered > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .table-responsive > .table-bordered > tfoot > tr > td:last-child {
          border-right: 0; }
        .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .table-responsive > .table-bordered > tfoot > tr:last-child > td {
          border-bottom: 0; } }

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

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5; }

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold; }

input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal; }

input[type="file"] {
  display: block; }

input[type="range"] {
  display: block;
  width: 100%; }

select[multiple],
select[size] {
  height: auto; }

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857;
  color: #555555; }

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
  .form-control::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder {
    color: #999; }
  .form-control[disabled], .form-control[readonly],
  fieldset[disabled] .form-control {
    background-color: #eeeeee;
    opacity: 1; }
  .form-control[disabled],
  fieldset[disabled] .form-control {
    cursor: not-allowed; }

textarea.form-control {
  height: auto; }

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px; }
  input[type="date"].input-sm, .input-group-sm > input.form-control[type="date"],
  .input-group-sm > input.input-group-addon[type="date"],
  .input-group-sm > .input-group-btn > input.btn[type="date"],
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input.form-control[type="time"],
  .input-group-sm > input.input-group-addon[type="time"],
  .input-group-sm > .input-group-btn > input.btn[type="time"],
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input.form-control[type="datetime-local"],
  .input-group-sm > input.input-group-addon[type="datetime-local"],
  .input-group-sm > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input.form-control[type="month"],
  .input-group-sm > input.input-group-addon[type="month"],
  .input-group-sm > .input-group-btn > input.btn[type="month"],
  .input-group-sm
  input[type="month"] {
    line-height: 30px; }
  input[type="date"].input-lg, .input-group-lg > input.form-control[type="date"],
  .input-group-lg > input.input-group-addon[type="date"],
  .input-group-lg > .input-group-btn > input.btn[type="date"],
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input.form-control[type="time"],
  .input-group-lg > input.input-group-addon[type="time"],
  .input-group-lg > .input-group-btn > input.btn[type="time"],
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input.form-control[type="datetime-local"],
  .input-group-lg > input.input-group-addon[type="datetime-local"],
  .input-group-lg > .input-group-btn > input.btn[type="datetime-local"],
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input.form-control[type="month"],
  .input-group-lg > input.input-group-addon[type="month"],
  .input-group-lg > .input-group-btn > input.btn[type="month"],
  .input-group-lg
  input[type="month"] {
    line-height: 46px; } }

.form-group {
  margin-bottom: 15px; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label,
  .checkbox label {
    min-height: 20px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px; }

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

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px; }

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

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

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

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px; }
  .form-control-static.input-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, .specialist-search .input-group-lg > .input-group-btn > button.form-control-static, .form-control-static.input-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, .specialist-search .input-group-sm > .input-group-btn > button.form-control-static {
    padding-left: 0;
    padding-right: 0; }

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn, .specialist-search .input-group-sm > .input-group-btn > button {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px; }

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 30px;
  line-height: 30px; }

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select.form-control[multiple],
.input-group-sm > select.input-group-addon[multiple],
.input-group-sm > .input-group-btn > select.btn[multiple] {
  height: auto; }

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px; }

.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px; }

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto; }

.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn, .specialist-search .input-group-lg > .input-group-btn > button {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 3px; }

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 46px;
  line-height: 46px; }

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select.form-control[multiple],
.input-group-lg > select.input-group-addon[multiple],
.input-group-lg > .input-group-btn > select.btn[multiple] {
  height: auto; }

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 3px; }

.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px; }

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto; }

.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.33333; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control {
    padding-right: 42.5px; }

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none; }

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, .specialist-search .input-group-lg > .input-group-btn > button + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px; }

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, .specialist-search .input-group-sm > .input-group-btn > button + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px; }

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d; }

.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-success .form-control:focus {
    border-color: #2b542c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8; }

.has-success .form-control-feedback {
  color: #3c763d; }

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b; }

.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-warning .form-control:focus {
    border-color: #66512c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3; }

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

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442; }

.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-error .form-control:focus {
    border-color: #843534;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }

.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede; }

.has-error .form-control-feedback {
  color: #a94442; }

.has-feedback label ~ .form-control-feedback {
  top: 25px; }

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0; }

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373; }

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

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px; }

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px; }

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px; }
  .form-horizontal .form-group:before, .form-horizontal .form-group:after {
    content: " ";
    display: table; }
  .form-horizontal .form-group:after {
    clear: both; }

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px; } }

.form-horizontal .has-feedback .form-control-feedback {
  right: 15px; }

@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.33333px;
    font-size: 18px; } }

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px; } }

.btn, .specialist-search button {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .btn:focus, .specialist-search button:focus, .btn.focus, .specialist-search button.focus, .btn:active:focus, .specialist-search button:active:focus, .btn:active.focus, .specialist-search button:active.focus, .btn.active:focus, .specialist-search button.active:focus, .btn.active.focus, .specialist-search button.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:hover, .specialist-search button:hover, .btn:focus, .specialist-search button:focus, .btn.focus, .specialist-search button.focus {
    color: #333;
    text-decoration: none; }
  .btn:active, .specialist-search button:active, .btn.active, .specialist-search button.active {
    outline: 0;
    background-image: none;
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn.disabled, .specialist-search button.disabled, .btn[disabled], .specialist-search button[disabled],
  fieldset[disabled] .btn,
  fieldset[disabled] .specialist-search button,
  .specialist-search fieldset[disabled] button {
    cursor: not-allowed;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none; }

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

.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc; }
  .btn-default:focus, .btn-default.focus {
    color: #333;
    background-color: #e6e6e6;
    border-color: #8c8c8c; }
  .btn-default:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad; }
    .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,
    .open > .btn-default.dropdown-toggle:hover,
    .open > .btn-default.dropdown-toggle:focus,
    .open > .btn-default.dropdown-toggle.focus {
      color: #333;
      background-color: #d4d4d4;
      border-color: #8c8c8c; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled].active,
  fieldset[disabled] .btn-default,
  fieldset[disabled] .btn-default:hover,
  fieldset[disabled] .btn-default:focus,
  fieldset[disabled] .btn-default.focus,
  fieldset[disabled] .btn-default:active,
  fieldset[disabled] .btn-default.active {
    background-color: #fff;
    border-color: #ccc; }
  .btn-default .badge {
    color: #fff;
    background-color: #333; }

.btn-primary, .specialist-search button {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4; }
  .btn-primary:focus, .specialist-search button:focus, .btn-primary.focus, .specialist-search button.focus {
    color: #fff;
    background-color: #286090;
    border-color: #122b40; }
  .btn-primary:hover, .specialist-search button:hover {
    color: #fff;
    background-color: #286090;
    border-color: #204d74; }
  .btn-primary:active, .specialist-search button:active, .btn-primary.active, .specialist-search button.active,
  .open > .btn-primary.dropdown-toggle,
  .specialist-search .open > button.dropdown-toggle {
    color: #fff;
    background-color: #286090;
    border-color: #204d74; }
    .btn-primary:active:hover, .specialist-search button:active:hover, .btn-primary:active:focus, .specialist-search button:active:focus, .btn-primary:active.focus, .specialist-search button:active.focus, .btn-primary.active:hover, .specialist-search button.active:hover, .btn-primary.active:focus, .specialist-search button.active:focus, .btn-primary.active.focus, .specialist-search button.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .specialist-search .open > button.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .specialist-search .open > button.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus,
    .specialist-search .open > button.dropdown-toggle.focus {
      color: #fff;
      background-color: #204d74;
      border-color: #122b40; }
  .btn-primary:active, .specialist-search button:active, .btn-primary.active, .specialist-search button.active,
  .open > .btn-primary.dropdown-toggle,
  .specialist-search .open > button.dropdown-toggle {
    background-image: none; }
  .btn-primary.disabled, .specialist-search button.disabled, .btn-primary.disabled:hover, .specialist-search button.disabled:hover, .btn-primary.disabled:focus, .specialist-search button.disabled:focus, .btn-primary.disabled.focus, .specialist-search button.disabled.focus, .btn-primary.disabled:active, .specialist-search button.disabled:active, .btn-primary.disabled.active, .specialist-search button.disabled.active, .btn-primary[disabled], .specialist-search button[disabled], .btn-primary[disabled]:hover, .specialist-search button[disabled]:hover, .btn-primary[disabled]:focus, .specialist-search button[disabled]:focus, .btn-primary[disabled].focus, .specialist-search button[disabled].focus, .btn-primary[disabled]:active, .specialist-search button[disabled]:active, .btn-primary[disabled].active, .specialist-search button[disabled].active,
  fieldset[disabled] .btn-primary,
  fieldset[disabled] .specialist-search button,
  .specialist-search fieldset[disabled] button,
  fieldset[disabled] .btn-primary:hover,
  fieldset[disabled] .specialist-search button:hover,
  .specialist-search fieldset[disabled] button:hover,
  fieldset[disabled] .btn-primary:focus,
  fieldset[disabled] .specialist-search button:focus,
  .specialist-search fieldset[disabled] button:focus,
  fieldset[disabled] .btn-primary.focus,
  fieldset[disabled] .specialist-search button.focus,
  .specialist-search fieldset[disabled] button.focus,
  fieldset[disabled] .btn-primary:active,
  fieldset[disabled] .specialist-search button:active,
  .specialist-search fieldset[disabled] button:active,
  fieldset[disabled] .btn-primary.active,
  fieldset[disabled] .specialist-search button.active,
  .specialist-search fieldset[disabled] button.active {
    background-color: #337ab7;
    border-color: #2e6da4; }
  .btn-primary .badge, .specialist-search button .badge {
    color: #337ab7;
    background-color: #fff; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #449d44;
    border-color: #255625; }
  .btn-success:hover {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #398439;
      border-color: #255625; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled].active,
  fieldset[disabled] .btn-success,
  fieldset[disabled] .btn-success:hover,
  fieldset[disabled] .btn-success:focus,
  fieldset[disabled] .btn-success.focus,
  fieldset[disabled] .btn-success:active,
  fieldset[disabled] .btn-success.active {
    background-color: #5cb85c;
    border-color: #4cae4c; }
  .btn-success .badge {
    color: #5cb85c;
    background-color: #fff; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #31b0d5;
    border-color: #1b6d85; }
  .btn-info:hover {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
    .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: #1b6d85; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled].active,
  fieldset[disabled] .btn-info,
  fieldset[disabled] .btn-info:hover,
  fieldset[disabled] .btn-info:focus,
  fieldset[disabled] .btn-info.focus,
  fieldset[disabled] .btn-info:active,
  fieldset[disabled] .btn-info.active {
    background-color: #5bc0de;
    border-color: #46b8da; }
  .btn-info .badge {
    color: #5bc0de;
    background-color: #fff; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #ec971f;
    border-color: #985f0d; }
  .btn-warning:hover {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
    .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: #985f0d; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled].active,
  fieldset[disabled] .btn-warning,
  fieldset[disabled] .btn-warning:hover,
  fieldset[disabled] .btn-warning:focus,
  fieldset[disabled] .btn-warning.focus,
  fieldset[disabled] .btn-warning:active,
  fieldset[disabled] .btn-warning.active {
    background-color: #f0ad4e;
    border-color: #eea236; }
  .btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c9302c;
    border-color: #761c19; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
    .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: #761c19; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled].active,
  fieldset[disabled] .btn-danger,
  fieldset[disabled] .btn-danger:hover,
  fieldset[disabled] .btn-danger:focus,
  fieldset[disabled] .btn-danger.focus,
  fieldset[disabled] .btn-danger:active,
  fieldset[disabled] .btn-danger.active {
    background-color: #d9534f;
    border-color: #d43f3a; }
  .btn-danger .badge {
    color: #d9534f;
    background-color: #fff; }

.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],
  fieldset[disabled] .btn-link {
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
    border-color: transparent; }
  .btn-link:hover, .btn-link:focus {
    color: #23527c;
    text-decoration: underline;
    background-color: transparent; }
  .btn-link[disabled]:hover, .btn-link[disabled]:focus,
  fieldset[disabled] .btn-link:hover,
  fieldset[disabled] .btn-link:focus {
    color: #777777;
    text-decoration: none; }

.btn-lg, .btn-group-lg > .btn, .specialist-search .btn-group-lg > button {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 3px; }

.btn-sm, .btn-group-sm > .btn, .specialist-search .btn-group-sm > button, .specialist-search button {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px; }

.btn-xs, .btn-group-xs > .btn, .specialist-search .btn-group-xs > button {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px; }

.btn-block, .specialist-search button {
  display: block;
  width: 100%; }

.btn-block + .btn-block, .specialist-search button + .btn-block, .specialist-search .btn-block + button, .specialist-search button + button {
  margin-top: 5px; }

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

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.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;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease; }

.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent; }

.dropup,
.dropdown {
  position: relative; }

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

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box; }
  .dropdown-menu.pull-right {
    right: 0;
    left: auto; }
  .dropdown-menu .divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.42857;
    color: #333333;
    white-space: nowrap; }

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5; }

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7; }

.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: #777777; }

.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed; }

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

.open > a {
  outline: 0; }

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

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

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857;
  color: #777777;
  white-space: nowrap; }

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

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

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: ""; }

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

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

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

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

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

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

.btn-group > .btn:first-child, .specialist-search .btn-group > button:first-child {
  margin-left: 0; }
  .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), .specialist-search .btn-group > button: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), .specialist-search .btn-group > button: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, .specialist-search .btn-group > .btn-group:not(:first-child):not(:last-child) > button {
  border-radius: 0; }

.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .specialist-search .btn-group > .btn-group:first-child:not(:last-child) > button: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, .specialist-search .btn-group > .btn-group:last-child:not(:first-child) > button:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

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

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

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

.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
  .btn-group.open .dropdown-toggle.btn-link {
    -webkit-box-shadow: none;
    box-shadow: none; }

.btn .caret, .specialist-search button .caret {
  margin-left: 0; }

.btn-lg .caret, .btn-group-lg > .btn .caret, .specialist-search .btn-group-lg > button .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0; }

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret, .dropup .specialist-search .btn-group-lg > button .caret, .specialist-search .dropup .btn-group-lg > button .caret {
  border-width: 0 5px 5px; }


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

.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
  content: " ";
  display: table; }

.btn-group-vertical > .btn-group:after {
  clear: both; }


.btn-group-vertical > .btn-group > .btn,
.specialist-search .btn-group-vertical > .btn-group > button {
  float: none; }

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

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

.btn-group-vertical > .btn:first-child:not(:last-child), .specialist-search .btn-group-vertical > button:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn:last-child:not(:first-child), .specialist-search .btn-group-vertical > button:last-child:not(:first-child) {
  border-bottom-left-radius: 2px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

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

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .specialist-search .btn-group-vertical > .btn-group:first-child:not(:last-child) > button: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, .specialist-search .btn-group-vertical > .btn-group:last-child:not(:first-child) > button:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate; }
  .btn-group-justified > .btn, .specialist-search .btn-group-justified > button,
  .btn-group-justified > .btn-group {
    float: none;
    display: table-cell;
    width: 1%; }
  .btn-group-justified > .btn-group .btn, .btn-group-justified > .btn-group .specialist-search button, .specialist-search .btn-group-justified > .btn-group button {
    width: 100%; }
  .btn-group-justified > .btn-group .dropdown-menu {
    left: auto; }

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

.input-group {
  position: relative;
  display: table;
  border-collapse: separate; }
  .input-group[class*="col-"] {
    float: none;
    padding-left: 0;
    padding-right: 0; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }

.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: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px; }
  .input-group-addon.input-sm,
  .input-group-sm > .input-group-addon,
  .input-group-sm > .input-group-btn > .input-group-addon.btn, .specialist-search .input-group-sm > .input-group-btn > button.input-group-addon {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 1px; }
  .input-group-addon.input-lg,
  .input-group-lg > .input-group-addon,
  .input-group-lg > .input-group-btn > .input-group-addon.btn, .specialist-search .input-group-lg > .input-group-btn > button.input-group-addon {
    padding: 10px 16px;
    font-size: 18px;
    border-radius: 3px; }
  .input-group-addon input[type="radio"],
  .input-group-addon input[type="checkbox"] {
    margin-top: 0; }

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

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

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

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

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

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }
  .nav:before, .nav:after {
    content: " ";
    display: table; }
  .nav:after {
    clear: both; }
  .nav > li {
    position: relative;
    display: block; }
    .nav > li > a {
      position: relative;
      display: block;
      padding: 10px 15px; }
      .nav > li > a:hover, .nav > li > a:focus {
        text-decoration: none;
        background-color: #eeeeee; }
    .nav > li.disabled > a {
      color: #777777; }
      .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
        color: #777777;
        text-decoration: none;
        background-color: transparent;
        cursor: not-allowed; }
  .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
    background-color: #eeeeee;
    border-color: #337ab7; }
  .nav .nav-divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5; }
  .nav > li > a > img {
    max-width: none; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs > li {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs > li > a {
      margin-right: 2px;
      line-height: 1.42857;
      border: 1px solid transparent;
      border-radius: 2px 2px 0 0; }
      .nav-tabs > li > a:hover {
        border-color: #eeeeee #eeeeee #ddd; }
    .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
      color: #555555;
      background-color: #fff;
      border: 1px solid #ddd;
      border-bottom-color: transparent;
      cursor: default; }

.nav-pills > li {
  float: left; }
  .nav-pills > li > a {
    border-radius: 2px; }
  .nav-pills > li + li {
    margin-left: 2px; }
  .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color: #fff;
    background-color: #337ab7; }

.nav-stacked > li {
  float: none; }
  .nav-stacked > li + li {
    margin-top: 2px;
    margin-left: 0; }

.nav-justified, .nav-tabs.nav-justified {
  width: 100%; }
  .nav-justified > li, .nav-tabs.nav-justified > li {
    float: none; }
    .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
      text-align: center;
      margin-bottom: 5px; }
  .nav-justified > .dropdown .dropdown-menu {
    top: auto;
    left: auto; }
  @media (min-width: 768px) {
    .nav-justified > li, .nav-tabs.nav-justified > li {
      display: table-cell;
      width: 1%; }
      .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
        margin-bottom: 0; } }

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0; }
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    margin-right: 0;
    border-radius: 2px; }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-justified > .active > a:focus {
    border: 1px solid #ddd; }
  @media (min-width: 768px) {
    .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
      border-bottom: 1px solid #ddd;
      border-radius: 2px 2px 0 0; }
    .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
    .nav-tabs-justified > .active > a:hover,
    .nav-tabs.nav-justified > .active > a:hover,
    .nav-tabs-justified > .active > a:focus,
    .nav-tabs.nav-justified > .active > a:focus {
      border-bottom-color: #fff; } }

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

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

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

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 20px;
  border: 1px solid transparent; }
  .navbar:before, .navbar:after {
    content: " ";
    display: table; }
  .navbar:after {
    clear: both; }
  @media (min-width: 768px) {
    .navbar {
      border-radius: 2px; } }

.navbar-header:before, .navbar-header:after {
  content: " ";
  display: table; }

.navbar-header:after {
  clear: both; }

@media (min-width: 768px) {
  .navbar-header {
    float: left; } }

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch; }
  .navbar-collapse:before, .navbar-collapse:after {
    content: " ";
    display: table; }
  .navbar-collapse:after {
    clear: both; }
  .navbar-collapse.in {
    overflow-y: auto; }
  @media (min-width: 768px) {
    .navbar-collapse {
      width: auto;
      border-top: 0;
      box-shadow: none; }
      .navbar-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important; }
      .navbar-collapse.in {
        overflow-y: visible; }
      .navbar-fixed-top .navbar-collapse,
      .navbar-static-top .navbar-collapse,
      .navbar-fixed-bottom .navbar-collapse {
        padding-left: 0;
        padding-right: 0; } }

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px; }
  @media (max-device-width: 480px) and (orientation: landscape) {
    .navbar-fixed-top .navbar-collapse,
    .navbar-fixed-bottom .navbar-collapse {
      max-height: 200px; } }

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px; }
  @media (min-width: 768px) {
    .container > .navbar-header,
    .container > .navbar-collapse,
    .container-fluid > .navbar-header,
    .container-fluid > .navbar-collapse {
      margin-right: 0;
      margin-left: 0; } }

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px; }
  @media (min-width: 768px) {
    .navbar-static-top {
      border-radius: 0; } }

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

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px; }

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0; }

.navbar-brand {
  float: left;
  padding: 15px 15px;
  font-size: 18px;
  line-height: 20px;
  height: 50px; }
  .navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none; }
  .navbar-brand > img {
    display: block; }
  @media (min-width: 768px) {
    .navbar > .container .navbar-brand,
    .navbar > .container-fluid .navbar-brand {
      margin-left: -15px; } }

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px; }
  .navbar-toggle:focus {
    outline: 0; }
  .navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px; }
  .navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 768px) {
    .navbar-toggle {
      display: none; } }

.navbar-nav {
  margin: 7.5px -15px; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 20px; }
  @media (max-width: 767px) {
    .navbar-nav .open .dropdown-menu {
      position: static;
      float: none;
      width: auto;
      margin-top: 0;
      background-color: transparent;
      border: 0;
      box-shadow: none; }
      .navbar-nav .open .dropdown-menu > li > a,
      .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px; }
      .navbar-nav .open .dropdown-menu > li > a {
        line-height: 20px; }
        .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
          background-image: none; } }
  @media (min-width: 768px) {
    .navbar-nav {
      float: left;
      margin: 0; }
      .navbar-nav > li {
        float: left; }
        .navbar-nav > li > a {
          padding-top: 15px;
          padding-bottom: 15px; } }

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 8px;
  margin-bottom: 8px; }
  @media (min-width: 768px) {
    .navbar-form .form-group {
      display: inline-block;
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .navbar-form .form-control-static {
      display: inline-block; }
    .navbar-form .input-group {
      display: inline-table;
      vertical-align: middle; }
      .navbar-form .input-group .input-group-addon,
      .navbar-form .input-group .input-group-btn,
      .navbar-form .input-group .form-control {
        width: auto; }
    .navbar-form .input-group > .form-control {
      width: 100%; }
    .navbar-form .control-label {
      margin-bottom: 0;
      vertical-align: middle; }
    .navbar-form .radio,
    .navbar-form .checkbox {
      display: inline-block;
      margin-top: 0;
      margin-bottom: 0;
      vertical-align: middle; }
      .navbar-form .radio label,
      .navbar-form .checkbox label {
        padding-left: 0; }
    .navbar-form .radio input[type="radio"],
    .navbar-form .checkbox input[type="checkbox"] {
      position: relative;
      margin-left: 0; }
    .navbar-form .has-feedback .form-control-feedback {
      top: 0; } }
  @media (max-width: 767px) {
    .navbar-form .form-group {
      margin-bottom: 5px; }
      .navbar-form .form-group:last-child {
        margin-bottom: 0; } }
  @media (min-width: 768px) {
    .navbar-form {
      width: auto;
      border: 0;
      margin-left: 0;
      margin-right: 0;
      padding-top: 0;
      padding-bottom: 0;
      -webkit-box-shadow: none;
      box-shadow: none; } }

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.navbar-btn {
  margin-top: 8px;
  margin-bottom: 8px; }
  .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn, .specialist-search button.navbar-btn {
    margin-top: 10px;
    margin-bottom: 10px; }
  .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn, .specialist-search .btn-group-xs > button.navbar-btn {
    margin-top: 14px;
    margin-bottom: 14px; }

.navbar-text {
  margin-top: 15px;
  margin-bottom: 15px; }
  @media (min-width: 768px) {
    .navbar-text {
      float: left;
      margin-left: 15px;
      margin-right: 15px; } }

@media (min-width: 768px) {
  .navbar-left {
    float: left !important; }
  .navbar-right {
    float: right !important;
    margin-right: -15px; }
    .navbar-right ~ .navbar-right {
      margin-right: 0; } }

.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7; }
  .navbar-default .navbar-brand {
    color: #777; }
    .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
      color: #5e5e5e;
      background-color: transparent; }
  .navbar-default .navbar-text {
    color: #777; }
  .navbar-default .navbar-nav > li > a {
    color: #777; }
    .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
      color: #333;
      background-color: transparent; }
  .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7; }
  .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
    color: #ccc;
    background-color: transparent; }
  .navbar-default .navbar-toggle {
    border-color: #ddd; }
    .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
      background-color: #ddd; }
    .navbar-default .navbar-toggle .icon-bar {
      background-color: #888; }
  .navbar-default .navbar-collapse,
  .navbar-default .navbar-form {
    border-color: #e7e7e7; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
    background-color: #e7e7e7;
    color: #555; }
  @media (max-width: 767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
      color: #777; }
      .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #333;
        background-color: transparent; }
    .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
      color: #555;
      background-color: #e7e7e7; }
    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
      color: #ccc;
      background-color: transparent; } }
  .navbar-default .navbar-link {
    color: #777; }
    .navbar-default .navbar-link:hover {
      color: #333; }
  .navbar-default .btn-link {
    color: #777; }
    .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
      color: #333; }
    .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-default .btn-link:hover,
    fieldset[disabled] .navbar-default .btn-link:focus {
      color: #ccc; }

.navbar-inverse {
  background-color: #222;
  border-color: #090909; }
  .navbar-inverse .navbar-brand {
    color: #9d9d9d; }
    .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-text {
    color: #9d9d9d; }
  .navbar-inverse .navbar-nav > li > a {
    color: #9d9d9d; }
    .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
    color: #fff;
    background-color: #090909; }
  .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
    color: #444;
    background-color: transparent; }
  .navbar-inverse .navbar-toggle {
    border-color: #333; }
    .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
      background-color: #333; }
    .navbar-inverse .navbar-toggle .icon-bar {
      background-color: #fff; }
  .navbar-inverse .navbar-collapse,
  .navbar-inverse .navbar-form {
    border-color: #101010; }
  .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #090909;
    color: #fff; }
  @media (max-width: 767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
      border-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
      color: #9d9d9d; }
      .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #fff;
        background-color: transparent; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
      color: #fff;
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
      color: #444;
      background-color: transparent; } }
  .navbar-inverse .navbar-link {
    color: #9d9d9d; }
    .navbar-inverse .navbar-link:hover {
      color: #fff; }
  .navbar-inverse .btn-link {
    color: #9d9d9d; }
    .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
      color: #fff; }
    .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-inverse .btn-link:hover,
    fieldset[disabled] .navbar-inverse .btn-link:focus {
      color: #444; }

.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 20px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px; }
  .breadcrumb > li {
    display: inline-block; }
    .breadcrumb > li + li:before {
      content: "/ ";
      padding: 0 5px;
      color: #ccc; }
  .breadcrumb > .active {
    color: #777777; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 2px; }
  .pagination > li {
    display: inline; }
    .pagination > li > a,
    .pagination > li > span {
      position: relative;
      float: left;
      padding: 6px 12px;
      line-height: 1.42857;
      text-decoration: none;
      color: #337ab7;
      background-color: #fff;
      border: 1px solid #ddd;
      margin-left: -1px; }
    .pagination > li:first-child > a,
    .pagination > li:first-child > span {
      margin-left: 0;
      border-bottom-left-radius: 2px;
      border-top-left-radius: 2px; }
    .pagination > li:last-child > a,
    .pagination > li:last-child > span {
      border-bottom-right-radius: 2px;
      border-top-right-radius: 2px; }
  .pagination > li > a:hover, .pagination > li > a:focus,
  .pagination > li > span:hover,
  .pagination > li > span:focus {
    z-index: 3;
    color: #23527c;
    background-color: #eeeeee;
    border-color: #ddd; }
  .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
  .pagination > .active > span,
  .pagination > .active > span:hover,
  .pagination > .active > span:focus {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
    cursor: default; }
  .pagination > .disabled > span,
  .pagination > .disabled > span:hover,
  .pagination > .disabled > span:focus,
  .pagination > .disabled > a,
  .pagination > .disabled > a:hover,
  .pagination > .disabled > a:focus {
    color: #777777;
    background-color: #fff;
    border-color: #ddd;
    cursor: not-allowed; }

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333; }

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5; }

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px; }

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px; }

.pager {
  padding-left: 0;
  margin: 20px 0;
  list-style: none;
  text-align: center; }
  .pager:before, .pager:after {
    content: " ";
    display: table; }
  .pager:after {
    clear: both; }
  .pager li {
    display: inline; }
    .pager li > a,
    .pager li > span {
      display: inline-block;
      padding: 5px 14px;
      background-color: #fff;
      border: 1px solid #ddd;
      border-radius: 15px; }
    .pager li > a:hover,
    .pager li > a:focus {
      text-decoration: none;
      background-color: #eeeeee; }
  .pager .next > a,
  .pager .next > span {
    float: right; }
  .pager .previous > a,
  .pager .previous > span {
    float: left; }
  .pager .disabled > a,
  .pager .disabled > a:hover,
  .pager .disabled > a:focus,
  .pager .disabled > span {
    color: #777777;
    background-color: #fff;
    cursor: not-allowed; }

.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em; }
  .label:empty {
    display: none; }
  .btn .label, .specialist-search button .label {
    position: relative;
    top: -1px; }

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

.label-default {
  background-color: #777777; }
  .label-default[href]:hover, .label-default[href]:focus {
    background-color: #5e5e5e; }

.label-primary {
  background-color: #337ab7; }
  .label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #286090; }

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

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

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

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

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px; }
  .badge:empty {
    display: none; }
  .btn .badge, .specialist-search button .badge {
    position: relative;
    top: -1px; }
  .btn-xs .badge, .btn-group-xs > .btn .badge, .specialist-search .btn-group-xs > button .badge,
  .btn-group-xs > .btn .badge,
  .specialist-search .btn-group-xs > button .badge {
    top: 0;
    padding: 1px 5px; }
  .list-group-item.active > .badge,
  .nav-pills > .active > a > .badge {
    color: #337ab7;
    background-color: #fff; }
  .list-group-item > .badge {
    float: right; }
  .list-group-item > .badge + .badge {
    margin-right: 5px; }
  .nav-pills > li > a > .badge {
    margin-left: 3px; }

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

.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee; }
  .jumbotron h1,
  .jumbotron .h1 {
    color: inherit; }
  .jumbotron p {
    margin-bottom: 15px;
    font-size: 21px;
    font-weight: 200; }
  .jumbotron > hr {
    border-top-color: #d5d5d5; }
  .container .jumbotron,
  .container-fluid .jumbotron {
    border-radius: 3px; }
  .jumbotron .container {
    max-width: 100%; }
  @media screen and (min-width: 768px) {
    .jumbotron {
      padding-top: 48px;
      padding-bottom: 48px; }
      .container .jumbotron,
      .container-fluid .jumbotron {
        padding-left: 60px;
        padding-right: 60px; }
      .jumbotron h1,
      .jumbotron .h1 {
        font-size: 63px; } }

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 20px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out; }
  .thumbnail > img,
  .thumbnail a > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .thumbnail .caption {
    padding: 9px;
    color: #333333; }

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7; }

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 2px; }
  .alert h4 {
    margin-top: 0;
    color: inherit; }
  .alert .alert-link {
    font-weight: bold; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

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

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

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

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

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

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

@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0; }
  to {
    background-position: 0 0; } }

.progress {
  overflow: hidden;
  height: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }

.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease; }

.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-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-image: -o-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-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: 40px 40px; }

.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite; }

.progress-bar-success {
  background-color: #5cb85c; }
  .progress-striped .progress-bar-success {
    background-image: -webkit-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-image: -o-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-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); }

.progress-bar-info {
  background-color: #5bc0de; }
  .progress-striped .progress-bar-info {
    background-image: -webkit-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-image: -o-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-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); }

.progress-bar-warning {
  background-color: #f0ad4e; }
  .progress-striped .progress-bar-warning {
    background-image: -webkit-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-image: -o-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-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); }

.progress-bar-danger {
  background-color: #d9534f; }
  .progress-striped .progress-bar-danger {
    background-image: -webkit-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-image: -o-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-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); }

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

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

.media-body {
  width: 10000px; }

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

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

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

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

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

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

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

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

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

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

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

button.list-group-item {
  width: 100%;
  text-align: left; }

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

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7; }
  .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 .news-list li .list-group-item-heading > p.date,
  .news-list li .list-group-item.active .list-group-item-heading > p.date, .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,
  .list-group-item.active:hover .news-list li .list-group-item-heading > p.date,
  .news-list li .list-group-item.active:hover .list-group-item-heading > p.date, .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:focus .news-list li .list-group-item-heading > p.date,
  .news-list li .list-group-item.active:focus .list-group-item-heading > p.date {
    color: inherit; }
  .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
    color: #c7ddef; }

.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:hover, a.list-group-item-success:focus,
  button.list-group-item-success:hover,
  button.list-group-item-success:focus {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
  button.list-group-item-success.active,
  button.list-group-item-success.active:hover,
  button.list-group-item-success.active:focus {
    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:hover, a.list-group-item-info:focus,
  button.list-group-item-info:hover,
  button.list-group-item-info:focus {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
  button.list-group-item-info.active,
  button.list-group-item-info.active:hover,
  button.list-group-item-info.active:focus {
    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:hover, a.list-group-item-warning:focus,
  button.list-group-item-warning:hover,
  button.list-group-item-warning:focus {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
  button.list-group-item-warning.active,
  button.list-group-item-warning.active:hover,
  button.list-group-item-warning.active:focus {
    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:hover, a.list-group-item-danger:focus,
  button.list-group-item-danger:hover,
  button.list-group-item-danger:focus {
    color: #a94442;
    background-color: #ebcccc; }
  a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
  button.list-group-item-danger.active,
  button.list-group-item-danger.active:hover,
  button.list-group-item-danger.active:focus {
    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; }

.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }

.panel-body {
  padding: 15px; }
  .panel-body:before, .panel-body:after {
    content: " ";
    display: table; }
  .panel-body:after {
    clear: both; }

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px; }
  .panel-heading > .dropdown .dropdown-toggle {
    color: inherit; }

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit; }
  .panel-title > a,
  .panel-title > small,
  .panel-title > .small,
  .news-list li .panel-title > p.date,
  .panel-title > small > a,
  .panel-title > .small > a,
  .news-list li .panel-title > p.date > a {
    color: inherit; }

.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px; }

.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0; }
  .panel > .list-group .list-group-item,
  .panel > .panel-collapse > .list-group .list-group-item {
    border-width: 1px 0;
    border-radius: 0; }
  .panel > .list-group:first-child .list-group-item:first-child,
  .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
    border-top: 0;
    border-top-right-radius: 1px;
    border-top-left-radius: 1px; }
  .panel > .list-group:last-child .list-group-item:last-child,
  .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
    border-bottom: 0;
    border-bottom-right-radius: 1px;
    border-bottom-left-radius: 1px; }

.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0; }

.list-group + .panel-footer {
  border-top-width: 0; }

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0; }
  .panel > .table caption,
  .panel > .table-responsive > .table caption,
  .panel > .panel-collapse > .table caption {
    padding-left: 15px;
    padding-right: 15px; }

.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px; }
  .panel > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table:first-child > tbody:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
  .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
    border-top-left-radius: 1px;
    border-top-right-radius: 1px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
      border-top-left-radius: 1px; }
    .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
    .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
      border-top-right-radius: 1px; }

.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px; }
  .panel > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table:last-child > tfoot:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
  .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
    border-bottom-left-radius: 1px;
    border-bottom-right-radius: 1px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
      border-bottom-left-radius: 1px; }
    .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
    .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
      border-bottom-right-radius: 1px; }

.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd; }

.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0; }

.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0; }
  .panel > .table-bordered > thead > tr > th:first-child,
  .panel > .table-bordered > thead > tr > td:first-child,
  .panel > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-bordered > tfoot > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0; }
  .panel > .table-bordered > thead > tr > th:last-child,
  .panel > .table-bordered > thead > tr > td:last-child,
  .panel > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-bordered > tfoot > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0; }
  .panel > .table-bordered > thead > tr:first-child > td,
  .panel > .table-bordered > thead > tr:first-child > th,
  .panel > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-bordered > tbody > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
    border-bottom: 0; }
  .panel > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-bordered > tfoot > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
  .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
    border-bottom: 0; }

.panel > .table-responsive {
  border: 0;
  margin-bottom: 0; }

.panel-group {
  margin-bottom: 20px; }
  .panel-group .panel {
    margin-bottom: 0;
    border-radius: 2px; }
    .panel-group .panel + .panel {
      margin-top: 5px; }
  .panel-group .panel-heading {
    border-bottom: 0; }
    .panel-group .panel-heading + .panel-collapse > .panel-body,
    .panel-group .panel-heading + .panel-collapse > .list-group {
      border-top: 1px solid #ddd; }
  .panel-group .panel-footer {
    border-top: 0; }
    .panel-group .panel-footer + .panel-collapse .panel-body {
      border-bottom: 1px solid #ddd; }

.panel-default {
  border-color: #ddd; }
  .panel-default > .panel-heading {
    color: #333333;
    background-color: #f5f5f5;
    border-color: #ddd; }
    .panel-default > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ddd; }
    .panel-default > .panel-heading .badge {
      color: #f5f5f5;
      background-color: #333333; }
  .panel-default > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ddd; }

.panel-primary {
  border-color: #337ab7; }
  .panel-primary > .panel-heading {
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7; }
    .panel-primary > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #337ab7; }
    .panel-primary > .panel-heading .badge {
      color: #337ab7;
      background-color: #fff; }
  .panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #337ab7; }

.panel-success {
  border-color: #d6e9c6; }
  .panel-success > .panel-heading {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6; }
    .panel-success > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #d6e9c6; }
    .panel-success > .panel-heading .badge {
      color: #dff0d8;
      background-color: #3c763d; }
  .panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #d6e9c6; }

.panel-info {
  border-color: #bce8f1; }
  .panel-info > .panel-heading {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1; }
    .panel-info > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #bce8f1; }
    .panel-info > .panel-heading .badge {
      color: #d9edf7;
      background-color: #31708f; }
  .panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #bce8f1; }

.panel-warning {
  border-color: #faebcc; }
  .panel-warning > .panel-heading {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc; }
    .panel-warning > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #faebcc; }
    .panel-warning > .panel-heading .badge {
      color: #fcf8e3;
      background-color: #8a6d3b; }
  .panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #faebcc; }

.panel-danger {
  border-color: #ebccd1; }
  .panel-danger > .panel-heading {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1; }
    .panel-danger > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: #ebccd1; }
    .panel-danger > .panel-heading .badge {
      color: #f2dede;
      background-color: #a94442; }
  .panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ebccd1; }

.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;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0; }

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

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

.well, section.management {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
  .well blockquote, section.management blockquote {
    border-color: #ddd;
    border-color: rgba(0, 0, 0, 0.15); }

.well-lg {
  padding: 24px;
  border-radius: 3px; }

.well-sm {
  padding: 9px;
  border-radius: 1px; }

.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20); }
  .close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: 0.5;
    filter: alpha(opacity=50); }

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

.modal-open {
  overflow: hidden; }

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

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

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

.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  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;
    filter: alpha(opacity=0); }
  .modal-backdrop.in {
    opacity: 0.5;
    filter: alpha(opacity=50); }

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.42857px; }

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

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

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

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

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

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
  .modal-sm {
    width: 300px; } }

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

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0); }
  .tooltip.in {
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .tooltip.top {
    margin-top: -3px;
    padding: 5px 0; }
  .tooltip.right {
    margin-left: 3px;
    padding: 0 5px; }
  .tooltip.bottom {
    margin-top: 3px;
    padding: 5px 0; }
  .tooltip.left {
    margin-left: -3px;
    padding: 0 5px; }

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

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

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000; }

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000; }

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000; }

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 14px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
  .popover.top {
    margin-top: -10px; }
  .popover.right {
    margin-left: 10px; }
  .popover.bottom {
    margin-top: 10px; }
  .popover.left {
    margin-left: -10px; }

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

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

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

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

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

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px; }
  .popover.top > .arrow:after {
    content: " ";
    bottom: 1px;
    margin-left: -10px;
    border-bottom-width: 0;
    border-top-color: #fff; }

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25); }
  .popover.right > .arrow:after {
    content: " ";
    left: 1px;
    bottom: -10px;
    border-left-width: 0;
    border-right-color: #fff; }

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px; }
  .popover.bottom > .arrow:after {
    content: " ";
    top: 1px;
    margin-left: -10px;
    border-top-width: 0;
    border-bottom-color: #fff; }

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25); }
  .popover.left > .arrow:after {
    content: " ";
    right: 1px;
    border-right-width: 0;
    border-left-color: #fff;
    bottom: -10px; }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .carousel-inner > .item {
    display: none;
    position: relative;
    -webkit-transition: 0.6s ease-in-out left;
    -o-transition: 0.6s ease-in-out left;
    transition: 0.6s ease-in-out left; }
    .carousel-inner > .item > img,
    .carousel-inner > .item > a > img {
      display: block;
      max-width: 100%;
      height: auto;
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .item {
        -webkit-transition: -webkit-transform 0.6s ease-in-out;
        -moz-transition: -moz-transform 0.6s ease-in-out;
        -o-transition: -o-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out;
        -webkit-backface-visibility: hidden;
        -moz-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        -moz-perspective: 1000px;
        perspective: 1000px; }
        .carousel-inner > .item.next, .carousel-inner > .item.active.right {
          -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.prev, .carousel-inner > .item.active.left {
          -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
          left: 0; }
        .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {
          -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
          left: 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;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    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 {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    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:hover, .carousel-control:focus {
    outline: 0;
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90); }
  .carousel-control .icon-prev,
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    z-index: 5;
    display: inline-block; }
  .carousel-control .icon-prev,
  .carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 20px;
    height: 20px;
    line-height: 1;
    font-family: serif; }
  .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%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    border: 1px solid #fff;
    border-radius: 10px;
    cursor: pointer;
    background-color: #000 \9;
    background-color: rgba(0, 0, 0, 0); }
  .carousel-indicators .active {
    margin: 0;
    width: 12px;
    height: 12px;
    background-color: #fff; }

.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  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, .carousel-caption .specialist-search button, .specialist-search .carousel-caption button {
    text-shadow: none; }

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

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

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

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

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

.hide {
  display: none !important; }

.show {
  display: block !important; }

.invisible {
  visibility: hidden; }

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

.hidden {
  display: none !important; }

.affix {
  position: fixed; }

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

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

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

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }

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

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

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table !important; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !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; } }

/* ==========================================================================
Typography
========================================================================== */
p {
  font-size: 16px;
  line-height: 25.6px;
  color: #6c7279;
  margin-bottom: 15px; }

h1, h2.title {
  font-size: 36px;
  color: #2d3033;
  display: inline-block;
  font-weight: 200;
  text-transform: lowercase; }

h2 {
  font-size: 18px;
  color: #2d3033;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 20px; }
  h2 span {
    font-family: "Open Sans", sans-serif; }

h3 {
  font-size: 14px;
  color: #2d3033;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 2px; }

h4 {
  font-size: 22px;
  color: #2d3033;
  font-weight: 400;
  font-family: "Open Sans", sans-serif; }

h5 {
  font-size: 14px;
  color: #2d3033;
  text-transform: uppercase;
  font-weight: 700; }

.btn-lg, .btn-group-lg > .btn, .specialist-search .btn-group-lg > button {
  padding: 8px 24px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 600; }

.btn.btn-red, .specialist-search button.btn-red {
  background-color: #e84545;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
  display: inline-block;
  text-transform: uppercase; }
  .btn.btn-red:hover, .specialist-search button.btn-red:hover, .btn.btn-red:focus, .specialist-search button.btn-red:focus {
    background-color: #e52e2e;
    color: #fff; }
  .btn.btn-red-large, .specialist-search button.btn-red-large {
    padding: 15px 40px; }

.btn.btn-white, .specialist-search button.btn-white {
  background-color: #fff;
  color: #000;
  font-size: 13px;
  font-weight: 600;
  border: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
  display: inline-block;
  text-transform: uppercase; }
  .btn.btn-white:hover, .specialist-search button.btn-white:hover, .btn.btn-white:focus, .specialist-search button.btn-white:focus {
    background-color: #f2f2f2;
    color: #000; }
  .btn.btn-white-large, .specialist-search button.btn-white-large {
    padding: 15px 40px; }

/* ==========================================================================
	$Header
========================================================================== */
.primary-nav {
  margin-top: 56px; }

.secondary-nav {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  background-color: #c13700;
  text-align: right;
  padding: 10px; }

.byliner {
  padding: 10px 0 0 20px;
  display: inline-block;
  font-size: 14px;
  color: #000;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  .byliner strong {
    font-size: 20px; }
  .byliner span {
    opacity: .8;
    display: block;
    max-width: 210px; }

#header {
  position: fixed;
  width: 100%;
  z-index: 999;
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  #header .header-content {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    margin: 0 auto;
    max-width: 1170px;
    padding: 40px 0 15px 0;
    width: 100%;
    -webkit-transition: padding 0.3s;
    -o-transition: padding 0.3s;
    transition: padding 0.3s; }
  #header .logo {
    display: inline;
    float: left; }
    #header .logo img {
      height: 100px;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
  #header a {
    border-bottom-width: 0; }

#header.fixed {
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); }
  #header.fixed .header-content {
    border-bottom: 0;
    padding: 10px 0; }
    #header.fixed .header-content .logo img {
      height: 50px; }
    #header.fixed .header-content .byliner strong {
      font-size: 24px; }
    #header.fixed .header-content .byliner span {
      opacity: 0;
      font-size: 0; }
    #header.fixed .header-content .primary-nav {
      margin-top: 16px; }
      #header.fixed .header-content .primary-nav li.active a:after {
        top: 38px; }
  #header.fixed .nav-toggle {
    top: 18px; }

@media print {
  #header {
    position: static !important; }
  .sticky {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important; } }

.navigation.open {
  opacity: 0.9;
  visibility: visible;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.navigation {
  display: inline;
  float: right; }
  .navigation li {
    display: inline-block; }
    .navigation li.active a {
      color: #000;
      position: relative;
      -webkit-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      .navigation li.active a:after {
        -webkit-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
        position: absolute;
        left: -10px;
        right: -10px;
        top: 54px;
        border-bottom: 2px solid red;
        content: '';
        z-index: 99999; }
  .navigation a {
    color: #999;
    font-size: 13px;
    font-weight: 700;
    margin-left: 20px;
    text-transform: uppercase; }
    .navigation a:hover, .navigation a.active {
      color: #1a1a1a; }

.nav-toggle {
  display: none;
  height: 44px;
  overflow: hidden;
  position: fixed;
  right: 5%;
  text-indent: 100%;
  top: 32px;
  white-space: nowrap;
  width: 44px;
  z-index: 99999;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  .nav-toggle:before, .nav-toggle:after {
    border-radius: 50%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: transform;
    transition-property: transform; }
  .nav-toggle:before {
    background-color: #e84545;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .nav-toggle:after {
    background-color: #e84545;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    -webkit-transition-duration: 0s;
    transition-duration: 0s; }
  .nav-toggle span {
    background-color: #fff;
    bottom: auto;
    display: inline-block;
    height: 3px;
    left: 50%;
    position: absolute;
    right: auto;
    top: 50%;
    width: 18px;
    z-index: 10;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }
    .nav-toggle span:before, .nav-toggle span:after {
      background-color: #fff;
      content: "";
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      width: 100%;
      -webkit-transform: translateZ(0);
      -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
      -o-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      -moz-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transition: transform 0.3s;
      -o-transition: transform 0.3s;
      transition: transform 0.3s; }
    .nav-toggle span:before {
      -webkit-transform: translateY(-6px) rotate(0deg);
      -moz-transform: translateY(-6px) rotate(0deg);
      -ms-transform: translateY(-6px) rotate(0deg);
      -o-transform: translateY(-6px) rotate(0deg);
      transform: translateY(-6px) rotate(0deg); }
    .nav-toggle span:after {
      -webkit-transform: translateY(6px) rotate(0deg);
      -moz-transform: translateY(6px) rotate(0deg);
      -ms-transform: translateY(6px) rotate(0deg);
      -o-transform: translateY(6px) rotate(0deg);
      transform: translateY(6px) rotate(0deg); }
  .nav-toggle.close-nav:before {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0); }
  .nav-toggle.close-nav:after {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  .nav-toggle.close-nav span {
    background-color: rgba(255, 255, 255, 0); }
    .nav-toggle.close-nav span:before, .nav-toggle.close-nav span:after {
      background-color: #fff; }
    .nav-toggle.close-nav span:before {
      -webkit-transform: translateY(0) rotate(45deg);
      -moz-transform: translateY(0) rotate(45deg);
      -ms-transform: translateY(0) rotate(45deg);
      -o-transform: translateY(0) rotate(45deg);
      transform: translateY(0) rotate(45deg); }
    .nav-toggle.close-nav span:after {
      -webkit-transform: translateY(0) rotate(-45deg);
      -moz-transform: translateY(0) rotate(-45deg);
      -ms-transform: translateY(0) rotate(-45deg);
      -o-transform: translateY(0) rotate(-45deg);
      transform: translateY(0) rotate(-45deg); }

/* ==========================================================================
	$Banner
========================================================================== */
.banner {
  visibility: hidden;
  position: relative; }
  .cindex .banner {
    /*
    background: {
      image: linear-gradient(to bottom right, hsla(13, 24%, 54%, 0.6), #F9FBE7), url(../../img/surgery_background2.jpg);
      position: center top;
      repeat: no-repeat;
    }
    */ }
    .cindex .banner:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 50%;
      max-height: 50vh;
      right: 0;
      background-image: linear-gradient(to bottom right, rgba(166, 122, 110, 0.6), #F9FBE7), url(../../img/surgery_background2.jpg);
      background-position: center top;
      background-repeat: no-repeat;
      -webkit-background-size: compact(cover, false, false, false, false, false, false, false, false, false);
      -moz-background-size: compact(cover, false, false, false, false, false, false, false, false, false);
      -o-background-size: compact(cover, false, false, false, false, false, false, false, false, false);
      background-size: compact(cover, false, false, false, false, false, false, false, false, false);
      background-size: cover; }
  .banner.visible {
    visibility: visible; }

.container-congress-2017 .banner-image,
.congress-flyer {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 20px 20px rgba(0, 0, 0, 0.1);
  border: 5px solid #fff;
  padding: 0;
  margin: 0 auto; }

.banner-text-holder {
  padding-left: 0;
  border-bottom: 1px solid #ddd;
  padding-bottom: 70px; }
  @media screen and (min-width: 800px) {
    .banner-text-holder {
      padding-top: 200px; } }

.banner-text {
  margin: 0 auto; }
  .banner-text h1 {
    color: #000;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 100px; }
    .banner-text h1 span {
      display: block;
      margin-top: 5px;
      opacity: .8;
      font-weight: 200;
      font-size: 12px; }
  .banner-text p {
    color: #000;
    font-size: 22px;
    font-weight: 300;
    line-height: 1; }
    .banner-text p.pre-title {
      font-size: 14px;
      font-weight: 700;
      margin: 50px 0 0 0; }
    .banner-text p.links {
      margin-top: 80px; }

.banner-callout {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 20px 20px 20px 370px;
  background-color: rgba(255, 255, 255, 0.8);
  font-family: "Open Sans", sans-serif; }
  .banner-callout img {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 350px; }

/* ==========================================================================
	$Breadcrumb
========================================================================== */
.breadcrumb-holder {
  position: fixed;
  z-index: 998;
  top: 157px;
  left: 0;
  right: 0;
  background: none;
  opacity: .5;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  .breadcrumb-holder .breadcrumb li a {
    color: #6f6f6f; }
  .breadcrumb-holder.fixed {
    top: 70px;
    background: #eee;
    opacity: .95;
    box-shadow: inset 0 -2px 4px -3px #999; }
    .breadcrumb-holder.fixed .breadcrumb li a {
      color: #000; }
  @media screen and (max-width: 1170px) {
    .breadcrumb-holder {
      background: #242535;
      opacity: .9; }
      .breadcrumb-holder .breadcrumb li a {
        color: #fff; } }

.breadcrumb {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  background: none; }
  @media screen and (max-width: 1170px) {
    .breadcrumb {
      max-width: 90%;
      padding-left: 0;
      padding-right: 0; } }

.breadcrumb li {
  font-size: 11px;
  font-weight: 700;
  color: #6c7279; }

.breadcrumb > li + li::before {
  content: "\00BB"; }

/* ==========================================================================
	General Styles
========================================================================== */
a {
  color: #e84545;
  border-bottom: 1px dotted; }

a:hover, a:focus {
  text-decoration: none;
  -webkit-transition: background-color, color, 0.3s;
  -o-transition: background-color, color, 0.3s;
  transition: background-color, color, 0.3s; }

html {
  height: 100%; }

body {
  font-size: 16px;
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  color: #6c7279;
  background: rgba(231, 232, 167, 0.2);
  min-height: 100%;
  padding-bottom: 10em;
  position: relative; }

hr {
  margin-top: 40px;
  margin-bottom: 40px; }

body > section.content {
  padding: 50px 0; }
  body > section.content-first {
    padding-top: 250px; }
    @media screen and (max-width: 1024px) {
      body > section.content-first {
        padding-top: 200px; } }
  body > section.content-last {
    padding-bottom: 100px; }
  body > section.content-blanco {
    background: #fff;
    border-top: 1px solid #eee; }

.no-padding {
  padding: 0; }

.no-gutter [class*=col-] {
  padding-right: 0;
  padding-left: 0; }

p.lead {
  font-size: 18px;
  margin-bottom: 40px; }

p.small, .news-list li p.date {
  line-height: 1.2;
  font-size: 75%; }

dd {
  margin-bottom: 20px; }

.well, section.management {
  background-color: rgba(255, 255, 255, 0.6); }

.font-secondary, h3.date, .news-list li p.date {
  font-family: "Open Sans", sans-serif; }

h2.title-with-button {
  border-bottom: 1px dotted #ccc;
  overflow: hidden;
  padding-bottom: 10px;
  font-size: 18px;
  text-transform: uppercase; }
  h2.title-with-button .btn, h2.title-with-button .specialist-search button, .specialist-search h2.title-with-button button {
    float: right; }

/* ==========================================================================
	Footer
========================================================================== */
.footer {
  font-family: "Open Sans", sans-serif;
  background-color: #242535;
  padding: 40px 0 20px 0;
  -webkit-transition: background-color, 0.3s;
  -o-transition: background-color, 0.3s;
  transition: background-color, 0.3s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0; }
  .footer p {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    line-height: 1.8;
    text-transform: uppercase;
    -webkit-transition: background-color, 0.3s;
    -o-transition: background-color, 0.3s;
    transition: background-color, 0.3s; }
    .footer p.small, .footer .news-list li p.date, .news-list li .footer p.date {
      line-height: 1.2;
      font-size: 9px;
      color: #eee; }
      .footer p.small a, .footer .news-list li p.date a, .news-list li .footer p.date a {
        font-size: 9px;
        color: #eee; }
  .footer a {
    font-family: "Open Sans", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #6c7279;
    border-bottom: 1px dotted #54595e;
    -webkit-transition: background-color, 0.3s;
    -o-transition: background-color, 0.3s;
    transition: background-color, 0.3s; }
    .footer a:hover, .footer a:active {
      color: #e84545;
      border-bottom-color: #e84545; }
  .footer .text-muted {
    -webkit-transition: background-color, 0.3s;
    -o-transition: background-color, 0.3s;
    transition: background-color, 0.3s; }
  .footer ul li {
    padding: 5px 0;
    font-family: "Open Sans", sans-serif; }
  .footer:hover {
    background-color: #2e3044; }
    .footer:hover p, .footer:hover li, .footer:hover a, .footer:hover span.text-muted {
      color: #e6e6e6; }
    .footer:hover a {
      border-bottom-color: #e6e6e6; }
    .footer:hover a:hover,
    .footer:hover a:active {
      color: #e84545;
      border-bottom-color: #e84545; }

.table-admin-board tr > td:first-child {
  width: 33%;
  color: #8f969d; }

.table-admin-board tr > td:nth-child(2n) {
  width: 66%;
  font-weight: 200; }

/* ==========================================================================
  $Homepage
========================================================================== */
.cindex section.content {
  padding-top: 0;
  padding-bottom: 0; }

.news-spotlight-holder h2,
.events-spotlight-holder h2 {
  text-transform: lowercase;
  font-size: 24px;
  font-weight: 200;
  margin-bottom: 1em; }

.events-spotlight-holder {
  background: #fff; }
  @media screen and (max-width: 991px) {
    .events-spotlight-holder {
      background: none;
      border-left: 0;
      border-top: 1px dotted #ccc; } }
  .events-spotlight-holder ul li {
    min-height: 180px; }
  .events-spotlight-holder:before {
    position: fixed;
    left: 50%;
    top: 0;
    right: -50%;
    bottom: 0;
    content: '';
    background: #fff;
    z-index: -1; }
    @media screen and (max-width: 991px) {
      .events-spotlight-holder:before {
        display: none; } }

.homepage-spotlight, .protocol-spotlight, .congress-spotlight {
  font-family: 'Open Sans';
  text-transform: uppercase;
  color: #000;
  border-radius: 4px;
  opacity: 0;
  -webkit-transition: 1s;
  -o-transition: 1s;
  transition: 1s; }
  .homepage-spotlight.active, .active.protocol-spotlight, .active.congress-spotlight {
    top: 0;
    opacity: 1; }
  .homepage-spotlight a, .protocol-spotlight a, .congress-spotlight a {
    position: absolute;
    left: 10px;
    top: 10px;
    right: 10px;
    bottom: 10px;
    padding: 0 290px 0 0;
    text-align: center;
    border: 0; }
  .homepage-spotlight a .date, .protocol-spotlight a .date, .congress-spotlight a .date {
    display: block;
    color: #e84242;
    font-size: 12px; }
  .homepage-spotlight a .title, .protocol-spotlight a .title, .congress-spotlight a .title {
    font-size: 18px;
    color: #000;
    display: block; }
  .homepage-spotlight a .footnote, .protocol-spotlight a .footnote, .congress-spotlight a .footnote {
    display: block;
    font-size: 12px;
    color: #333; }
  .homepage-spotlight a:hover .title, .protocol-spotlight a:hover .title, .congress-spotlight a:hover .title {
    text-decoration: underline;
    color: blue; }

.eaes-list {
  font-family: "Open Sans", sans-serif; }

.protocol-spotlight {
  position: relative;
  top: 20px;
  margin: 20px 0;
  height: 100px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); }
  .protocol-spotlight a {
    padding: 0 100px 0 0; }
  .protocol-spotlight.eaes-spotlight {
    background-image: url(/assets/img/eaes_logo.png), linear-gradient(to bottom right, rgba(166, 122, 110, 0.6), #F9FBE7);
    background-position: 95% 50%;
    background-repeat: no-repeat; }
  .protocol-spotlight.espes-spotlight {
    background: url(/assets/img/espes_logo.png) 95% 50%/20% auto no-repeat, linear-gradient(to bottom right, rgba(200, 200, 200, 0.6), #fff); }

.congress-spotlight {
  position: relative;
  top: 20px;
  margin: -120px 15% 20px 15%;
  height: 100px;
  background: #efcc03 url(/assets/img/congresso2016.png) 110% -35px no-repeat;
  background-size: 300px; }

.congress-intro {
  margin-top: 3rem;
  border-bottom: 1px solid #ddd; }

.congress-card-holder {
  margin-top: 2em; }

.congress-card.congress-card-first .congress-card-content {
  background: rgba(127, 127, 127, 0.2); }
  .congress-card.congress-card-first .congress-card-content .colorizer {
    background-size: cover; }

.congress-card:nth-child(3n) .congress-card-content {
  background: rgba(191, 64, 64, 0.2); }

.congress-card .congress-card-content {
  height: 40vh;
  padding: 2em;
  background: #fff;
  box-shadow: 0 0px 10px rgba(180, 180, 180, 0.2), 0 10px 20px rgba(180, 180, 180, 0.1), 0 20px 30px rgba(180, 180, 180, 0.1);
  position: relative;
  background: rgba(166, 166, 89, 0.2);
  transition: all .2s ease-in;
  transform: scale(1); }
  .congress-card .congress-card-content svg {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0; }
  .congress-card .congress-card-content .colorizer {
    background: url(/assets/img/congresso2016.png) 50% 50% no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: .5;
    transition: all .2s ease-in; }
  .congress-card .congress-card-content:hover {
    box-shadow: 0 0px 10px rgba(180, 180, 180, 0.4), 0 10px 20px rgba(180, 180, 180, 0.3), 0 20px 30px rgba(180, 180, 180, 0.3);
    transform: scale(1.05); }
    .congress-card .congress-card-content:hover .colorizer {
      opacity: .5; }

.congress-card .congress-card-title {
  position: absolute;
  left: 1em;
  bottom: 2em;
  font-family: "Open Sans", sans-serif;
  font-size: 22px;
  z-index: 1000; }

.congress-card .congress-card-link {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1000;
  text-decoration: none;
  border: 0; }
  .congress-card .congress-card-link > span {
    position: absolute;
    bottom: 1em;
    left: 1.5em;
    text-decoration: underline; }

/* ==========================================================================
  $About / history
========================================================================== */
.content-founders {
  box-shadow: 0 0 10px #eee;
  border: 1px solid #eee;
  border-width: 1px 0; }

.founder-list {
  text-align: center; }
  .founder-list li {
    margin: 0 1.5em;
    display: inline-block; }
    .founder-list li h3, .founder-list li p {
      font-size: 12px; }
    .founder-list li .thumbnail {
      margin: 0;
      padding: 0; }

.thumbnail-rounded.user img {
  width: 100px;
  height: 100px;
  box-shadow: 2px 2px 1px rgba(40, 40, 40, 0.2);
  filter: grayscale(1) sepia(0.1); }

.user img {
  background: 50% 0 no-repeat;
  background-size: cover;
  background-image: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgBEwETAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/TT8KXr2oo49qACk/CjiloAKT8KXj2ooAKT8KXrRQAUn4UtJxQAtJ+FH8NLQAUn4Vma34m0zw9Fvv7tICRlY85dvoo5rzzWfjY2WTSrAY7TXR/8AZQf60AerNTZZo4V3SOqL6scCvnnUviD4g1QnzdSmiU/wQfux/wCO4/WsGa4luHLSyPK5/idiTQB9Lv4g0uMkPqNop/2p1H9aWPXtNlICajaOfRZ1P9a+ZKKAPqhJFlXcjBlPdTkUrV8t293PZvvgmkgb+9GxU/pXQ6b8SPEOmEbdQe4QfwXIEmfxPP60AfQlFeX6J8a4ZCseq2RhPQzWx3L/AN8nkfma9B0nXLDXLfzrC6juY++w8r9R1H40AX6KTiloAKKKKACiiigAooooAKKKKAE3UtFFACfhRS0UAFFJto20ALRSbaNtAC0UUUAFFJto20ALRSbaNtABwBzivLfHHxXMEkljojKWX5XvOoz6J/j+XrV74seMjpVmNJtJNt1cLmZ1PKRnt9T/AC+teMY96AJbm4mvJ2mnleaVzlnkYsSfcmo8Ck20uPegBaTn2pMe9Lj3oAWk59qMe9GPegAwKWkx70hGKAHVYsNRutKuVuLS4e3mXo8Zwf8A6/0qtj3owKAPaPAnxQTW5I7DVAsN83Ecw4SU+mOzfof0r0OvlRSVIZSQRyCO1e8/DXxh/wAJNpJhuXzqFqAshPV17P8A0Pv9aAOyopNtG2gBaMcUm2loAKTbRto20AG2jbRto20AG2lopGoANtFG2igBaKTdS0AFFJupaACik3UtACH60tFFACc1BqF7HpthcXcxxFBGZG+gGan3VxPxd1I2XhB4Q2GupUi464+8f/Qf1oA8X1jVJtb1O5vpzmWdyx9h2A9gMD8KpbadRQA3HNG2nUUAN20uBRz7UtADdtLgUtFACYFLRRQA3bRtp1J1FADa2/CGvv4a1+1vQT5QbZMo7oev+P1ArHooA+qEYSKGVgVIyCO9Ornfh9qJ1PwfpkpbLrH5TeuVO3+QFdDuoAWk5paKACjn2opN1ABzR+NG6jdQAc0tJuo3UALg+tFJk+lFABnilooyKAE/hpefaik3UAG6jdS0UAJupaKKACvJ/jjdnzNJtR0AkkI/75A/ka9X/irxz43A/wBtace32cj/AMeNAHnGRRkUZFLQAUmRR0FAOaADIoyKWkyKADIpaTj2o49qADIoyKWk49qADIoyKWigBMijIpaTIoA9m+Cl4ZfD95bk58q4yPoyj+oNeibq8x+BoIs9WPYyRgfk1encUAG6jOOKWigBN1G6looATdRuo3UtACbqN1LRQAUUUUAJupaTbRtoAWk3UbaNtAADS0m2jHNAC0Um2jbQAteTfHKDEujzDusqH8NpH8zXrG2uC+MunfavC0VyBlrWdST6K2VP67aAPEsijIowKMCgBaTIowKMCgBaTIowKMCgAyKWkAFGBQAZFGRRgUYFABkUZFGBRgUAGRRkUYFGBQB7P8E4Nnh69mx9+6K/ki/416JXLfDLTv7P8GafkYeYNO3vuJx/47trqNtAC0m6lpMc0ALRSbaNtAC0UUmAaAFopMcUbaADdRRgUUALSbaWigBNtG2looAQCjHNHNLQAm2jbS0UAJtrI8W6d/avhjVLXG5nt2Kj1YDcv6gVsUg/OgD5Woq9r+nHSdcv7PGBBO8a/QE4/TFUMCgBaKKKACiiigAooooAb+dOpMCjAoAWm/nTqKAG/nUkEL3E0cUY3PIwVR6knApmBXR/DvT/AO0vGemRkZWOTzm9PkBb+YFAH0DZ2i2NpBbR/wCrgjWNfooAH8qm20tFACbaNtHNLQAm2loooATbRtpaT71ABg+tG2looAb+FFLzRQAtFFFACLR+FLRQAn4UfxUtFACbqN1LSbqAFqpquox6Tpl1eyj93BG0hHrgdPxq3XFfF28Nr4NlQHH2iZIj/wChf+y0AeI6hfzapfT3dw2+aZy7H3JqCikHSgBaKKQ9KAFooooAKKTAo6igBaKTqKWgAoopO1AC1peGtbl8O63aX8ZOInG9R/Eh4YflWZ2paAPqeKRJo0kQ70YBlYdCDT6574f3hvvBulSscsIvLz/ukr/Sug3UALRRRQAn4UtJ/FS0AJ+FLSZFLQAUUnFLQAmT6UUtFABRRRQAUUUUAFFFFABRRRQAV5/8aULeFrZh0W7XP/fD16BXL/ErTTqXgzUFUZeFROB/ukE/+O7qAPn2im/lSjr2oAWim/lR+VADqKb+VH5UAOopv5UflQA6im/lR+VADqQdKT8qXt2oAO1LTfyo/KgD6A+FqFPA2nZ7mQj6eY1dZWZ4Y006R4d06zYbXigQOPRsZb9Sa06ACijj2ooAKKOPakagBaKT8aOKAFoopGoAWikwKKAFooo/CgAopPwo/CgBaKPwo/CgBOaWk/Cj8KAFprxpIjJIokjYFWU9CDwRS/hS0AfNnizw9L4Y166sJMlEbdE5/jjPKt+X65rHwK+hfHnghPGumKsZWLUrcE28jcBx3jb2PY9jXgWoafc6TeS2t5A9vcRHDRuMEf59aAK+BRgUtFACYFLRTKAH0mBS0UAFFFJ3oAMCjtS0UAJ2rqvht4abxH4mgDpus7UiecnpgHhfxOB9M1iaHoN94j1COysLdp5n646KPVj2FfQnhTwrbeD9HWxgIlmY77icD/WP7ew6D/69AGwSSc96KKKACik/Cl/CgAooooAKKKT+KgBaKPwo/CgA59qKOfSigBOKNw9aOaWgAooo59qACk/Gl59qKAEaloooAKKKT+GgBelcL8aLAX/heO7Mame0mX97j5tjZUjPpkrXc81j+MrL+0fCmrQYyTbuyj1KjcP1AoA+bqKTIoyKAFopMijPvQAtFJkUd6AFopMiloATn2paTPGadGhldUXlmIAHqaAPoP4ZWA0rwVYqqLHLcqZpXC/M+4krk/7uK6aoLK1FjZW9sn3II1iGPRQB/Sp6ACiiigAooo59qACiiigAooooAKT8aWigBOKKXn2ooAKKKPxoAKKTt1paACikWloAKKKT8aAD+KloooAKa8ayoyMMqwII9qdRQB8sXMJtrmWJvvRuUP1BxUfHtWr4rh8jxPqyDot3Lj6bzWXQAh6Uce1B6UtACce1LRRQAn40ce1LRQAVq+EbYXvijSoSMhrmPI9gwJ/QVlV0/wAMYhN440wHoC7flGxoA+g6KKKACij8aKACk/hpaKACiiigAopPxpaACiiigAooooAKKKKACik/hpaACiiigAooooAKT+GlooATbQtLRQB82+NSG8XauR/z9Sf+hGsXbV7XLsX2tX9yDlZriSQH2LE1ToATAo49qWigBMCjApaTAoAMCloooATArrvhRgeOLH3WT/0Bq5Kug+H12LPxnpUhOAZfL/76BX+tAH0T/DS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAn4UUtFACNS0Un8NAC0UUUAFFFFABRRRQAUdulFJ/DQAoFc/wCOteXw94ZvLjcFmdTFCO5duB+XJ/CtDWtdsfD9m1zfTrBH2B+859FHc14P428Zz+L9REhUxWcWRBDnp6k+5oA5v+KlyKM+1H4UALRSZ9qO3SgA49qWkBzR+FADaXdS5FH4UANqWCd7aeOWM7ZI2Dq3oQcg0zIoz7UAfTehavFr2j2t9CRsmQMQP4W7j8DkVoV4L8PvHr+E7hre5DS6bM2WVesbf3h/UV7hp2pWurWqXNnOlxA/R0OR/wDWPtQBZ20tFFABRRRQAUUUUAJtox7UtFACfhS/hRRQAY9qKKKACiiigAooooAKKKRmCAsxAA5JJoAWiuZ1n4i6DooIkvluJR/yytv3h/McD8TXBa58ab653R6XapZp0Esvzv8AgOg/WgD1q/1K10u3ae7uI7aEdXkYAV5x4l+M0UQeHRYfOfp9pnGFH+6vU/jj6V5dqOq3mrzma9uZbmX+9I2cfT0/Cq1AFrU9WvNaumuL24e5mP8AE56D0A6AewqlT6KAGU+iigAoopOooAWiik/GgBaKKKACiiigArQ0TxDqHh258+wuXgY/eUcq3sR0NZ9J3oA9k8NfGOyvQsOrR/YZunnRgtGfr3X9frXoNrdwX0CzW80c8TfdeNgwP4ivlurula5f6JN5thdy2rd9jcN9R0P40AfTtFeQaJ8arqDbHqlmlyneWA7G/I8H9K7vSPiHoOs7RHfpBKf+WVz+7b9eD+BoA6SikVgwBU5B5BBzS0AFItLRQAUUjUtACc0UtFABUFzf21kubi4hgHrK4X+dfNVx4h1S7/12pXcoPZ52P9aoMxY5JJPcmgD6IvfiH4dsMh9VhkYdocyf+gg1zuofGzS4ARaWVzdMO74jU/zP6V4vTufagDvtS+M2s3YK2kVvYr2IXe35nj9K5HU/EOp60Sb2+nuR12u52j/gPQVQplAD6KbzTqACk7UtFABRSfhS0AFJx7UHpS0AJkUtFFACZFLTKfQAUUneloAKKKQDFAB2paZT6ACiiigAoopPwoA0NM8Qalo7Zsr6e2H91HO38R0NdXp3xj1y0AFytvfL6umxvzXj9K4Wk6CgD2Kw+N1hLgXmnz259YmEg/XFdDZfEzw5e4A1FYWP8M6MmPxIx+tfPtJ+FAH09aazp98B9mvra4z/AM8pVb+Rq7XyrVm31W9tMeRd3EP/AFzlZf5GgD6hor5uj8W65sH/ABOL7/wIb/GigDGoplOwKAFopMCk20AOopMCjAoAWim7aXAoAWikwKMCgBaKTAowKAFopMCjAoAMilpMCjAoAWikwKMCgBaKTAowKAFopMCjAoAWk702nYFAC0UmBRgUALRSYFGBQAtFJgUYFAC0UmBSbaAHUUmBS0ASJ90UUJ90UUAR0yn0UAMp9FFACZFLTKfQAUUnejAoAWiikzxmgBaKKKAEyKWiigBlFPpMigBaKKKAE6ik/ipciloAKTtS0UAFFFFADKfRSZ4zQAtFFFABTKfRQAUUUUAJx7UZFLSdqAJU+6KKcn3BRQBf+wQf88/1NP8A7Pt/+eY/M0UUAM+wQf8APP8AU0fYIP8Ann+poooAPsEH/PP9TT/7Pt/+eY/M0UUAH9n2/wDzzH5mmfYIP+ef6miigB/9n2//ADzH5mj+z7f/AJ5j8zRRQAfYIP8Ann+po/s+3/55j8zRRQAf2fb/APPMfmaP7Pt/+eY/M0UUAH2CD/nn+po/s+3/AOeY/M0UUAH9n2//ADzH5mj+z7f/AJ5j8zRRQAfYIP8Ann+po+wQf88/1NFFAB9gg/55/qaP7Pt/+eY/M0UUAH9n2/8AzzH5mj7BB/zz/U0UUAH9n2//ADzH5mj+z7f/AJ5j8zRRQAf2fb/88x+Zo+wQf88/1NFFAB/Z9v8A88x+Zpn2CD/nn+poooAf/Z9v/wA8x+Zo/s+3/wCeY/M0UUAH9n2//PMfmaP7Pt/+eY/M0UUAOSxg2D5P1NFFFAH/2Q=="); }

.user_carlos_vaz img {
  background-image: url(/docs/carlos_vaz.png); }

.user_rui_oliveira img {
  background-image: url(/assets/img/rui_oliveira.jpg); }

.user_novo_matos img {
  background-image: url(/assets/img/novomatos.jpg); }

.user_leonor_manacas img {
  background-image: url(/assets/img/leonor_manacas.jpg); }

.user_jose_castro img {
  background-image: url(/assets/img/jose_castro.jpg); }

.user_joaquim_costa_pereira img {
  background-image: url(/docs/joaquim_costa_pereira.png); }

.user_gil_goncalves img {
  background-image: url(/docs/gil_goncalves.png); }

.user_joao_coutinho img {
  background-image: url(/docs/joao_coutinho.png); }

.user_fernando_palma_martelo img {
  background-image: url(/docs/fernando_palma_martelo.png); }

.user_jorge_correia_pinto img {
  background-image: url(/docs/jorge_correia_pinto.png); }

.user_rui_machado img {
  background-image: url(/docs/rui_machado.png); }

.user_kris_maes img {
  background-image: url(/docs/kris_maes.png); }

.user_jorge_canena img {
  background-image: url(/docs/jorge_canena.png); }

.user_susana_coutinho img {
  background-image: url(/docs/susana_coutinho.png); }

.user_paulo_morgado img {
  background-image: url(/docs/paulo_morgado.png); }

.user_estevao_lima img {
  background-image: url(/docs/estevao_lima.png); }

.user_helder_ferreira img {
  background-image: url(/docs/helder_ferreira.png); }

.user_joao_moreira_pinto img {
  background-image: url(/docs/joao_moreira_pinto.png); }

.user_luis_lopes img {
  background-image: url(/docs/luis_lopes.png); }

.user_luis_couceiro img {
  background-image: url(/assets/img/user7.jpg?i=5); }

.user_jaime_vilaca img {
  background-image: url(/assets/img/user8.jpg?i=5); }

.user_rui_mendes img {
  background-image: url(/assets/img/user9.jpg?i=5); }

.user_humberto_cristino img {
  background-image: url(/assets/img/user10.jpg?i=5); }

.user_mario_marcos img {
  background-image: url(/assets/img/user11.jpg?i=5); }

.user_ana_povo img {
  background-image: url(/assets/img/ana_povo.jpg); }

.user_carlos_luz img {
  background-image: url(/assets/img/carlos_luz.jpg); }

.user_cristina_nogueira_silva img {
  background-image: url(/assets/img/cristina_nogueira_silva.jpg); }

.user_nuno_silva img {
  background-image: url(/docs/nuno_silva.jpg); }

.user_francisco_cabral img {
  background-image: url(/docs/francisco_cabral.jpg); }

.user_lucia_moleiro img {
  background-image: url(/docs/lucia_moleiro.jpg); }

.user_ines_pessanha img {
  background-image: url(/docs/ines_pessanha.jpg); }

.user_claudio_silva img {
  background-image: url(/docs/claudio_silva.jpg); }

.user_tiago_meneses img {
  background-image: url(/docs/tiago_meneses.jpg); }

.user_marta_moreira img {
  background-image: url(/docs/marta_moreira.jpg); }

section.management {
  margin-top: 20px;
  margin-bottom: 40px;
  padding: 0 19px;
  border: 0;
  box-shadow: 0 0 40px -10px rgba(180, 180, 180, 0.5); }
  section.management > h3 {
    font-size: 14px;
    margin: 20px 0;
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0; }

/* ==========================================================================
  $Learning / Videos
========================================================================== */
@media screen and (min-width: 768px) {
  .video-list > li {
    height: 400px; } }

ul.events-list li {
  min-height: 180px; }

/* ==========================================================================
  $Testimonials
========================================================================== */
.event-holder {
  margin: 1em 0;
  padding: .5em; }

.event-holder-date {
  display: inline-block;
  text-align: center;
  text-transform: uppercase;
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
  font-size: 14px;
  color: #333;
  background: #fff;
  border-radius: 5px;
  width: 90px;
  height: 90px;
  padding-top: 7px;
  box-shadow: inset 0 4px 35px -16px #000;
  border: 1px solid #ccc; }
  .event-holder-date strong {
    font-weight: 700;
    font-size: 28px;
    display: block;
    margin: -6px -14px 3px -14px;
    padding: 2px;
    background: rgba(127, 127, 127, 0.1);
    text-shadow: 1px 1px 1px #fff;
    border-bottom: 1px solid #e0e0e0; }

.event-holder-text {
  font-size: 14px; }

.event-holder-location {
  font-weight: 700;
  color: #000;
  font-size: 13px;
  text-transform: uppercase; }

/* ==========================================================================
	$Testimonials
========================================================================== */
.testimonial {
  margin: 40px 0; }
  .testimonial p {
    font: italic 24px "Cardo", Georgia, "Times New Roman", serif; }
  .testimonial cite {
    color: #fff;
    display: block;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    margin-top: 30px;
    text-transform: uppercase; }

/* ==========================================================================
	$Search form
========================================================================== */
.search {
  font-family: "Open Sans", sans-serif;
  padding: 0 15px 0 0;
  margin: 20px 0;
  border-bottom: 1px solid #ccc; }
  .search p {
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
    text-transform: uppercase;
    font-size: 12px; }
    .search p strong {
      color: #e84545; }
    .search p span {
      border-bottom: 2px solid #e84545;
      display: inline-block;
      padding: 10px 5px 10px 5px; }

/* ==========================================================================
	$Thumbnails
========================================================================== */
.thumbnail {
  border-width: 0;
  border-radius: 0;
  background: transparent;
  padding: 10px; }
  .thumbnail-rounded img {
    width: 150px;
    height: 150px;
    border-radius: 50%; }
  .thumbnail button {
    border-radius: 2px; }
  .thumbnail .caption {
    text-align: center;
    padding: 0; }
  .thumbnail h3 {
    line-height: 1.6; }
  .thumbnail p {
    font-size: 12px;
    font-family: "Open Sans", sans-serif;
    font-style: italic;
    font-weight: 300;
    line-height: 1.5; }

/* ==========================================================================
	$Sidebar
========================================================================== */
.sidebar {
  border-left: 1px solid #ccc;
  margin-top: 50px;
  padding-left: 0; }
  @media screen and (min-width: 992px) {
    .sidebar {
      padding-top: 30px;
      min-height: 200px; } }
  .sidebar li {
    padding: 5px 0;
    margin: 5px 0;
    position: relative;
    left: -2px; }
    .sidebar li a {
      padding: 5px 10px;
      text-transform: uppercase;
      font-weight: 300;
      font-size: 12px;
      border-width: 0;
      text-decoration: underline; }
      .sidebar li a:hover, .sidebar li a:active {
        background: rgba(127, 127, 127, 0.2); }
    .sidebar li.active {
      border-left: 4px solid #444; }
      .sidebar li.active a {
        text-decoration: none;
        color: #444;
        padding-left: 6px; }
  @media screen and (max-width: 991px) {
    .sidebar {
      text-align: center;
      border-left-width: 0;
      margin-top: 20px; }
      .sidebar li {
        display: inline-block; }
        .sidebar li.active {
          border-left-width: 0; } }

/* ==========================================================================
  $Specialists
========================================================================== */
.specialist-search ul {
  margin-left: -30px; }

@media (max-width: 991px) {
  .specialist-search li {
    display: block;
    padding-bottom: 3em; } }

@media (min-width: 992px) {
  .specialist-search button {
    margin-top: 2em; } }

.specialist-search label {
  font-weight: 100;
  text-transform: uppercase;
  font-size: 13px;
  color: #000; }

/* ==========================================================================
  $News
========================================================================== */
@media (min-width: 992px) {
  .news-list li {
    margin-bottom: 2em; } }

.news-list li h3 {
  margin-top: 0;
  line-height: 1.5; }

.news-list li p.date {
  font-weight: bold; }

.news-detail-container .info {
  display: block;
  margin: .8em 0;
  border: 1px solid #ccc;
  border-width: 1px 0;
  padding: .3em 0; }

/* ==========================================================================
  $Congress
========================================================================== */
body.ccongress.adetail > section.content-first {
  padding-top: 0; }

#programa {
  margin-top: 2em; }

.schedule-download-holder {
  padding-left: 50px; }

.congress-intro h3 {
  margin-bottom: 10px;
  height: 30px; }

.congress-intro p {
  font-size: 15px;
  line-height: 1.3; }

.congress-more-info {
  display: inline-block;
  padding: 2px 5px;
  border-radius: 5px;
  background: #d9edf7;
  font-size: 12px; }

.ccongress .adetail .content-first {
  position: relative; }

.ccongress .adetail .content-first:before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  height: 240px;
  background: #fff;
  z-index: -1;
  box-shadow: 0 0 10px rgba(127, 127, 127, 0.5); }

.ccongress .adetail section.content {
  padding-top: 50px; }

.ccongress .adetail .banner {
  height: 640px; }

.banner-text-holder-congress .banner-text p {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  font-size: 16px; }
  .banner-text-holder-congress .banner-text p.banner-text-date {
    color: #e84545; }

.banner-text-holder-congress .banner-text h1 {
  font-family: "Open Sans", sans-serif;
  font-size: 36px;
  color: #2d3033;
  font-weight: 200; }

.spot p {
  font-family: 'Open Sans';
  text-transform: uppercase;
  color: #999; }

.spot p.subspot {
  color: #c00; }

.submenu2 {
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  z-index: 999;
  border: 1px solid #eee;
  border-width: 1px 0;
  position: absolute;
  top: 640px;
  left: 0;
  right: 0; }

.submenu2.fixed {
  position: fixed;
  top: 70px;
  left: 0;
  right: 0; }

.submenu2 ul {
  margin: 0 auto;
  padding: 0; }

.submenu2 li {
  display: inline-block; }

.submenu2 li a {
  padding: 20px;
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  border: 0; }

.submenu2 li a:hover {
  background: #eee; }

.date-day {
  border-right: 1px solid #ccc;
  padding-right: 10px;
  margin-right: 10px; }

.date-period {
  text-transform: uppercase;
  color: #000;
  font-weight: 200;
  padding-top: 20px;
  padding-bottom: 10px;
  display: block;
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  font-family: "Open Sans", sans-serif; }
  .date-period.sticky.is-sticky {
    left: 0;
    right: 0;
    top: 70px;
    background: #FAFAED;
    z-index: 998;
    padding-left: 70px;
    box-shadow: 0 2px 1px rgba(200, 200, 200, 0.2); }
  .date-period.sticky {
    top: 70px; }

.translation {
  color: #e84545;
  font-size: 12px; }

.event-holder-date .translation {
  font-size: 10px; }

.congress-event-day {
  margin-bottom: 50px;
  margin-top: 50px; }

.congress-event-group ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0; }
  .congress-event-group ul li {
    font-weight: 300;
    font-size: 18px;
    color: #000; }

.congress-event-group dd > ul > li {
  margin-bottom: 10px; }

.congress-event-group p, .congress-event-group li, .congress-event-group td {
  font-size: 14px;
  font-family: "Open Sans", sans-serif; }

.congress-event-group p.text-small {
  font-size: 12px;
  text-transform: uppercase;
  color: #333; }

.congress-event-group ol {
  margin: 0;
  padding: 0 0 0 14px; }
  .congress-event-group ol li {
    font-weight: normal;
    font-size: 13px;
    font-family: "Open Sans", sans-serif;
    color: #6c7279; }

.congress-event-group .list-small {
  margin: 0;
  padding: 0; }
  .congress-event-group .list-small li {
    font-weight: normal;
    font-size: 13px;
    font-family: "Open Sans", sans-serif;
    color: #6c7279;
    margin-bottom: 0; }

.congress-event-group h6 {
  text-transform: uppercase; }

@media print {
  .navigation,
  .congress-intro,
  a.btn,
  h2 a {
    display: none !important; }
  .ccongress section.content {
    padding: 20px 0 !important; }
  .banner {
    background: none !important; }
  .banner-text-holder-congress .banner-text {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100%; }
  .event-holder-date {
    float: none !important; }
  a[href]:after {
    content: none !important; }
  h1.sponsor-list-title {
    font-size: 48px !important; }
  .sponsor-level-title {
    margin-top: 2em !important; } }

.congress-event-group dd.congress-event-main p {
  color: #e84545;
  font-size: 30px;
  font-weight: 200; }
  .congress-event-group dd.congress-event-main p span {
    font-weight: 300;
    color: #333;
    display: block;
    font-size: 18px; }

.congress-event-group dd {
  position: relative; }
  .congress-event-group dd:hover::before {
    transition: all linear .05s;
    display: inline !important;
    position: absolute;
    left: -130px;
    top: -10px;
    bottom: -10px;
    right: -10px;
    background: rgba(255, 255, 255, 0.9);
    content: '';
    border-top: 2px solid #464;
    z-index: -1;
    box-shadow: 0 0 50px -10px #9E9E9E; }

.congress-event-group dt {
  color: #b3b3b3; }
  .congress-event-group dt.event-assembly {
    color: #f60; }
  .congress-event-group dt.event-conference {
    color: #e84545; }
  .congress-event-group dt.event-openceremony {
    color: #000; }
  .congress-event-group dt.event-roundtable {
    color: #000; }
  .congress-event-group dt.event-session {
    color: #f60; }
  .congress-event-group dt.event-workshop {
    color: #06f; }

@media (min-width: 768px) {
  .congress-event-group dt {
    width: 100px;
    text-align: left;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    padding-top: 5px;
    white-space: normal; }
  .congress-event-group dd {
    margin-left: 120px; } }

/* ==========================================================================
  $Sponsors
========================================================================== */
h1.sponsor-list-title {
  display: block;
  text-align: center;
  font-size: 60px;
  color: #ccc; }

.sponsor-level-title-holder {
  text-align: center; }

.sponsor-level-title {
  display: inline-block;
  font-weight: 700;
  padding: 1em 4em;
  margin: 7em auto 2em auto;
  border-radius: 2em;
  background: #f0f0f0;
  letter-spacing: 2px; }

.sponsor-list {
  text-align: center; }

.sponsor-list li {
  display: inline;
  text-align: center; }

.sponsor-list li img {
  margin: 0 1em; }

.sponsor-list-platinum img {
  width: 400px; }

.sponsor-list-gold img {
  width: 300px; }

.sponsor-list-silver img {
  width: 200px; }

.sponsor-list-support img {
  width: 100px; }

/* ==========================================================================
  $Contacts
========================================================================== */
.contactFormHolder {
  position: relative;
  top: -150px;
  padding-top: 150px; }

.contactDetailsHolder p {
  font-family: "Open Sans", sans-serif; }

.cindex .byliner,
.cindex .navigation a {
  color: #fff; }

.cindex .fixed .byliner,
.cindex .fixed .navigation a {
  color: #333; }

.cindex #header .header-content {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15); }

.lnum {
  font-variant-numeric: lining-nums;
  -moz-font-feature-settings: "lnum" 1;
  -moz-font-feature-settings: "lnum=1";
  -ms-font-feature-settings: "lnum" 1;
  -o-font-feature-settings: "lnum" 1;
  -webkit-font-feature-settings: "lnum" 1;
  font-feature-settings: "lnum" 1;
  font-family: "Open Sans", sans-serif; }

.sticky {
  position: sticky; }

.sticky.sticky-fixed.is-sticky {
  position: fixed;
  backface-visibility: hidden; }

.sticky.sticky-fixed.is-absolute {
  position: absolute; }

@media screen and (max-width: 1200px) {
  .navigation a {
    margin-left: 10px; } }

@media screen and (max-width: 1024px) {
  #header .header-content {
    width: 90%; }
  .nav-toggle {
    display: block; }
  .navigation {
    position: fixed;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s; }
  .navigation .primary-nav {
    position: relative;
    top: 45%;
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    -webkit-transform: translateY(-45%);
    transform: translateY(-45%); }
  .navigation li {
    display: block;
    margin-bottom: 20px; }
  .navigation a {
    display: block;
    font-size: 25px;
    margin: 0;
    text-align: center; }
  .person {
    margin: 0 auto 50px; }
  .person-content {
    text-align: center; }
  .person .social-icons li {
    display: inline-block;
    float: none;
    margin-bottom: 5px; }
  .testimonials blockquote {
    padding: 20px 5% 0; }
  .testimonials p {
    font-size: 26px; }
  .flex-control-nav {
    bottom: 20px; } }

@media screen and (max-width: 768px) {
  .banner-text h1 {
    font-size: 42px; }
  .banner-text p {
    font-size: 18px; }
  .flexslider {
    padding-bottom: 80px; }
  .flex-control-nav {
    width: 100%; }
  .footer .footer-col {
    margin-bottom: 50px; } }

@media screen and (max-width: 640px) {
  .banner-text {
    padding-top: 35%; } }

@media screen and (max-width: 480px) {
  .banner-text {
    padding-top: 45%; }
  .banner-text h1 {
    font-size: 32px; }
  body {
    padding-bottom: 60vh; } }

@media screen and (max-width: 320px) {
  .banner-text {
    padding-top: 55%; }
  .testimonials blockquote {
    padding: 20px 5% 0; }
  .testimonials p {
    font-size: 26px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fY3NzMy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fc3VwcG9ydC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fb3BhY2l0eS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2hhZG93LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RleHQtc2hhZG93LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2NvbHVtbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3guc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19oYWNrcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19iYWNrZ3JvdW5kLWNsaXAuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1vcmlnaW4uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1zaXplLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3JlZ2lvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faHlwaGVuYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmlsdGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19mbG9hdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX29wYWNpdHkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3NpemUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19hbGVydHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ByaW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3R5cGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fY29kZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3RhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19mb3Jtcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2NvbXBvbmVudC1hbmltYXRpb25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Ryb3Bkb3ducy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b24tZ3JvdXBzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2lucHV0LWdyb3Vwcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19uYXZzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25hdmJhci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3BhZ2VyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2xhYmVscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19iYWRnZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fanVtYm90cm9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3RodW1ibmFpbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYWxlcnRzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbWVkaWEuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYW5lbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL193ZWxscy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jbG9zZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19tb2RhbHMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wb3BvdmVycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsIm1vZHVsZXMvX3R5cG9ncmFwaHkuc2NzcyIsIm1vZHVsZXMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9fZ2xvYmFsLnNjc3MiLCJtb2R1bGVzL19yZXNwb25zaXZlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvdmFyaWFibGVzXCI7XG5cbi8vIGNvbXBhc3NcbkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMyc7XG5AaW1wb3J0ICcuLi8uLi9ib3dlcl9jb21wb25lbnRzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0Jztcbi8vIEBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGlvbi9jb3JlJztcbi8vIEBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGlvbi9zaGFyZWQnO1xuLy8gQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9jb21wYXNzLW1peGlucy9saWIvYW5pbWF0aW9uL2FuaW1hdGUnO1xuXG4vLyBib290c3RyYXBcbi8vQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvX2Jvb3RzdHJhcC5zY3NzJztcblxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zXCI7XG5cbi8vIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3ByaW50XCI7XG4vLyBAaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2dseXBoaWNvbnNcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdHlwZVwiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2Zvcm1zXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9uYXZiYXJcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9wYWdlclwiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9sYWJlbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvYmFkZ2VzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC90aHVtYm5haWxzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2FsZXJ0c1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21lZGlhXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcGFuZWxzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvd2VsbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvY2xvc2VcIjtcblxuLy8gQ29tcG9uZW50cyB3LyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21vZGFsc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC90b29sdGlwXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcblxuXG4vLyBHb29nbGUgRm9udHNcbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1SYWxld2F5OjIwMCwzMDAsNDAwLDUwMCw2MDAsNzAwKTtcbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDMwMGl0YWxpYyw0MDAsNDAwaXRhbGljLDcwMCw3MDBpdGFsaWMpO1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUNhcmRvOjQwMCw0MDBpdGFsaWMsNzAwKTtcblxuLy8gYm9vdGZsYXRcbi8vQGltcG9ydCAnLi4vLi4vYXNzZXRzL3ZlbmRvci9ib290ZmxhdC9jc3MvYm9vdGZsYXQubWluLmNzcyc7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2J1dHRvbnNcIjtcbkBpbXBvcnQgJ21vZHVsZXMvaGVhZGVyJztcbkBpbXBvcnQgJ21vZHVsZXMvZ2xvYmFsJztcbkBpbXBvcnQgJ21vZHVsZXMvcmVzcG9uc2l2ZSc7XG4iLCIvL0NvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJGRhcmstZ3JleTogIzMzMztcbiRncmV5OiAjZWVlO1xuJGJhc2UtY29sb3I6ICMyZDMwMzM7XG4kZm9udC1jb2xvcjogIzZjNzI3OTtcbiRicmFuZC1jb2xvcjogI2U4NDU0NTtcbiRhY2NlbnQtY29sb3I6ICNjMTM3MDA7XG4kbmF2LWNvbG9yOiAjOTk5Oy8vIHJnYmEoJHdoaXRlLCAuNzUpO1xuJGZvb3Rlci1jb2xvcjogIzI0MjUzNTtcblxuLy9UeXBvZ3JhcGh5XG4kZm9udDogXCJSYWxld2F5XCIsIHNhbnMtc2VyaWY7XG4kZm9udC1zZWNvbmRhcnk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1hY2NlbnQ6IFwiQ2FyZG9cIiwgR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kdGhpbjogMjAwO1xuJGxpZ2h0OiAzMDA7XG4kbm9ybWFsOiA0MDA7XG4kbWVkaXVtOiA1MDA7XG4kc2VtaWJvbGQ6IDYwMDtcbiRib2xkOiA3MDA7XG5cbiRmb250LXNpemU6IDE2cHg7XG4kaDEtZm9udC1zaXplOiAzNnB4O1xuJGgyLWZvbnQtc2l6ZTogMThweDtcbiRoMy1mb250LXNpemU6IDE0cHg7XG4kaDQtZm9udC1zaXplOiAyMnB4O1xuJGg1LWZvbnQtc2l6ZTogMTRweDtcbiRuYXYtZm9udC1zaXplOiAxM3B4O1xuXG4kbGluZS1oZWlnaHQ6ICRmb250LXNpemUgKiAxLjY7XG5cbi8vIEJyZWFrcG9pbnRzXG4kYnAtc21hbGw6IDMyMHB4O1xuJGJwLXNtYWxsLTI6IDQ4MHB4O1xuJGJwLXNtYWxsLTM6IDU2OHB4O1xuJGJwLW1lZGl1bTogNjQwcHg7XG4kYnAtbWVkaXVtLTI6IDc2OHB4O1xuJGJwLWxhcmdlOiAxMDI0cHg7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAycHg7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgM3B4O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDFweDtcbiIsIkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2lubGluZS1ibG9ja1wiO1xuQGltcG9ydCBcImNzczMvb3BhY2l0eVwiO1xuQGltcG9ydCBcImNzczMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcImNzczMvdGV4dC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2JveFwiO1xuQGltcG9ydCBcImNzczMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWNsaXBcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtb3JpZ2luXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLXNpemVcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9yZWdpb25zXCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5hdGlvblwiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcblxuLy8gUm91bmQgYWxsIGNvcm5lcnMgYnkgYSBzcGVjaWZpYyBhbW91bnQsIGRlZmF1bHRzIHRvIHZhbHVlIG9mIGAkZGVmYXVsdC1ib3JkZXItcmFkaXVzYC5cbi8vXG4vLyBXaGVuIHR3byB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIGZpcnN0IGlzIHRoZSBob3Jpem9udGFsIHJhZGl1c1xuLy8gYW5kIHRoZSBzZWNvbmQgaXMgdGhlIHZlcnRpY2FsIHJhZGl1cy5cbi8vXG4vLyBOb3RlOiB3ZWJraXQgZG9lcyBub3Qgc3VwcG9ydCBzaG9ydGhhbmQgc3ludGF4IGZvciBzZXZlcmFsIGNvcm5lcnMgYXQgb25jZS5cbi8vIFNvIGluIHRoZSBjYXNlIHdoZXJlIHlvdSBwYXNzIHNldmVyYWwgdmFsdWVzIG9ubHkgdGhlIGZpcnN0IHdpbGwgYmUgcGFzc2VkIHRvIHdlYmtpdC5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyAgICAgLnNpbXBsZSAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgsIDRweCk7IH1cbi8vICAgICAuY29tcG91bmQgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCA1cHgsIDNweCA2cHgpOyB9XG4vLyAgICAgLmNyYXp5ICAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxcHggM3B4IDVweCA3cHgsIDJweCA0cHggNnB4IDhweCl9XG4vL1xuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy9cbi8vICAgIC5zaW1wbGUge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweCA0cHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7IH1cbi8vICAgIFxuLy8gICAgLmNvbXBvdW5kIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHggM3B4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4OyB9XG4vLyAgICBcbi8vICAgIC5jcmF6eSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4IDJweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDsgfVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzOiBmYWxzZSkge1xuXG4gIEBpZiAkdmVydGljYWwtcmFkaXVzIHtcbiAgICAvLyBXZWJraXQgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSBvZmZpY2lhbCBzaG9ydGhhbmQgc3ludGF4IGZvciBzcGVjaWZ5aW5nXG4gICAgLy8gYSB2ZXJ0aWNhbCByYWRpdXMgdW5sZXNzIHNvIGluIGNhc2UgdGhlcmUncyBzZXZlcmFsIHdlIG9ubHkgdGFrZSB0aGUgZmlyc3QuXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJvcmRlci1yYWRpdXMsIGZpcnN0LXZhbHVlLW9mKCRyYWRpdXMpIGZpcnN0LXZhbHVlLW9mKCR2ZXJ0aWNhbC1yYWRpdXMpLFxuICAgICAgbm90KC1tb3opLFxuICAgICAgLXdlYmtpdCxcbiAgICAgIG5vdCgtbyksXG4gICAgICBub3QoLW1zKSxcbiAgICAgIG5vdCgta2h0bWwpLFxuICAgICAgbm90IG9mZmljaWFsXG4gICAgKTtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzXCIsICRyYWRpdXMgdW5xdW90ZShcIi9cIikgJHZlcnRpY2FsLXJhZGl1cyxcbiAgICAgIC1tb3osXG4gICAgICBub3QoLXdlYmtpdCksXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICAta2h0bWwsXG4gICAgICBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCAkcmFkaXVzKTtcbiAgfVxufVxuXG4vLyBSb3VuZCByYWRpdXMgYXQgcG9zaXRpb24gYnkgYW1vdW50LlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJHZlcnRgOiBgdG9wYCwgYGJvdHRvbWBcbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJGhvcnpgOiBgbGVmdGAsIGByaWdodGBcblxuQG1peGluIGJvcmRlci1jb3JuZXItcmFkaXVzKCR2ZXJ0LCAkaG9yeiwgJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICAvLyBTdXBwb3J0IGZvciBtb3ppbGxhJ3Mgc3ludGF4IGZvciBzcGVjaWZ5aW5nIGEgY29ybmVyXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXMtI3skdmVydH0jeyRob3J6fVwiLCAkcmFkaXVzLFxuICAgIC1tb3osXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci0jeyR2ZXJ0fS0jeyRob3J6fS1yYWRpdXNcIiwgJHJhZGl1cyxcbiAgICBub3QoLW1veiksXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xuICBcbn1cblxuLy8gUm91bmQgdG9wLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIHRvcC1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3R0b20tbGVmdCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgbGVmdCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLXJpZ2h0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgcmlnaHQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggdG9wIGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHJpZ2h0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIGJvdHRvbSBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBsZWZ0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTsgfVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCIvLyBVc3VhbGx5IGNvbXBhc3MgaGFja3MgYXBwbHkgdG8gYm90aCBpZTYgJiA3IC0tIHNldCB0aGlzIHRvIGZhbHNlIHRvIGRpc2FibGUgc3VwcG9ydCBmb3IgYm90aC5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGllNiBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTY6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGllNyBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTc6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGxlZ2FjeSBpZTggaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBAcHJpdmF0ZVxuLy8gVGhlIHVzZXIgY2FuIHNpbXBseSBzZXQgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSBhbmQgNiwgNywgYW5kIDggd2lsbCBiZSBzZXQgYWNjb3JkaW5nbHksXG4vLyBCdXQgaW4gY2FzZSB0aGUgdXNlciBzZXQgZWFjaCBvZiB0aG9zZSBleHBsaWNpdGx5LCB3ZSBuZWVkIHRvIHN5bmMgdGhlIHZhbHVlIG9mXG4vLyB0aGlzIGNvbWJpbmVkIHZhcmlhYmxlLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg7XG5cbi8vIFdoZXRoZXIgdG8gb3V0cHV0IGxlZ2FjeSBzdXBwb3J0IGZvciBtb3ppbGxhLlxuLy8gVXN1YWxseSB0aGlzIG1lYW5zIGhhY2tzIHRvIHN1cHBvcnQgRmlyZWZveCAzLjYgb3IgZWFybGllci5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYTogdHJ1ZTtcblxuLy8gU3VwcG9ydCBmb3IgbW96aWxsYSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbW96KS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHdlYmtpdCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtd2Via2l0KS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHdlYmtpdCdzIG9yaWdpbmFsIChub24tc3RhbmRhcmQpIGdyYWRpZW50IHN5bnRheC5cbiRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIG9wZXJhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1vKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIG1pY3Jvc29mdCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbXMpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Iga2h0bWwgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLWtodG1sKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBzdmcgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcy5cbi8vIFNldHRpbmcgdGhpcyB0byB0cnVlIG1pZ2h0IGFkZCBzaWduaWZpY2FudCBzaXplIHRvIHlvdXJcbi8vIGdlbmVyYXRlZCBzdHlsZXNoZWV0cy5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBDU1MgUElFIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1waWUpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIENTUyBvcGFjaXR5LiBUYWtlcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEgYXMgdGhlIGFyZ3VtZW50LCBlLmcuIDAuNSBmb3IgNTAlIG9wYWNpdHkuXG4vL1xuLy8gICAgIEBwYXJhbSAkb3BhY2l0eVxuLy8gICAgICAgICBBIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIHdoZXJlIDAgaXMgdHJhbnNwYXJlbnQgYW5kIDEgaXMgb3BhcXVlLlxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gIH1cbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50LlxuQG1peGluIHRyYW5zcGFyZW50IHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSBvcGFxdWUuXG5AbWl4aW4gb3BhcXVlIHsgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuIiwiLy8gQGRvYyBvZmZcbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgYmVmb3JlIGltcG9ydGluZy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBib3ggc2hhZG93c1xuJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgaG9yaXpvbnRhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIHRvIHRoZSByaWdodC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgdmVydGljYWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyBkb3duLlxuJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBibHVyIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cjogNXB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzcHJlYWQgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc2hhZG93IGluc2V0OiBpbnNldCBvciBmYWxzZSAoZm9yIHN0YW5kYXJkIHNoYWRvdykuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0IDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzIGJveCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgYm94XG4vLyBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyBib3gtc2hhZG93IHByb3BlcnR5LlxuQG1peGluIGJveC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMSA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdChpZigkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0LCBpbnNldCwgZmFsc2UpLCAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yKSk7XG4gIH1cbiAgJHNoYWRvdyA6IGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2hhZG93LCAkc2hhZG93LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgYm94IHNoYWRvdyBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMuXG4vLyBJbmNsdWRlcyBkZWZhdWx0IGFyZ3VtZW50cyBmb3IgY29sb3IsIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIgbGVuZ3RoLCBzcHJlYWQgbGVuZ3RoLCBhbmQgaW5zZXQuXG5AbWl4aW4gc2luZ2xlLWJveC1zaGFkb3coXG4gICRjb2xvciAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yLFxuICAkaG9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCxcbiAgJHZvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsXG4gICRibHVyICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsXG4gICRzcHJlYWQgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCxcbiAgJGluc2V0ICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXRcbikge1xuICBAaWYgbm90ICgkaW5zZXQgPT0gdHJ1ZSBvciAkaW5zZXQgPT0gZmFsc2Ugb3IgJGluc2V0ID09IGluc2V0KSB7XG4gICAgQHdhcm4gXCIkaW5zZXQgZXhwZWN0ZWQgdG8gYmUgdHJ1ZSBvciB0aGUgaW5zZXQga2V5d29yZC4gR290ICN7JGluc2V0fSBpbnN0ZWFkLiBVc2luZzogaW5zZXRcIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZ1bGwgICA6ICRob2ZmICR2b2ZmO1xuICAgIEBpZiAkYmx1ciAgIHsgJGZ1bGw6ICRmdWxsICRibHVyOyAgIH1cbiAgICBAaWYgJHNwcmVhZCB7ICRmdWxsOiAkZnVsbCAkc3ByZWFkOyB9XG4gICAgQGlmICRjb2xvciAgeyAkZnVsbDogJGZ1bGwgJGNvbG9yOyAgfVxuICAgIEBpZiAkaW5zZXQgIHsgJGZ1bGw6IGluc2V0ICRmdWxsOyAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmdWxsKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGluIHlvdXIgcHJvamVjdFxuXG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcjogICAgI2FhYSAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyOiAgICAgMXB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZDogICBmYWxzZSAgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgdGV4dCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gdGV4dC1zaGFkb3cgcHJvcGVydHkuXG4vL1xuLy8gTm90ZTogaWYgYW55IHNoYWRvdyBoYXMgYSBzcHJlYWQgcGFyYW1ldGVyLCB0aGlzIHdpbGwgY2F1c2UgdGhlIG1peGluXG4vLyB0byBlbWl0IHRoZSBzaGFkb3cgZGVjbGFyYXRpb24gdHdpY2UsIGZpcnN0IHdpdGhvdXQgdGhlIHNwcmVhZCxcbi8vIHRoZW4gd2l0aCB0aGUgc3ByZWFkIGluY2x1ZGVkLiBUaGlzIGFsbG93cyB5b3UgdG8gcHJvZ3Jlc3NpdmVseVxuLy8gZW5oYW5jZSB0aGUgYnJvd3NlcnMgdGhhdCBkbyBzdXBwb3J0IHRoZSBzcHJlYWQgcGFyYW1ldGVyLlxuQG1peGluIHRleHQtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTE6IGNvbXBhY3QoJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IpO1xuICB9XG4gICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJHNoYWRvd3M6IGpvaW4oKCksKCksY29tbWEpO1xuICAkaGFzLXNwcmVhZDogZmFsc2U7XG4gIEBlYWNoICRzaGFkb3cgaW4gY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCkge1xuICAgIEBpZiBsZW5ndGgoJHNoYWRvdykgPiA0IHtcbiAgICAgICRoYXMtc3ByZWFkOiB0cnVlO1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgbnRoKCRzaGFkb3csMSkgbnRoKCRzaGFkb3csMikgbnRoKCRzaGFkb3csMykgbnRoKCRzaGFkb3csNSkpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsICRzaGFkb3cpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIEBpZiAkaGFzLXNwcmVhZCB7XG4gICAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkO1xuICB9XG4gIHRleHQtc2hhZG93OiAkc2hhZG93cztcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgdGV4dCBzaGFkb3cuXG4vL1xuLy8gUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBjb2xvciwgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciwgYW5kIHNwcmVhZFxuLy8gYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uIGRlZmF1bHRzIGFib3ZlLlxuQG1peGluIHNpbmdsZS10ZXh0LXNoYWRvdyhcbiAgJGhvZmY6IGZhbHNlLFxuICAkdm9mZjogZmFsc2UsXG4gICRibHVyOiBmYWxzZSxcbiAgJHNwcmVhZDogZmFsc2UsXG4gICRjb2xvcjogZmFsc2Vcbikge1xuICAvLyBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhlIGNvbG9yIGNvbWVzIGZpcnN0LiBJdCBkb2Vzbid0LlxuICBAaWYgdHlwZS1vZigkaG9mZikgPT0gY29sb3Ige1xuICAgICR0ZW1wLWNvbG9yOiAkaG9mZjtcbiAgICAkaG9mZjogJHZvZmY7XG4gICAgJHZvZmY6ICRibHVyO1xuICAgICRibHVyOiAkc3ByZWFkO1xuICAgICRzcHJlYWQ6ICRjb2xvcjtcbiAgICAkY29sb3I6ICR0ZW1wLWNvbG9yO1xuICB9XG4gIC8vIENhbid0IHJlbHkgb24gZGVmYXVsdCBhc3NpZ25tZW50IHdpdGggbXVsdGlwbGUgc3VwcG9ydGVkIGFyZ3VtZW50IG9yZGVycy5cbiAgJGhvZmY6ICAgaWYoJGhvZmYsICAgJGhvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQpO1xuICAkdm9mZjogICBpZigkdm9mZiwgICAkdm9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCk7XG4gICRibHVyOiAgIGlmKCRibHVyLCAgICRibHVyLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgICAgKTtcbiAgJHNwcmVhZDogaWYoJHNwcmVhZCwgJHNwcmVhZCwgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICApO1xuICAkY29sb3I6ICBpZigkY29sb3IsICAkY29sb3IsICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvciAgICk7XG4gIC8vIFdlIGRvbid0IG5lZWQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoaXMgcHJvcGVydHkuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSBvciAkaG9mZiA9PSBub25lIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coY29tcGFjdCgkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkICRjb2xvcikpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFNwZWNpZnkgdGhlIHNob3J0aGFuZCBgY29sdW1uc2AgcHJvcGVydHkuXG4vL1xuLy8gRXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1ucygyMGVtIDIpXG5AbWl4aW4gY29sdW1ucygkd2lkdGgtYW5kLWNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW5zLCAkd2lkdGgtYW5kLWNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY29sdW1uc1xuQG1peGluIGNvbHVtbi1jb3VudCgkY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1jb3VudCwgJGNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBnYXAgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDIwcHhgXG5AbWl4aW4gY29sdW1uLWdhcCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1nYXAsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgY29sdW1ucyBlLmcuIGAxMDBweGBcbkBtaXhpbiBjb2x1bW4td2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4td2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDFweGBcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHN0eWxlIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBkb3R0ZWRgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1zdHlsZS5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXN0eWxlLCB1bnF1b3RlKCRzdHlsZSksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGNvbG9yIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBibHVlYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItY29sb3IuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBlbmNvbXBhc3NpbmcgYWxsIGNvbHVtbiBydWxlIHByb3BlcnRpZXNcbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHgsIHNvbGlkLCAjYzAwKVxuLy9cbi8vIE9yIHRoZSB2YWx1ZXMgY2FuIGJlIHNwYWNlIHNlcGFyYXRlZDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4IHNvbGlkICNjMDApXG5AbWl4aW4gY29sdW1uLXJ1bGUoJHdpZHRoLCAkc3R5bGU6IGZhbHNlLCAkY29sb3I6IGZhbHNlKSB7XG4gICRmdWxsIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KCR3aWR0aCwgJHN0eWxlLCAkY29sb3IpKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLCAkZnVsbCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWJlZm9yZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1iZWZvcmUoYWx3YXlzKTt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuQG1peGluIGNvbHVtbi1icmVhay1iZWZvcmUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYmVmb3JlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYWZ0ZXJcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhay1hZnRlcihhbHdheXMpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuQG1peGluIGNvbHVtbi1icmVhay1hZnRlcigkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1hZnRlciwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWluc2lkZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstaW5zaWRlKCk7fVxuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuQG1peGluIGNvbHVtbi1icmVhay1pbnNpZGUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstaW5zaWRlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBBbGwtcHVycG9zZSBtaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4gYnJlYWtzLlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGJlZm9yZSwgYWZ0ZXIsIGluc2lkZSBcbi8vICogbGVnYWwgdmFsdWVzIGZvciAnJHZhbHVlJyBhcmUgZGVwZW5kZW50IG9uICR0eXBlXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBiZWZvcmUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBhZnRlciwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGluc2lkZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgXG4vLyAgRXhhbXBsZXM6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYmVmb3JlLCBhbHdheXMpO31cbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYWZ0ZXIsIGFsd2F5cyk7IH1cbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGluc2lkZSk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbi8vICBcbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbi8vXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuIFxuQG1peGluIGNvbHVtbi1icmVhaygkdHlwZTogYmVmb3JlLCAkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiY29sdW1uLWJyZWFrLSN7JHR5cGV9XCIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGJveCBtb2RlbCBmb3IgTW96aWxsYSwgV2Via2l0LCBJRTggYW5kIHRoZSBmdXR1cmVcbi8vXG4vLyBAcGFyYW0gJGJzXG4vLyAgIFsgY29udGVudC1ib3ggfCBib3JkZXItYm94IF1cblxuQG1peGluIGJveC1zaXppbmcoJGJzKSB7XG4gICRiczogdW5xdW90ZSgkYnMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNpemluZywgJGJzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gZGlzcGxheTpib3g7IG11c3QgYmUgdXNlZCBmb3IgYW55IG9mIHRoZSBvdGhlciBmbGV4Ym94IG1peGlucyB0byB3b3JrIHByb3Blcmx5XG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgYm94LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IG9yaWVudGF0aW9uLCBhc3N1bWluZyB0aGF0IHRoZSB1c2VyIHdhbnRzIHNvbWV0aGluZyBsZXNzIGJsb2NrLWxpa2VcbiRkZWZhdWx0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWRlZmF1bHQ7XG5cbi8vIEJveCBvcmllbnRhdGlvbiBbIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcyB8IGluaGVyaXQgXVxuQG1peGluIGJveC1vcmllbnQoXG4gICRvcmllbnRhdGlvbjogJGRlZmF1bHQtYm94LW9yaWVudFxuKSB7XG4gICRvcmllbnRhdGlvbiA6IHVucXVvdGUoJG9yaWVudGF0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmllbnQsICRvcmllbnRhdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveC1hbGlnblxuJGRlZmF1bHQtYm94LWFsaWduOiBzdHJldGNoICFkZWZhdWx0O1xuXG4vLyBCb3ggYWxpZ24gWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaCBdXG5AbWl4aW4gYm94LWFsaWduKFxuICAkYWxpZ25tZW50OiAkZGVmYXVsdC1ib3gtYWxpZ25cbikge1xuICAkYWxpZ25tZW50IDogdW5xdW90ZSgkYWxpZ25tZW50KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1hbGlnbiwgJGFsaWdubWVudCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBmbGV4XG4kZGVmYXVsdC1ib3gtZmxleDogMCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBib3ggZmxleC4gQXBwbHkgdGhpcyB0byB0aGUgY2hpbGRyZW4gaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gRm9yIGV4YW1wbGU6IFwiZGl2LmRpc3BsYXktYm94ID4gZGl2LmNoaWxkLWJveFwiIHdvdWxkIGdldCB0aGUgYm94IGZsZXggbWl4aW4uXG5AbWl4aW4gYm94LWZsZXgoXG4gICRmbGV4OiAkZGVmYXVsdC1ib3gtZmxleFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleCwgJGZsZXgsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBmbGV4IGdyb3VwXG4kZGVmYXVsdC1ib3gtZmxleC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBmbGV4aWJsZSBncm91cGluZ1xuQG1peGluIGJveC1mbGV4LWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LWJveC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3Igb3JkaW5hbCBncm91cFxuJGRlZmF1bHQtYm94LW9yZGluYWwtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3Igb3JkaW5hbCBncm91cGluZyBhbmQgcmVhcnJhbmdpbmcgdGhlIG9yZGVyXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtb3JkaW5hbC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmRpbmFsLWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQm94IGRpcmVjdGlvbiBkZWZhdWx0IHZhbHVlXG4kZGVmYXVsdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3gtZGlyZWN0aW9uIFsgbm9ybWFsIHwgcmV2ZXJzZSB8IGluaGVyaXQgXVxuQG1peGluIGJveC1kaXJlY3Rpb24oXG4gICRkaXJlY3Rpb246ICRkZWZhdWx0LWJveC1kaXJlY3Rpb25cbikge1xuICAkZGlyZWN0aW9uOiB1bnF1b3RlKCRkaXJlY3Rpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggbGluZXNcbiRkZWZhdWx0LWJveC1saW5lczogc2luZ2xlICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IGxpbmVzIFsgc2luZ2xlIHwgbXVsdGlwbGUgXVxuQG1peGluIGJveC1saW5lcyhcbiAgJGxpbmVzOiAkZGVmYXVsdC1ib3gtbGluZXNcbikge1xuICAkbGluZXM6IHVucXVvdGUoJGxpbmVzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1saW5lcywgJGxpbmVzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBwYWNrXG4kZGVmYXVsdC1ib3gtcGFjazogc3RhcnQgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggcGFjayBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSBdXG5AbWl4aW4gYm94LXBhY2soXG4gICRwYWNrOiAkZGVmYXVsdC1ib3gtcGFja1xuKSB7XG4gICRwYWNrOiB1bnF1b3RlKCRwYWNrKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1wYWNrLCAkcGFjayxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvZ2VuZXJhbC9oYWNrc1wiO1xuXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGJhY2tncm91bmRzKSBvciAkbXVsdC1iZ3M7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLXN2ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW93ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogLXdlYmtpdCgkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW1veigkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgICAtbygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgICAgICB7IC1waWUtYmFja2dyb3VuZDogICAgLXBpZSgkYmFja2dyb3VuZHMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogICAgICAgICAkYmFja2dyb3VuZHMgO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC13aXRoLWNzczItZmFsbGJhY2soXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkc2ltcGxlLWJhY2tncm91bmQ6IGlmKCRtdWx0LWJncyBvciBwcmVmaXhlZCgtY3NzMiwgJGJhY2tncm91bmRzKSwgLWNzczIoLWNvbXBhc3MtbnRoKCRiYWNrZ3JvdW5kcywgbGFzdCkpLCBmYWxzZSk7XG4gIEBpZiBub3QoYmxhbmsoJHNpbXBsZS1iYWNrZ3JvdW5kKSkgeyBiYWNrZ3JvdW5kOiAkc2ltcGxlLWJhY2tncm91bmQ7IH1cbiAgQGluY2x1ZGUgYmFja2dyb3VuZCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbn1cblxuXG4vLyBCYWNrZ3JvdW5kIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2UtMSxcbiAgJGltYWdlLTI6IGZhbHNlLFxuICAkaW1hZ2UtMzogZmFsc2UsXG4gICRpbWFnZS00OiBmYWxzZSxcbiAgJGltYWdlLTU6IGZhbHNlLFxuICAkaW1hZ2UtNjogZmFsc2UsXG4gICRpbWFnZS03OiBmYWxzZSxcbiAgJGltYWdlLTg6IGZhbHNlLFxuICAkaW1hZ2UtOTogZmFsc2UsXG4gICRpbWFnZS0xMDogZmFsc2Vcbikge1xuICAkaW1hZ2VzOiBjb21wYWN0KCRpbWFnZS0xLCAkaW1hZ2UtMiwgJGltYWdlLTMsICRpbWFnZS00LCAkaW1hZ2UtNSwgJGltYWdlLTYsICRpbWFnZS03LCAkaW1hZ2UtOCwgJGltYWdlLTksICRpbWFnZS0xMCk7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRpbWFnZXMpIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgkaW1hZ2VzKSA+IDE7XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1zdmcoJGltYWdlcyk7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW93ZygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdCgkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW1veigkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgICAtbygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgIHsgQHdhcm4gXCJQSUUgZG9lcyBub3Qgc3VwcG9ydCBiYWNrZ3JvdW5kLWltYWdlLiBVc2UgQGluY2x1ZGUgYmFja2dyb3VuZCgjeyRpbWFnZXN9KSBpbnN0ZWFkLlwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgJGltYWdlcyA7XG59XG5cbi8vIEVtaXQgYSBJRS1TcGVjaWZpYyBmaWx0ZXJzIHRoYXQgcmVuZGVycyBhIHNpbXBsZSBsaW5lYXIgZ3JhZGllbnQuXG4vLyBGb3IgdXNlIGluIElFIDYgLSA4LiBCZXN0IHByYWN0aWNlIHdvdWxkIGhhdmUgeW91IGFwcGx5IHRoaXMgdmlhIGFcbi8vIGNvbmRpdGlvbmFsIElFIHN0eWxlc2hlZXQsIGJ1dCBpZiB5b3UgbXVzdCwgeW91IHNob3VsZCBwbGFjZSB0aGlzIGJlZm9yZVxuLy8gYW55IGJhY2tncm91bmQtaW1hZ2UgcHJvcGVydGllcyB0aGF0IHlvdSBoYXZlIHNwZWNpZmllZC5cbi8vXG4vLyBGb3IgdGhlIGAkb3JpZW50YXRpb25gIHBhcmFtZXRlciwgeW91IGNhbiBwYXNzIGB2ZXJ0aWNhbGAgb3IgYGhvcml6b250YWxgLlxuQG1peGluIGZpbHRlci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbjogdmVydGljYWwpIHtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbiAgJGdyYWRpZW50LXR5cGU6IGlmKCRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCwgMCwgMSk7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZ3JhZGllbnRUeXBlPSN7JGdyYWRpZW50LXR5cGV9LCBzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScpO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgcHJvcGVydGllcyBhbmQgdmFsdWVzLlxuQG1peGluIGJvcmRlci1pbWFnZSgkdmFsdWUpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIHsgICAgLW1vei1ib3JkZXItaW1hZ2U6ICAgIC1tb3oocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAgICAtb3dnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogLXdlYmtpdChyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIHsgICAgICAtby1ib3JkZXItaW1hZ2U6ICAgICAgLW8ocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICB7ICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAtc3ZnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWU7XG59XG5cbi8vIExpc3Qgc3R5bGUgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUtaW1hZ2UoJGltYWdlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJGltYWdlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCRpbWFnZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkaW1hZ2UgO1xufVxuXG4vLyBMaXN0IHN0eWxlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlKCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICR2YWx1ZSA7XG59XG5cbi8vIGNvbnRlbnQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGNvbnRlbnQoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGNvbnRlbnQ6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICAgICAgICAgJHZhbHVlIDtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zdXBwb3J0XCI7XG5cbi8vIFRoZSBgem9vbWAgYXBwcm9hY2ggZ2VuZXJhdGVzIGxlc3MgQ1NTIGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZS5cbi8vIFNldCB0aGlzIHRvIGBibG9ja2AgdG8gdXNlIHRoZSBkaXNwbGF5LXByb3BlcnR5IHRvIGhhY2sgdGhlXG4vLyBlbGVtZW50IHRvIGdhaW4gbGF5b3V0LlxuJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaDogem9vbSAhZGVmYXVsdDtcblxuLy8gVGhpcyBtaXhpbiBjYXVzZXMgYW4gZWxlbWVudCBtYXRjaGluZyB0aGUgc2VsZWN0b3Jcbi8vIHRvIGdhaW4gdGhlIFwiaGFzTGF5b3V0XCIgcHJvcGVydHkgaW4gaW50ZXJuZXQgZXhwbG9yZXIuXG4vLyBNb3JlIGluZm9ybWF0aW9uIG9uIFtoYXNMYXlvdXRdKGh0dHA6Ly9yZWZlcmVuY2Uuc2l0ZXBvaW50LmNvbS9jc3MvaGFzbGF5b3V0KS5cbkBtaXhpbiBoYXMtbGF5b3V0KCRhcHByb2FjaDogJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgQGlmICRhcHByb2FjaCA9PSB6b29tIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9IEBlbHNlIGlmICRhcHByb2FjaCA9PSBibG9jayB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LWJsb2NrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGhhcy1sYXlvdXQgYXBwcm9hY2g6ICN7JGFwcHJvYWNofVwiO1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC16b29tIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IHtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC1ibG9jayB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAvLyBUaGlzIG1ha2VzIGllNiBnZXQgbGF5b3V0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vIGFuZCB0aGlzIHB1dHMgaXQgYmFjayB0byBibG9ja1xuICAgICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG59XG5cbi8vIEEgaGFjayB0byBzdXBwbHkgSUU2IChhbmQgYmVsb3cpIHdpdGggYSBkaWZmZXJlbnQgcHJvcGVydHkgdmFsdWUuXG4vLyBbUmVhZCBtb3JlXShodHRwOi8vd3d3LmNzc3BvcnRhbC5jb20vY3NzLWhhY2tzLyNpbl9jc3MtaW1wb3J0YW50KS5cbkBtaXhpbiBiYW5nLWhhY2soJHByb3BlcnR5LCAkdmFsdWUsICRpZTYtdmFsdWUpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICN7JHByb3BlcnR5fTogI3skaWU2LXZhbHVlfTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgcGFkZGluZy1ib3hgIC0tIHRoZSBib3ggbW9kZWwgdXNlZCBieSBtb2Rlcm4gYnJvd3NlcnMuXG4vL1xuLy8gSWYgeW91IHdpc2ggdG8gZG8gc28sIHlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29uc3RhbnQgd2l0aCBgYm9yZGVyLWJveGBcbi8vXG4vLyBUbyBvdmVycmlkZSB0byB0aGUgZGVmYXVsdCBib3JkZXItYm94IG1vZGVsLCB1c2UgdGhpcyBjb2RlOlxuLy8gICAgICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveFxuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFkZWZhdWx0O1xuXG4vLyBDbGlwIHRoZSBiYWNrZ3JvdW5kIChpbWFnZSBhbmQgY29sb3IpIGF0IHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nIG9yIGJvcmRlci5cbi8vXG4vLyBMZWdhbCBWYWx1ZXM6XG4vL1xuLy8gICAqIHBhZGRpbmctYm94XG4vLyAgICogYm9yZGVyLWJveFxuLy8gICAqIHRleHRcblxuQG1peGluIGJhY2tncm91bmQtY2xpcCgkY2xpcDogJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwKSB7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmddXG4gICRjbGlwOiB1bnF1b3RlKCRjbGlwKTtcbiAgJGRlcHJlY2F0ZWQ6ICRjbGlwO1xuICBAaWYgJGNsaXAgPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJGNsaXAgPT0gYm9yZGVyLWJveCB7ICRkZXByZWNhdGVkOiBib3JkZXI7IH1cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRjbGlwLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIi8vIE92ZXJyaWRlIGAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbmAgdG8gY2hhbmdlIHRoZSBkZWZhdWx0LlxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveCAhZGVmYXVsdDtcblxuLy8gUG9zaXRpb24gdGhlIGJhY2tncm91bmQgb2ZmIHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nLCBib3JkZXIgb3IgY29udGVudFxuLy9cbi8vICogUG9zc2libGUgdmFsdWVzOlxuLy8gICAqIGBwYWRkaW5nLWJveGBcbi8vICAgKiBgYm9yZGVyLWJveGBcbi8vICAgKiBgY29udGVudC1ib3hgXG4vLyAqIGJyb3dzZXIgZGVmYXVsdHMgdG8gYHBhZGRpbmctYm94YFxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0byBgY29udGVudC1ib3hgXG5cblxuQG1peGluIGJhY2tncm91bmQtb3JpZ2luKCRvcmlnaW46ICRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJG9yaWdpbik7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmcgfCBjb250ZW50XVxuICAkZGVwcmVjYXRlZDogJG9yaWdpbjtcbiAgQGlmICRvcmlnaW4gPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJG9yaWdpbiA9PSBib3JkZXItYm94ICB7ICRkZXByZWNhdGVkOiBib3JkZXI7ICB9XG4gIEBpZiAkb3JpZ2luID09IGNvbnRlbnQtYm94IHsgJGRlcHJlY2F0ZWQ6IGNvbnRlbnQ7IH1cblxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRvcmlnaW4sXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICAtbyxcbiAgICAtbXMsXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vICBvdmVycmlkZSB0byBjaGFuZ2UgdGhlIGRlZmF1bHRcbiRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHNpemUgb2YgYmFja2dyb3VuZCBpbWFnZXMgdXNpbmcgcHgsIHdpZHRoIGFuZCBoZWlnaHQsIG9yIHBlcmNlbnRhZ2VzLlxuLy8gQ3VycmVudGx5IHN1cHBvcnRlZCBpbjogT3BlcmEsIEdlY2tvLCBXZWJraXQuXG4vL1xuLy8gKiBwZXJjZW50YWdlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhY2tncm91bmQtb3JpZ2luIChkZWZhdWx0ID0gcGFkZGluZy1ib3gpXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvOiBgJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplYFxuQG1peGluIGJhY2tncm91bmQtc2l6ZShcbiAgJHNpemUtMTogJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplLFxuICAkc2l6ZS0yOiBmYWxzZSxcbiAgJHNpemUtMzogZmFsc2UsXG4gICRzaXplLTQ6IGZhbHNlLFxuICAkc2l6ZS01OiBmYWxzZSxcbiAgJHNpemUtNjogZmFsc2UsXG4gICRzaXplLTc6IGZhbHNlLFxuICAkc2l6ZS04OiBmYWxzZSxcbiAgJHNpemUtOTogZmFsc2UsXG4gICRzaXplLTEwOiBmYWxzZVxuKSB7XG4gICRzaXplLTE6IGlmKHR5cGUtb2YoJHNpemUtMSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRzaXplLTEpLCAkc2l6ZS0xKTtcbiAgJHNpemVzOiBjb21wYWN0KCRzaXplLTEsICRzaXplLTIsICRzaXplLTMsICRzaXplLTQsICRzaXplLTUsICRzaXplLTYsICRzaXplLTcsICRzaXplLTgsICRzaXplLTksICRzaXplLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtc2l6ZSwgJHNpemVzLCAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciBAZm9udC1mYWNlLiBTdXBwb3J0cyBJRSwgR2Vja28sIFdlYmtpdCwgT3BlcmEuXG4vL1xuLy8gKiAkbmFtZSBpcyByZXF1aXJlZCwgYXJiaXRyYXJ5LCBhbmQgd2hhdCB5b3Ugd2lsbCB1c2UgaW4gZm9udCBzdGFja3MuXG4vLyAqICRmb250LWZpbGVzIGlzIHJlcXVpcmVkIHVzaW5nIGZvbnQtZmlsZXMoJ3JlbGF0aXZlL2xvY2F0aW9uJywgJ2Zvcm1hdCcpLlxuLy8gICBmb3IgYmVzdCByZXN1bHRzIHVzZSB0aGlzIG9yZGVyOiB3b2ZmLCBvcGVudHlwZS90cnVldHlwZSwgc3ZnXG4vLyAqICRlb3QgaXMgcmVxdWlyZWQgYnkgSUUsIGFuZCBpcyBhIHJlbGF0aXZlIGxvY2F0aW9uIG9mIHRoZSBlb3QgZmlsZS5cbi8vICogJHdlaWdodCBzaG93cyBpZiB0aGUgZm9udCBpcyBib2xkLCBkZWZhdWx0cyB0byBub3JtYWxcbi8vICogJHN0eWxlIGRlZmF1bHRzIHRvIG5vcm1hbCwgbWlnaHQgYmUgYWxzbyBpdGFsaWNcbi8vICogRm9yIGFuZHJvaWQgMi4yIENvbXBhdGlibGl0eSwgcGxlYXNlIGVuc3VyZSB0aGF0IHlvdXIgd2ViIHBhZ2UgaGFzXG4vLyAgIGEgbWV0YSB2aWV3cG9ydCB0YWcuXG4vLyAqIFRvIHN1cHBvcnQgaU9TIDwgNC4yLCBhbiBTVkcgZmlsZSBtdXN0IGJlIHByb3ZpZGVkXG4vL1xuLy8gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXIgZm9ybWF0cyBjaGVjayBvdXQgdGhlIEZvbnQgU3F1aXJyZWxcbi8vIFtmb250IGdlbmVyYXRvcl0oaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tL2ZvbnRmYWNlL2dlbmVyYXRvcilcbi8vXG5cbi8vIEluIG9yZGVyIHRvIHJlZmVyIHRvIGEgc3BlY2lmaWMgc3R5bGUgb2YgdGhlIGZvbnQgaW4geW91ciBzdHlsZXNoZWV0cyBhcyBcbi8vIGUuZy4gXCJmb250LXN0eWxlOiBpdGFsaWM7XCIsICB5b3UgbWF5IGFkZCBhIGNvdXBsZSBvZiBAZm9udC1mYWNlIGluY2x1ZGVzXG4vLyBjb250YWluaW5nIHRoZSByZXNwZWN0aXZlIGZvbnQgZmlsZXMgZm9yIGVhY2ggc3R5bGUgYW5kIHNwZWN5aW5nXG4vLyByZXNwZWN0aXZlIHRoZSAkc3R5bGUgcGFyYW1ldGVyLlxuXG4vLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoXG4gICRuYW1lLCBcbiAgJGZvbnQtZmlsZXMsIFxuICAkZW90OiBmYWxzZSxcbiAgJHdlaWdodDogZmFsc2UsXG4gICRzdHlsZTogZmFsc2Vcbikge1xuICAkaWVmb250OiB1bnF1b3RlKFwiI3skZW90fT8jaWVmaXhcIik7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XG4gICAgQGlmICRlb3Qge1xuICAgICAgc3JjOiBmb250LXVybCgkZW90KTtcbiAgICAgICRmb250LWZpbGVzOiBmb250LXVybCgkaWVmb250KSB1bnF1b3RlKFwiZm9ybWF0KCdlb3QnKVwiKSwgJGZvbnQtZmlsZXM7IFxuICAgIH1cbiAgICBzcmM6ICRmb250LWZpbGVzO1xuICAgIEBpZiAkd2VpZ2h0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIH1cbiAgICBAaWYgJHN0eWxlIHtcbiAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQGRvYyBvZmZcbi8vIE5vdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2FmYXJpLCBDaHJvbWUsIGFuZCBGaXJlZm94IGFsbCBzdXBwb3J0IDNEIHRyYW5zZm9ybXMuIEhvd2V2ZXIsXG4vLyBvbmx5IGluIHRoZSBtb3N0IHJlY2VudCBidWlsZHMuIFlvdSBzaG91bGQgYWxzbyBwcm92aWRlIGZhbGxiYWNrIDJkIHN1cHBvcnQgZm9yXG4vLyBPcGVyYSBhbmQgSUUuIElFMTAgaXMgc2xhdGVkIHRvIGhhdmUgM2QgZW5hYmxlZCwgYnV0IGlzIGN1cnJlbnRseSB1bnJlbGVhc2VkLlxuLy8gVG8gbWFrZSB0aGF0IGVhc3ksIGFsbCAyRCB0cmFuc2Zvcm1zIGluY2x1ZGUgYW4gYnJvd3Nlci10YXJnZXRpbmcgdG9nZ2xlICgkb25seTNkKVxuLy8gdG8gc3dpdGNoIGJldHdlZW4gdGhlIHR3byBzdXBwb3J0IGxpc3RzLiBUaGUgdG9nZ2xlIGRlZmF1bHRzIHRvICdmYWxzZScgKDJEKSxcbi8vIGFuZCBhbHNvIGFjY2VwdHMgJ3RydWUnICgzRCkuIEN1cnJlbnRseSB0aGUgbGlzdHMgYXJlIGFzIGZvbGxvd3M6XG4vLyAyRDogTW96aWxsYSwgV2Via2l0LCBPcGVyYSwgT2ZmaWNpYWxcbi8vIDNEOiBXZWJraXQsIEZpcmVmb3guXG5cbi8vIEF2YWlsYWJsZSBUcmFuc2Zvcm1zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBTY2FsZSAoMmQgYW5kIDNkKVxuLy8gLSBSb3RhdGUgKDJkIGFuZCAzZClcbi8vIC0gVHJhbnNsYXRlICgyZCBhbmQgM2QpXG4vLyAtIFNrZXcgKDJkIG9ubHkpXG5cbi8vIFRyYW5zZm9ybSBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBUcmFuc2Zvcm0gT3JpZ2luICgyZCBhbmQgM2QpXG4vLyAtIFBlcnNwZWN0aXZlICgzZClcbi8vIC0gUGVyc3BlY3RpdmUgT3JpZ2luICgzZClcbi8vIC0gVHJhbnNmb3JtIFN0eWxlICgzZClcbi8vIC0gQmFja2ZhY2UgVmlzaWJpbGl0eSAoM2QpXG5cbi8vIE1peGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gdHJhbnNmb3JtLW9yaWdpblxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtLW9yaWdpbjJkLCB0cmFuc2Zvcm0tb3JpZ2luM2Rcbi8vICAtIGhlbHBlcnM6ICAgIGFwcGx5LW9yaWdpblxuLy8gdHJhbnNmb3JtXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0yZCwgdHJhbnNmb3JtM2Rcbi8vICAtIGhlbHBlcnM6ICAgIHNpbXBsZS10cmFuc2Zvcm0sIGNyZWF0ZS10cmFuc2Zvcm1cbi8vIHBlcnNwZWN0aXZlXG4vLyAgLSBoZWxwZXJzOiAgICBwZXJzcGVjdGl2ZS1vcmlnaW5cbi8vIHRyYW5zZm9ybS1zdHlsZVxuLy8gYmFja2ZhY2UtdmlzaWJpbGl0eVxuLy8gc2NhbGVcbi8vICAtIHNob3J0Y3V0czogIHNjYWxlWCwgc2NhbGVZLCBzY2FsZVosIHNjYWxlM2Rcbi8vIHJvdGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgcm90YXRlWCwgcm90YXRlWSwgcm90YXRlM2Rcbi8vIHRyYW5zbGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRlWiwgdHJhbnNsYXRlM2Rcbi8vIHNrZXdcbi8vICAtIHNob3J0Y3V0czogIHNrZXdYLCBza2V3WVxuXG4vLyBEZWZhdWx0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gVGhlIGRlZmF1bHQgeC1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi14ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi15ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi16ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteCAgICAgOiAxLjI1ICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXkgICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS16ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCBhbmdsZSBmb3Igcm90YXRpb25zXG4kZGVmYXVsdC1yb3RhdGUgICAgICA6IDQ1ZGVnICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteCAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci15ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXogICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXggOiAxZW0gICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteSA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS16IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteCAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy15ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gKipUcmFuc2Zvcm0tb3JpZ2luKipcbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZ1xuLy9cbi8vICAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oIG9yaWdpbiBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICdvcmlnaW4nIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3QgY29udGFpbmluZyAxLTMgKHgveS96KSBjb29yZGluYXRlc1xuLy8gaW4gcGVyY2VudGFnZXMsIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgb3IgcmVsYXRpdmVcbi8vIChsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20sIGNlbnRlcikgdW5pdHNcbi8vXG4vLyBAcGFyYW0gb25seTNkIFNldCB0aGlzIHRvIHRydWUgdG8gb25seSBhcHBseSB0aGlzXG4vLyBtaXhpbiB3aGVyZSBicm93c2VycyBoYXZlIDNEIHN1cHBvcnQuXG5AbWl4aW4gYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpIHtcbiAgJG9ubHkzZDogJG9ubHkzZCBvciAtY29tcGFzcy1saXN0LXNpemUoLWNvbXBhc3MtbGlzdCgkb3JpZ2luKSkgPiAyO1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGluZGl2aWR1YWwgYXJndW1lbnRzOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCBbIG9yaWdpbi14LCBvcmlnaW4teSwgb3JpZ2luLXosIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlIDMgJ29yaWdpbi0nIGFyZ3VtZW50cyByZXByZXNlbnQgeC95L3ogY29vcmRpbmF0ZXMuXG4vL1xuLy8gKipOT1RFOioqIHNldHRpbmcgeiBjb29yZGluYXRlcyB0cmlnZ2VycyAzRCBzdXBwb3J0IGxpc3QsIGxlYXZlIGZhbHNlIGZvciAyRCBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbihcbiAgJG9yaWdpbi14OiAkZGVmYXVsdC1vcmlnaW4teCxcbiAgJG9yaWdpbi15OiAkZGVmYXVsdC1vcmlnaW4teSxcbiAgJG9yaWdpbi16OiBmYWxzZSxcbiAgJG9ubHkzZDogICBpZigkb3JpZ2luLXosIHRydWUsIGZhbHNlKVxuKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJycpO1xuICBAaWYgJG9yaWdpbi14IG9yICRvcmlnaW4teSBvciAkb3JpZ2luLXoge1xuICAgIEBpZiAkb3JpZ2luLXggeyAkb3JpZ2luOiAkb3JpZ2luLXg7IH0gQGVsc2UgeyAkb3JpZ2luOiA1MCU7IH1cbiAgICBAaWYgJG9yaWdpbi15IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXk7IH0gQGVsc2UgeyBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiA1MCU7IH19XG4gICAgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi16OyB9XG4gICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpO1xuICB9XG59XG5cblxuLy8gVHJhbnNmb3JtIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmc6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNmb3JtcyBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICd0cmFuc2Zvcm1zJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGFsbCB0aGUgdHJhbnNmb3JtcyB0byBiZSBhcHBsaWVkLlxuQG1peGluIHRyYW5zZm9ybShcbiAgJHRyYW5zZm9ybSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBhbGwgYnJvd3NlcnMgd2l0aCAyRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTJkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCBmYWxzZSk7XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBvbmx5IGJyb3dzZXJzIHdpdGggM0QgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0zZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgdHJ1ZSk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyAzRCBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2V0IHRoZSBwZXJzcGVjdGl2ZSBvZiAzRCB0cmFuc2Zvcm1zIG9uIHRoZSBjaGlsZHJlbiBvZiBhbiBlbGVtZW50OlxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUoIHBlcnNwZWN0aXZlIClcbi8vXG4vLyB3aGVyZSAncGVyc3BlY3RpdmUnIGlzIGEgdW5pdGxlc3MgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVwdGggb2YgdGhlXG4vLyB6LWF4aXMuIFRoZSBoaWdoZXIgdGhlIHBlcnNwZWN0aXZlLCB0aGUgbW9yZSBleGFnZ2VyYXRlZCB0aGUgZm9yZXNob3J0ZW5pbmcuXG4vLyB2YWx1ZXMgZnJvbSA1MDAgdG8gMTAwMCBhcmUgbW9yZS1vci1sZXNzIFwibm9ybWFsXCIgLSBhIGdvb2Qgc3RhcnRpbmctcG9pbnQuXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHApIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLCAkcCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU2V0IHRoZSBvcmlnaW4gcG9zaXRpb24gZm9yIHRoZSBwZXJzcGVjdGl2ZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUtb3JpZ2luKG9yaWdpbi14IFtvcmlnaW4teV0pXG4vL1xuLy8gd2hlcmUgdGhlIHR3byBhcmd1bWVudHMgcmVwcmVzZW50IHgveSBjb29yZGluYXRlc1xuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkb3JpZ2luOiA1MCUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLW9yaWdpbiwgJG9yaWdpbixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHdoZXRoZXIgYSAzRCBvYmplY3RzIGNoaWxkcmVuIGFsc28gbGl2ZSBpbiB0aGUgZ2l2ZW4gM0Qgc3BhY2Vcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1zdHlsZSggWyBzdHlsZSBdIClcbi8vXG4vLyB3aGVyZSBgc3R5bGVgIGNhbiBiZSBlaXRoZXIgYGZsYXRgIG9yIGBwcmVzZXJ2ZS0zZGAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIGBmbGF0YCwgbWl4aW4gZGVmYXVsdHMgdG8gYHByZXNlcnZlLTNkYC5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB0aGUgdmlzaWJpbGl0eSBvZiBhbiBlbGVtZW50IHdoZW4gaXQncyBiYWNrIGlzIHR1cm5lZFxuLy9cbi8vICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCBbIHZpc2liaWxpdHkgXSApXG4vL1xuLy8gd2hlcmUgYHZpc2liaWxpdHlgIGNhbiBiZSBlaXRoZXIgYHZpc2libGVgIG9yIGBoaWRkZW5gLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byB2aXNpYmxlLCBtaXhpbiBkZWZhdWx0cyB0byBoaWRkZW5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5OiBoaWRkZW4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNmb3JtIFBhcnRpYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGVzZSB3b3JrIHdlbGwgb24gdGhlaXIgb3duLCBidXQgdGhleSBkb24ndCBhZGQgdG8gZWFjaCBvdGhlciwgdGhleSBvdmVycmlkZS5cbi8vIFVzZSBhbG9uZyB3aXRoIHRyYW5zZm9ybSBwYXJhbWV0ZXIgbWl4aW5zIHRvIGFkanVzdCBvcmlnaW4sIHBlcnNwZWN0aXZlIGFuZCBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gU2NhbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBhbmQgeSBheGlzOlxuLy9cbi8vICAgICAgQGluY2x1ZGUgc2NhbGUoIFsgc2NhbGUteCwgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdzY2FsZS0nIGFyZ3VtZW50cyBhcmUgdW5pdGxlc3MgbXVsdGlwbGllcnMgb2YgdGhlIHggYW5kIHkgZGltZW5zaW9uc1xuLy8gYW5kIHBlcnNwZWN0aXZlLCB3aGljaCB3b3JrcyB0aGUgc2FtZSBhcyB0aGUgc3RhbmQtYWxvbmUgcGVyc3BlY3RpdmUgcHJvcGVydHkvbWl4aW5cbi8vIGJ1dCBhcHBsaWVzIHRvIHRoZSBpbmRpdmlkdWFsIGVsZW1lbnQgKG11bHRpcGxpZWQgd2l0aCBhbnkgcGFyZW50IHBlcnNwZWN0aXZlKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZShcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRzY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWCggWyBzY2FsZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVYKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWCgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWSggWyBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVZKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWSgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWiggWyBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVaKFxuICAkc2NhbGU6ICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWigkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBTY2FsZSBhbmQgb2JqZWN0IGFsb25nIGFsbCB0aHJlZSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZTNkKCBbIHNjYWxlLXgsIHNjYWxlLXksIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZTNkKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHNjYWxlLXo6ICAgICAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gUm90YXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB6IGF4aXMgICgyRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSAncm90YXRpb24nIGlzIGFuIGFuZ2xlIHNldCBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0c1xuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUoXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBBIGxvbmdjdXQgZm9yICdyb3RhdGUnIGluIGNhc2UgeW91IGZvcmdldCB0aGF0ICd6JyBpcyBpbXBsaWVkXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVooXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgcm90YXRlKCRyb3RhdGUsICRwZXJzcGVjdGl2ZSwgJG9ubHkzZCk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB4IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlWCggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVgoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWCgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVZKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVkoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIGFuIGFyYml0cmFyeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyB2ZWN0b3IteCwgdmVjdG9yLXksIHZlY3Rvci16LCByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vLyB3aGVyZSB0aGUgJ3ZlY3Rvci0nIGFyZ3VtZW50cyBhY2NlcHQgdW5pdGxlc3MgbnVtYmVycy5cbi8vIFRoZXNlIG51bWJlcnMgYXJlIG5vdCBpbXBvcnRhbnQgb24gdGhlaXIgb3duLCBidXQgaW4gcmVsYXRpb24gdG8gb25lIGFub3RoZXJcbi8vIGNyZWF0aW5nIGFuIGF4aXMgZnJvbSB5b3VyIHRyYW5zZm9ybS1vcmlnaW4sIGFsb25nIHRoZSBheGlzIG9mIFh4ID0gWXkgPSBaei5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlM2QoXG4gICR2ZWN0b3IteDogJGRlZmF1bHQtdmVjdG9yLXgsXG4gICR2ZWN0b3IteTogJGRlZmF1bHQtdmVjdG9yLXksXG4gICR2ZWN0b3ItejogJGRlZmF1bHQtdmVjdG9yLXosXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlM2QoJHZlY3Rvci14LCAkdmVjdG9yLXksICR2ZWN0b3IteiwgJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2xhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggb3IgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgdGhlICd0cmFuc2xhdGUtJyBhcmd1bWVudHMgYWNjZXB0IGFueSBkaXN0YW5jZSBpbiBwZXJjZW50YWdlcyBvciBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZSgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVgoXG4gICR0cmFucy14OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVgoJHRyYW5zLXgpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVZKFxuICAkdHJhbnMteTogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVZKCR0cmFucy15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWihcbiAgJHRyYW5zLXo6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWigkdHJhbnMteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4LCB5IGFuZCB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUzZChcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHRyYW5zbGF0ZS16OiAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlM2QoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXksICR0cmFuc2xhdGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBTa2V3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2tldyBhbiBlbGVtZW50OlxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2tldy0nIGFyZ3VtZW50cyBhY2NlcHQgY3NzIGFuZ2xlcyBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tldyhcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3KCRza2V3LXgsICRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB4IGF4aXpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdYKFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WCgkc2tldy14KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeSBheGlzXG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WShcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1koJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG5cbi8vIEZ1bGwgdHJhbnNmb3JtIG1peGluc1xuLy8gRm9yIHNldHRpbmdzIGFueSBjb21iaW5hdGlvbiBvZiB0cmFuc2Zvcm1zIGFzIGFyZ3VtZW50c1xuLy8gVGhlc2UgYXJlIGNvbXBsZXggYW5kIG5vdCBoaWdobHkgcmVjb21tZW5kZWQgZm9yIGRhaWx5IHVzZS4gVGhleSBhcmUgbWFpbmx5XG4vLyBoZXJlIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IHB1cnBvc2VzLlxuLy9cbi8vICogdGhleSBpbmNsdWRlIG9yaWdpbiBhZGp1c3RtZW50c1xuLy8gKiBzY2FsZSB0YWtlcyBhIG11bHRpcGxpZXIgKHVuaXRsZXNzKSwgcm90YXRlIGFuZCBza2V3IHRha2UgZGVncmVlcyAoZGVnKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBjcmVhdGUtdHJhbnNmb3JtKFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkc2NhbGUteDogICAgIGZhbHNlLFxuICAkc2NhbGUteTogICAgIGZhbHNlLFxuICAkc2NhbGUtejogICAgIGZhbHNlLFxuICAkcm90YXRlLXg6ICAgIGZhbHNlLFxuICAkcm90YXRlLXk6ICAgIGZhbHNlLFxuICAkcm90YXRlLXo6ICAgIGZhbHNlLFxuICAkcm90YXRlM2Q6ICAgIGZhbHNlLFxuICAkdHJhbnMteDogICAgIGZhbHNlLFxuICAkdHJhbnMteTogICAgIGZhbHNlLFxuICAkdHJhbnMtejogICAgIGZhbHNlLFxuICAkc2tldy14OiAgICAgIGZhbHNlLFxuICAkc2tldy15OiAgICAgIGZhbHNlLFxuICAkb3JpZ2luLXg6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXk6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXo6ICAgIGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB1bnF1b3RlKFwiXCIpO1xuXG4gIC8vIHBlcnNwZWN0aXZlXG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgOyB9XG5cbiAgLy8gc2NhbGVcbiAgQGlmICRzY2FsZS14IGFuZCAkc2NhbGUteSB7XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHNjYWxlLXggeyAkdHJhbnM6ICR0cmFucyBzY2FsZVgoJHNjYWxlLXgpOyB9XG4gICAgQGlmICRzY2FsZS15IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVZKCRzY2FsZS15KTsgfVxuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlWigkc2NhbGUteik7IH1cbiAgfVxuXG4gIC8vIHJvdGF0ZVxuICBAaWYgJHJvdGF0ZS14IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWCgkcm90YXRlLXgpOyB9XG4gIEBpZiAkcm90YXRlLXkgeyAkdHJhbnM6ICR0cmFucyByb3RhdGVZKCRyb3RhdGUteSk7IH1cbiAgQGlmICRyb3RhdGUteiB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVooJHJvdGF0ZS16KTsgfVxuICBAaWYgJHJvdGF0ZTNkIHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlM2QoJHJvdGF0ZTNkKTsgfVxuXG4gIC8vIHRyYW5zbGF0ZVxuICBAaWYgJHRyYW5zLXggYW5kICR0cmFucy15IHtcbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUzZCgkdHJhbnMteCwgJHRyYW5zLXksICR0cmFucy16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlKCR0cmFucy14LCAkdHJhbnMteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICR0cmFucy14IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWCgkdHJhbnMteCk7IH1cbiAgICBAaWYgJHRyYW5zLXkgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVZKCR0cmFucy15KTsgfVxuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVooJHRyYW5zLXopOyB9XG4gIH1cblxuICAvLyBza2V3XG4gIEBpZiAkc2tldy14IGFuZCAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tldygkc2tldy14LCAkc2tldy15KTsgfVxuICBAZWxzZSB7XG4gICAgQGlmICRza2V3LXggeyAkdHJhbnM6ICR0cmFucyBza2V3WCgkc2tldy14KTsgfVxuICAgIEBpZiAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tld1koJHNrZXcteSk7IH1cbiAgfVxuXG4gIC8vIGFwcGx5IGl0IVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKTtcbn1cblxuXG4vLyBBIHNpbXBsaWZpZWQgc2V0IG9mIG9wdGlvbnNcbi8vIGJhY2t3YXJkcy1jb21wYXRpYmxlIHdpdGggdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlICd0cmFuc2Zvcm0nIG1peGluXG5AbWl4aW4gc2ltcGxlLXRyYW5zZm9ybShcbiAgJHNjYWxlOiAgICBmYWxzZSxcbiAgJHJvdGF0ZTogICBmYWxzZSxcbiAgJHRyYW5zLXg6ICBmYWxzZSxcbiAgJHRyYW5zLXk6ICBmYWxzZSxcbiAgJHNrZXcteDogICBmYWxzZSxcbiAgJHNrZXcteTogICBmYWxzZSxcbiAgJG9yaWdpbi14OiBmYWxzZSxcbiAgJG9yaWdpbi15OiBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICAgZmFsc2UsXG4gICAgJHNjYWxlLCAkc2NhbGUsIGZhbHNlLFxuICAgIGZhbHNlLCBmYWxzZSwgJHJvdGF0ZSwgZmFsc2UsXG4gICAgJHRyYW5zLXgsICR0cmFucy15LCBmYWxzZSxcbiAgICAkc2tldy14LCAkc2tldy15LFxuICAgICRvcmlnaW4teCwgJG9yaWdpbi15LCBmYWxzZSxcbiAgICBmYWxzZVxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDU1MgVHJhbnNpdGlvbnNcbi8vIEN1cnJlbnRseSBvbmx5IHdvcmtzIGluIFdlYmtpdC5cbi8vXG4vLyAqIGV4cGVjdGVkIGluIENTUzMsIEZpcmVGb3ggMy42LzcgYW5kIE9wZXJhIFByZXN0byAyLjNcbi8vICogV2UnbGwgYmUgcHJlcGFyZWQuXG4vL1xuLy8gSW5jbHVkaW5nIHRoaXMgc3VibW9kdWxlIHNldHMgZm9sbG93aW5nIGRlZmF1bHRzIGZvciB0aGUgbWl4aW5zOlxuLy9cbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5IDogYWxsXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDFzXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiA6IGZhbHNlXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSAgICA6IGZhbHNlXG4vL1xuLy8gT3ZlcnJpZGUgdGhlbSBpZiB5b3UgbGlrZS4gVGltaW5nLWZ1bmN0aW9uIGFuZCBkZWxheSBhcmUgc2V0IHRvIGZhbHNlIGZvciBicm93c2VyIGRlZmF1bHRzIChlYXNlLCAwcykuXG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiBmYWxzZSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlczogdHJhbnNmb3JtLCB0cmFuc2Zvcm0tb3JpZ2luICFkZWZhdWx0O1xuXG4vLyBPbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb25cbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogYWxzbyBhY2NlcHRzIFwiYWxsXCIgb3IgXCJub25lXCJcblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRwcm9wZXJ0eS0yIDogZmFsc2UsXG4gICRwcm9wZXJ0eS0zIDogZmFsc2UsXG4gICRwcm9wZXJ0eS00IDogZmFsc2UsXG4gICRwcm9wZXJ0eS01IDogZmFsc2UsXG4gICRwcm9wZXJ0eS02IDogZmFsc2UsXG4gICRwcm9wZXJ0eS03IDogZmFsc2UsXG4gICRwcm9wZXJ0eS04IDogZmFsc2UsXG4gICRwcm9wZXJ0eS05IDogZmFsc2UsXG4gICRwcm9wZXJ0eS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHktMSkgPT0gc3RyaW5nIHsgJHByb3BlcnR5LTE6IHVucXVvdGUoJHByb3BlcnR5LTEpOyB9XG4gICRwcm9wZXJ0aWVzOiBjb21wYWN0KCRwcm9wZXJ0eS0xLCAkcHJvcGVydHktMiwgJHByb3BlcnR5LTMsICRwcm9wZXJ0eS00LCAkcHJvcGVydHktNSwgJHByb3BlcnR5LTYsICRwcm9wZXJ0eS03LCAkcHJvcGVydHktOCwgJHByb3BlcnR5LTksICRwcm9wZXJ0eS0xMCk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbW96LCAgICAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW8sICAgICAgJHByb3BlcnRpZXMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICRwcm9wZXJ0aWVzO1xufVxuXG4vLyBPbmUgb3IgbW9yZSBkdXJhdGlvbnMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkdXJhdGlvbnMgd2lsbCBhZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGR1cmF0aW9uLTIgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTMgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTQgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTUgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTYgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTcgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTggOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTkgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkdXJhdGlvbi0xKSA9PSBzdHJpbmcgeyAkZHVyYXRpb24tMTogdW5xdW90ZSgkZHVyYXRpb24tMSk7IH1cbiAgJGR1cmF0aW9uczogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0aW1pbmcgZnVuY3Rpb25zXG4vL1xuLy8gKiBbIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcih4MSwgeTEsIHgyLCB5MildXG4vLyAqIEZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZnVuY3Rpb24tMiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMTA6IGZhbHNlXG4pIHtcbiAgJGZ1bmN0aW9uLTE6IHVucXVvdGUoJGZ1bmN0aW9uLTEpO1xuICAkZnVuY3Rpb25zOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0cmFuc2l0aW9uLWRlbGF5cyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGRlbGF5cyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5LFxuICAkZGVsYXktMiA6IGZhbHNlLFxuICAkZGVsYXktMyA6IGZhbHNlLFxuICAkZGVsYXktNCA6IGZhbHNlLFxuICAkZGVsYXktNSA6IGZhbHNlLFxuICAkZGVsYXktNiA6IGZhbHNlLFxuICAkZGVsYXktNyA6IGZhbHNlLFxuICAkZGVsYXktOCA6IGZhbHNlLFxuICAkZGVsYXktOSA6IGZhbHNlLFxuICAkZGVsYXktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGRlbGF5LTEpID09IHN0cmluZyB7ICRkZWxheS0xOiB1bnF1b3RlKCRkZWxheS0xKTsgfVxuICAkZGVsYXlzOiBjb21wYWN0KCRkZWxheS0xLCAkZGVsYXktMiwgJGRlbGF5LTMsICRkZWxheS00LCAkZGVsYXktNSwgJGRlbGF5LTYsICRkZWxheS03LCAkZGVsYXktOCwgJGRlbGF5LTksICRkZWxheS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXlzLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFRyYW5zaXRpb24gYWxsLWluLW9uZSBzaG9ydGhhbmRcblxuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRkdXJhdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGZ1bmN0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZGVsYXk6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXlcbikge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbXBhY3QoJHByb3BlcnR5ICRkdXJhdGlvbiAkZnVuY3Rpb24gJGRlbGF5KSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkdHJhbnNpdGlvbi0xIDogZGVmYXVsdCxcbiAgJHRyYW5zaXRpb24tMiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0zIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTQgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi02IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTcgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi05IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkdHJhbnNpdGlvbi0xID09IGRlZmF1bHQge1xuICAgICR0cmFuc2l0aW9uLTEgOiBjb21wYWN0KCRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkpO1xuICB9XG4gICR0cmFuc2l0aW9uczogZmFsc2U7XG4gIEBpZiB0eXBlLW9mKCR0cmFuc2l0aW9uLTEpID09IGxpc3QgYW5kIHR5cGUtb2YobnRoKCR0cmFuc2l0aW9uLTEsMSkpID09IGxpc3Qge1xuICAgICR0cmFuc2l0aW9uczogam9pbigkdHJhbnNpdGlvbi0xLCBjb21wYWN0KCR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKSwgY29tbWEpO1xuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNpdGlvbnMgOiBjb21wYWN0KCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKTtcbiAgfVxuICAkZGVsYXlzOiBjb21tYS1saXN0KCk7XG4gICRoYXMtZGVsYXlzOiBmYWxzZTtcbiAgJHdlYmtpdC12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkbW96LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRvLXZhbHVlOiBjb21tYS1saXN0KCk7XG5cbiAgLy8gVGhpcyBibG9jayBjYW4gYmUgbWFkZSBjb25zaWRlcmFibHkgc2ltcGxlciBhdCB0aGUgcG9pbnQgaW4gdGltZSB0aGF0XG4gIC8vIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRlYWwgd2l0aCB0aGUgZGlmZmVyZW5jZXMgaW4gaG93IGRlbGF5cyBhcmUgdHJlYXRlZC5cbiAgQGVhY2ggJHRyYW5zaXRpb24gaW4gJHRyYW5zaXRpb25zIHtcbiAgICAvLyBFeHRyYWN0IHRoZSB2YWx1ZXMgZnJvbSB0aGUgbGlzdFxuICAgIC8vICh0aGlzIHdvdWxkIGJlIGNsZWFuZXIgaWYgbnRoIHRvb2sgYSAzcmQgYXJndW1lbnQgdG8gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUpLlxuICAgICRwcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uLCAxKTtcbiAgICAkZHVyYXRpb246IGZhbHNlO1xuICAgICR0aW1pbmctZnVuY3Rpb246IGZhbHNlO1xuICAgICRkZWxheTogZmFsc2U7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHsgJGR1cmF0aW9uOiAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCAyKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMiB7ICR0aW1pbmctZnVuY3Rpb246IG50aCgkdHJhbnNpdGlvbiwgMyk7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDMgeyAkZGVsYXk6ICAgICAgICAgICBudGgoJHRyYW5zaXRpb24sIDQpOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gSWYgYSBkZWxheSBpcyBwcm92aWRlZCB3aXRob3V0IGEgdGltaW5nIGZ1bmN0aW9uXG4gICAgQGlmIGlzLXRpbWUoJHRpbWluZy1mdW5jdGlvbikgYW5kIG5vdCAkZGVsYXkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pKTtcbiAgICAgICAkbW96LXZhbHVlOiBhcHBlbmQoICAgJG1vei12YWx1ZSwgY29tcGFjdChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgICAgLW8sICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBvZiBmbG9hdDpsZWZ0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgQGluY2x1ZGUgZmxvYXQobGVmdCk7IH1cblxuLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6cmlnaHQgd2l0aCBmaXggZm9yIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgQGluY2x1ZGUgZmxvYXQocmlnaHQpOyB9XG5cbi8vIERpcmVjdGlvbiBpbmRlcGVuZGVudCBmbG9hdCBtaXhpbiB0aGF0IGZpeGVzIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0KCRzaWRlOiBsZWZ0KSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHVucXVvdGUoJHNpZGUpOyB9XG5cbi8vIFJlc2V0cyBmbG9hdGVkIGVsZW1lbnRzIGJhY2sgdG8gdGhlaXIgZGVmYXVsdCBvZiBgZmxvYXQ6IG5vbmVgIGFuZCBkZWZhdWx0c1xuLy8gdG8gYGRpc3BsYXk6IGJsb2NrYCB1bmxlc3MgeW91IHBhc3MgYGlubGluZWAgYXMgYW4gYXJndW1lbnRcbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICBib2R5LmhvbWVwYWdlXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtmbG9hdC1sZWZ0XG4vLyAgICAgYm9keS5zaWdudXBcbi8vICAgICAgICNmb290ZXIgbGlcbi8vICAgICAgICAgK3Jlc2V0LWZsb2F0XG5AbWl4aW4gcmVzZXQtZmxvYXQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiAkZGlzcGxheTsgfSIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIExhYmVsc1xuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbi1jb3VudCwgJGNvbHVtbi1nYXA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiAkY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG5AbWl4aW4gc2NhbGUoJHJhdGlvLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xufVxuXG5AbWl4aW4gc2NhbGVYKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG59XG5AbWl4aW4gc2NhbGVZKCRyYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVYKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiByb3RhdGVZKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRyYW5zZm9ybSgkdHJhbnNpdGlvbi4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGk6IDEsICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuXG5cbi8vIGlPUyBcImNsaWNrYWJsZSBlbGVtZW50c1wiIGZpeCBmb3Igcm9sZT1cImJ1dHRvblwiXG4vL1xuLy8gRml4ZXMgXCJjbGlja2FiaWxpdHlcIiBpc3N1ZSAoYW5kIG1vcmUgZ2VuZXJhbGx5LCB0aGUgZmlyaW5nIG9mIGV2ZW50cyBzdWNoIGFzIGZvY3VzIGFzIHdlbGwpXG4vLyBmb3IgdHJhZGl0aW9uYWxseSBub24tZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggcm9sZT1cImJ1dHRvblwiXG4vLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xuICB9XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyB7XG4gIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG59XG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgfVxufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgyOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg1OyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAxLjE1KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgfVxufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogKDEycHggc21hbGwgZm9udCAvIDE0cHggYmFzZSBmb250KSAqIDEwMCUgPSBhYm91dCA4NSVcbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiBmbG9vcigoMTAwJSAqICRmb250LXNpemUtc21hbGwgLyAkZm9udC1zaXplLWJhc2UpKTtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXdhcm5pbmctYmc7XG4gIHBhZGRpbmc6IC4yZW07XG59XG5cbi8vIEFsaWdubWVudFxuLnRleHQtbGVmdCAgICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGV4dC1yaWdodCAgICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4udGV4dC1ub3dyYXAgICAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLy8gVHJhbnNmb3JtYXRpb25cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuLnRleHQtdXBwZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbn1cblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1pbmZvJywgJHN0YXRlLWluZm8tdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWRhbmdlcicsICRzdGF0ZS1kYW5nZXItdGV4dCk7XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG59XG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWRhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSk7XG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBMaXN0IG9wdGlvbnNcblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5saXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoJGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgQGV4dGVuZCAudGV4dC11cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG5cbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiBEZXByZWNhdGVkIHNtYWxsIGFuZCAuc21hbGwgYXMgb2YgdjMuMS4wXG4gIC8vIENvbnRleHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NjBcbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcbiAgICB9XG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi8vXG4vLyBIZWFkcyB1cDogYGJsb2NrcXVvdGUucHVsbC1yaWdodGAgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2My4xLjAuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAvLyBBY2NvdW50IGZvciBjaXRhdGlvblxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJyc7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgLy8gbmJzcCwgZW0gZGFzaFxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY2spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG5AaW5jbHVkZSBtYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobGcpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdhY3RpdmUnLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdzdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2luZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdkYW5nZXInLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAwLjc1KTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29udGVudCBkb2Vzbid0IHdyYXBcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXG4gICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAvLyBOdWtlIHRoZSBhcHByb3ByaWF0ZSBib3JkZXJzIHNvIHRoYXQgdGhlIHBhcmVudCBjYW4gaGFuZGxlIHRoZW1cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgbnVrZSB0aGUgbGFzdCByb3cncyBib3R0b20tYm9yZGVyIGluIGB0Ym9keWAgYW5kIGB0Zm9vdGAgc2luY2VcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcbiAgICAgIC8vIHJlbW92ZSB0aGUgYm9yZGVyIGFsdG9nZXRoZXIuXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICRsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgbWFyZ2luLXRvcDogMXB4IFxcOTsgLy8gSUU4LTlcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gTWFrZSByYW5nZSBpbnB1dHMgYmVoYXZlIGxpa2UgdGV4dHVhbCBmb3JtIGNvbnRyb2xzXG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvY3VzIGZvciBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIEBpbmNsdWRlIHRhYi1mb2N1cztcbn1cblxuLy8gQWRqdXN0IG91dHB1dCBlbGVtZW50XG5vdXRwdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cblxuLy8gQ29tbW9uIGZvcm0gY29udHJvbHNcbi8vXG4vLyBTaGFyZWQgc2l6ZSBhbmQgdHlwZSByZXNldHMgZm9yIGZvcm0gY29udHJvbHMuIEFwcGx5IGAuZm9ybS1jb250cm9sYCB0byBhbnlcbi8vIG9mIHRoZSBmb2xsb3dpbmcgZm9ybSBjb250cm9sczpcbi8vXG4vLyBzZWxlY3Rcbi8vIHRleHRhcmVhXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXVxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl1cbi8vIGlucHV0W3R5cGU9XCJtb250aFwiXVxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl1cbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl1cbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl1cbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl1cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICBwYWRkaW5nOiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzOyAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiA8c2VsZWN0PnMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cztcblxuICAvLyBQbGFjZWhvbGRlclxuICBAaW5jbHVkZSBwbGFjZWhvbGRlcjtcblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ZXh0YXJlYSYgdG8gdGV4dGFyZWEuZm9ybS1jb250cm9sXG59XG5cbi8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDguMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgZGF0ZXRpbWVgIG9yIGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICYuaW5wdXQtc20sXG4gICAgLmlucHV0LWdyb3VwLXNtICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1sZyxcbiAgICAuaW5wdXQtZ3JvdXAtbGcgJiB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7IC8vIEVuc3VyZSB0aGUgaW5wdXQgZG9lc24ndCBqdW1wIHdoZW4gdGhlcmUgaXMgbm8gdGV4dFxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogLTVweDsgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWJhc2UpO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1zbScsICRpbnB1dC1oZWlnaHQtc21hbGwsICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbi5mb3JtLWdyb3VwLXNtIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLXNtYWxsKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKSAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbkBpbmNsdWRlIGlucHV0LXNpemUoJy5pbnB1dC1sZycsICRpbnB1dC1oZWlnaHQtbGFyZ2UsICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbi5mb3JtLWdyb3VwLWxnIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAkZm9udC1zaXplLWxhcmdlKTtcbiAgICBwYWRkaW5nOiAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKSAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKCRpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5oYXMtZXJyb3Ige1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmZvcm0taW5saW5lYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAucmFkaW8sXG4gICAgLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBSZS1vdmVycmlkZSB0aGUgZmVlZGJhY2sgaWNvbi5cbiAgICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xufVxuXG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3c7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1iYXNlLXZlcnRpY2FsLCAkcGFkZGluZy1iYXNlLWhvcml6b250YWwsICRmb250LXNpemUtYmFzZSwgJGxpbmUtaGVpZ2h0LWJhc2UsICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJ0blxufVxuXG5hLmJ0biB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRib2R5Ji5pbiB0byB0Ym9keS5jb2xsYXBzZS5pblxufVxuXG50ci5jb2xsYXBzZS5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICAgJGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICBib3JkZXItdG9wOiAgICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIFxcOTsgLy8gSUU4XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgJGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI7IC8vIElFOCBmYWxsYmFja1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLy8gQWxpZ25zIHRoZSBkcm9wZG93biBtZW51IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIERlcHJlY2F0ZWQgYXMgb2YgMy4xLjAgaW4gZmF2b3Igb2YgYC5kcm9wZG93bi1tZW51LVtkaXJdYFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4gIC5kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgQGluY2x1ZGUgcmVzZXQtZmlsdGVyO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gIHJpZ2h0OiAwO1xufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogKCR6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIFxcOTsgLy8gSUU4XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcmlnaHQ6IDA7IGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC8vIE5lY2Vzc2FyeSBmb3Igb3ZlcnJpZGVzIG9mIHRoZSBkZWZhdWx0IHJpZ2h0IGFsaWduZWQgbWVudS5cbiAgICAvLyBXaWxsIHJlbW92ZSBjb21lIHY0IGluIGFsbCBsaWtlbGlob29kLlxuICAgIC5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgICAgbGVmdDogMDsgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbi5idG4tZ3JvdXAge1xuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAgKyAuYnRuLFxuICAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IC8vIE9mZnNldCB0aGUgZmlyc3QgY2hpbGQncyBtYXJnaW5cbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLmJ0bixcbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHkgZ2l2ZW4gYSAuZHJvcGRvd24tbWVudSBpbW1lZGlhdGVseSBhZnRlciBpdFxuLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBDdXN0b20gZWRpdHMgZm9yIGluY2x1ZGluZyBidG4tZ3JvdXBzIHdpdGhpbiBidG4tZ3JvdXBzICh1c2VmdWwgZm9yIGluY2x1ZGluZyBkcm9wZG93biBidXR0b25zIHdpdGhpbiBhIGJ0bi1ncm91cClcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIE9uIGFjdGl2ZSBhbmQgb3BlbiwgZG9uJ3Qgc2hvdyBvdXRsaW5lXG4uYnRuLWdyb3VwIC5kcm9wZG93bi10b2dnbGU6YWN0aXZlLFxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXhzID4gLmJ0biB7IEBleHRlbmQgLmJ0bi14czsgfVxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHaXZlIHRoZSBsaW5lIGJldHdlZW4gYnV0dG9ucyBzb21lIGRlcHRoXG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgYW5kIHNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogJGNhcmV0LXdpZHRoLWxhcmdlICRjYXJldC13aWR0aC1sYXJnZSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwICRjYXJldC13aWR0aC1sYXJnZSAkY2FyZXQtd2lkdGgtbGFyZ2U7XG59XG5cblxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuXG5cbi8vIEp1c3RpZmllZCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtanVzdGlmaWVkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgPiAuYnRuLWdyb3VwIC5idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gSW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZHJvcGRvd25zXG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBwcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW4gcGxhY2VkIHdpdGhpbiBhIHRhYmxlXG5cbiAgLy8gVW5kbyBwYWRkaW5nIGFuZCBmbG9hdCBvZiBncmlkIGNsYXNzZXNcbiAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgLy8gc2VsZWN0IGVsZW1lbnRzIGluIGlucHV0IGdyb3Vwcy4gVG8gZml4IGl0LCB3ZSBmbG9hdCB0aGUgaW5wdXQuIERldGFpbHM6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU2MSNpc3N1ZWNvbW1lbnQtMjg5MzY4NTVcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmlucHV0LWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtc207XG59XG5cblxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLy8gQWRkb24gYW5kIGFkZG9uIHdyYXBwZXIgZm9yIGJ1dHRvbnNcbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBCdXR0b24gaW5wdXQgZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBKYW5raWx5IHByZXZlbnQgaW5wdXQgYnV0dG9uIGdyb3VwcyBmcm9tIHdyYXBwaW5nIHdpdGggYHdoaXRlLXNwYWNlYCBhbmRcbiAgLy8gYGZvbnQtc2l6ZWAgaW4gY29tYmluYXRpb24gd2l0aCBgaW5saW5lLWJsb2NrYCBvbiBidXR0b25zLlxuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBzcGFjaW5nLCBwb3NpdGlvbiBmb3IgYnJpbmdpbmcgaG92ZXJlZC9mb2N1c2VkL2FjdGl2ZWRcbiAgLy8gZWxlbWVudCBhYm92ZSB0aGUgc2libGluZ3MuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiB0byBvbmx5IGhhdmUgYSAxcHggYm9yZGVyIGJldHdlZW4gdGhlIHR3b1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBOYXZzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdWwvb2xcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIHNldHMgdGV4dCB0byBncmF5IGFuZCBudWtlcyBob3Zlci90YWIgZWZmZWN0c1xuICAgICYuZGlzYWJsZWQgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gZHJvcGRvd25zXG4gIC5vcGVuID4gYSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBOYXYgZGl2aWRlcnMgKGRlcHJlY2F0ZWQgd2l0aCB2My4wLjEpXG4gIC8vXG4gIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHYzIHdpdGggdGhlIGRyb3BwaW5nIG9mIGAubmF2LWxpc3RgLCBidXRcbiAgLy8gd2UgbWlzc2VkIGl0LiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0aGlzIGFueXdoZXJlLCBidXQgaW4gdGhlIGludGVyZXN0XG4gIC8vIG9mIG1haW50YWluaW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaW4gY2FzZSB5b3UgdXNlIGl0LCBpdCdzIGRlcHJlY2F0ZWQuXG4gIC5uYXYtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXI7XG4gIH1cblxuICAvLyBQcmV2ZW50IElFOCBmcm9tIG1pc3BsYWNpbmcgaW1nc1xuICAvL1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzk4NCNpc3N1ZWNvbW1lbnQtMzk4NTk4OVxuICA+IGxpID4gYSA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cblxuLy8gVGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHaXZlIHRoZSB0YWJzIHNvbWV0aGluZyB0byBzaXQgb25cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgLy8gQWN0dWFsIHRhYnMgKGFzIGxpbmtzKVxuICAgID4gYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGUsIGFuZCBpdHMgOmhvdmVyIHRvIG92ZXJyaWRlIG5vcm1hbCA6aG92ZXJcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwdWxsaW5nIHRoaXMgaW4gbWFpbmx5IGZvciBsZXNzIHNob3J0aGFuZFxuICAmLm5hdi1qdXN0aWZpZWQge1xuICAgIEBleHRlbmQgLm5hdi1qdXN0aWZpZWQ7XG4gICAgQGV4dGVuZCAubmF2LXRhYnMtanVzdGlmaWVkO1xuICB9XG59XG5cblxuLy8gUGlsbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYtcGlsbHMge1xuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIExpbmtzIHJlbmRlcmVkIGFzIHBpbGxzXG4gICAgPiBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGFja2VkIHBpbGxzXG4ubmF2LXN0YWNrZWQge1xuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBubyBuZWVkIGZvciB0aGlzIGdhcCBiZXR3ZWVuIG5hdiBpdGVtc1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdiB2YXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBKdXN0aWZpZWQgbmF2IGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNb3ZlIGJvcmRlcnMgdG8gYW5jaG9ycyBpbnN0ZWFkIG9mIGJvdHRvbSBvZiBsaXN0XG4vL1xuLy8gTWl4aW4gZm9yIGFkZGluZyBvbiB0b3AgdGhlIHNoYXJlZCBgLm5hdi1qdXN0aWZpZWRgIHN0eWxlcyBmb3Igb3VyIHRhYnNcbi5uYXYtdGFicy1qdXN0aWZpZWQge1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gID4gbGkgPiBhIHtcbiAgICAvLyBPdmVycmlkZSBtYXJnaW4gZnJvbSAubmF2LXRhYnNcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEsXG4gICAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNwZWNpZmljIGRyb3Bkb3duc1xuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgLy8gbWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIE5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBhbmQgYmFzZSBjbGFzc1xuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQ7IC8vIEVuc3VyZSBhIG5hdmJhciBhbHdheXMgc2hvd3MgKGUuZy4sIHdpdGhvdXQgYSAubmF2YmFyLWJyYW5kIGluIGNvbGxhcHNlZCBtb2RlKVxuICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBoZWFkaW5nXG4vL1xuLy8gR3JvdXBzIGAubmF2YmFyLWJyYW5kYCBhbmQgYC5uYXZiYXItdG9nZ2xlYCBpbnRvIGEgc2luZ2xlIGNvbXBvbmVudCBmb3IgZWFzeVxuLy8gc3R5bGluZyBvZiByZXNwb25zaXZlIGFzcGVjdHMuXG5cbi5uYXZiYXItaGVhZGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBjb2xsYXBzZSAoYm9keSlcbi8vXG4vLyBHcm91cCB5b3VyIG5hdmJhciBjb250ZW50IGludG8gdGhpcyBmb3IgZWFzeSBjb2xsYXBzaW5nIGFuZCBleHBhbmRpbmcgYWNyb3NzXG4vLyB2YXJpb3VzIGRldmljZSBzaXplcy4gQnkgZGVmYXVsdCwgdGhpcyBjb250ZW50IGlzIGNvbGxhcHNlZCB3aGVuIDw3NjhweCwgYnV0XG4vLyB3aWxsIGV4cGFuZCBwYXN0IHRoYXQgZm9yIGEgaG9yaXpvbnRhbCBkaXNwbGF5LlxuLy9cbi8vIFRvIHN0YXJ0IChvbiBtb2JpbGUgZGV2aWNlcykgdGhlIG5hdmJhciBsaW5rcywgZm9ybXMsIGFuZCBidXR0b25zIGFyZSBzdGFja2VkXG4vLyB2ZXJ0aWNhbGx5IGFuZCBpbmNsdWRlIGEgYG1heC1oZWlnaHRgIHRvIG92ZXJmbG93IGluIGNhc2UgeW91IGhhdmUgdG9vIG11Y2hcbi8vIGNvbnRlbnQgZm9yIHRoZSB1c2VyJ3Mgdmlld3BvcnQuXG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6ICRzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvdGggbmF2YmFyIGhlYWRlciBhbmQgY29sbGFwc2Vcbi8vXG4vLyBXaGVuIGEgY29udGFpbmVyIGlzIHByZXNlbnQsIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGhlYWRlciBhbmQgY29sbGFwc2UuXG5cbi5jb250YWluZXIsXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgPiAubmF2YmFyLWhlYWRlcixcbiAgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogIC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogIDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gU3RhdGljIHRvcCAodW5maXhlZCwgYnV0IDEwMCUgd2lkZSkgbmF2YmFyXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gb3ZlcnJpZGUgLm5hdmJhciBkZWZhdWx0c1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDM0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBXZSByZW1vdmUgdGhlIGBvdXRsaW5lYCBoZXJlLCBidXQgbGF0ZXIgY29tcGVuc2F0ZSBieSBhdHRhY2hpbmcgYDpob3ZlcmBcbiAgLy8gc3R5bGVzIHRvIGA6Zm9jdXNgLlxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gQmFyc1xuICAuaWNvbi1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgfVxuICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXYgbGlua3Ncbi8vXG4vLyBCdWlsZHMgb24gdG9wIG9mIHRoZSBgLm5hdmAgY29tcG9uZW50cyB3aXRoIGl0cyBvd24gbW9kaWZpZXIgY2xhc3MgdG8gbWFrZVxuLy8gdGhlIG5hdiB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGhvcml6b250YWwgbmF2IChhYm92ZSA3NjhweCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiAoJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIC8gMikgKC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbCk7XG5cbiAgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiAgICAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgPiBsaSA+IGEsXG4gICAgICAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDI1cHg7XG4gICAgICB9XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBVbmNvbGxhcHNlIHRoZSBuYXZcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICAgICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgZm9ybVxuLy9cbi8vIEV4dGVuc2lvbiBvZiB0aGUgYC5mb3JtLWlubGluZWAgd2l0aCBzb21lIGV4dHJhIGZsYXZvciBmb3Igb3B0aW11bSBkaXNwbGF5IGluXG4vLyBvdXIgbmF2YmFycy5cblxuLm5hdmJhci1mb3JtIHtcbiAgbWFyZ2luLWxlZnQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDEwcHggJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAkc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuXG4gIC8vIE1peGluIGJlaGF2aW9yIGZvciBvcHRpbXVtIGRpc3BsYXlcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIGV4cGFuZGVkLCBob3Jpem9udGFsIG5hdmJhclxuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duIG1lbnVzXG5cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXRzXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbn1cblxuXG4vLyBCdXR0b25zIGluIG5hdmJhcnNcbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBhIGJ1dHRvbiB3aXRoaW4gYSBuYXZiYXIgKHdoZW4gKm5vdCogaW4gYSBmb3JtKS5cblxuLm5hdmJhci1idG4ge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAmLmJ0bi1zbSB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtc21hbGwpO1xuICB9XG4gICYuYnRuLXhzIHtcbiAgICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oMjIpO1xuICB9XG59XG5cblxuLy8gVGV4dCBpbiBuYXZiYXJzXG4vL1xuLy8gQWRkIGEgY2xhc3MgdG8gbWFrZSBhbnkgZWxlbWVudCBwcm9wZXJseSBhbGlnbiBpdHNlbGYgdmVydGljYWxseSB3aXRoaW4gdGhlIG5hdmJhcnMuXG5cbi5uYXZiYXItdGV4dCB7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxuLy8gaXNzdWVzIHdpdGggcGFyZW50cyBhbmQgY2hhaW5pbmcuIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBuYXZiYXIgaXMgdW5jb2xsYXBzZWRcbi8vIHRob3VnaCBzbyB0aGF0IG5hdmJhciBjb250ZW50cyBwcm9wZXJseSBzdGFjayBhbmQgYWxpZ24gaW4gbW9iaWxlLlxuLy9cbi8vIERlY2xhcmVkIGFmdGVyIHRoZSBuYXZiYXIgY29tcG9uZW50cyB0byBlbnN1cmUgbW9yZSBzcGVjaWZpY2l0eSBvbiB0aGUgbWFyZ2lucy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIH4gLm5hdmJhci1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIG5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgbmF2YmFyXG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYmc7XG4gIGJvcmRlci1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIG1lbnUgaXRlbXNcbiAgLm5hdmJhci1uYXYge1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBMaW5rcyBpbiBuYXZiYXJzXG4gIC8vXG4gIC8vIEFkZCBhIGNsYXNzIHRvIGVuc3VyZSBsaW5rcyBvdXRzaWRlIHRoZSBuYXZiYXIgbmF2IGFyZSBjb2xvcmVkIGNvcnJlY3RseS5cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW52ZXJzZSBuYXZiYXJcblxuLm5hdmJhci1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEYXJrZW4gdGhlIHJlc3BvbnNpdmUgbmF2IHRvZ2dsZVxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDclKTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAubmF2YmFyLW5hdiB7XG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheVxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWwgJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICsgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiI3skYnJlYWRjcnVtYi1zZXBhcmF0b3J9XFwwMGEwXCI7IC8vIFVuaWNvZGUgc3BhY2UgYWRkZWQgc2luY2UgaW5saW5lLWJsb2NrIG1lYW5zIG5vbi1jb2xsYXBzaW5nIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQYWdpbmF0aW9uIChtdWx0aXBsZSBwYWdlcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46ICRsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGxpID4gYSxcbiAgPiBsaSA+IHNwYW4ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+IC5kaXNhYmxlZCB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Bhbjpob3ZlcixcbiAgICA+IHNwYW46Zm9jdXMsXG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuXG4vLyBTbWFsbFxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46ICRsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogJHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmxhYmVsXG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5sYWJlbCB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIENvbG9yc1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgbGFiZWxzIGdldCBkYXJrZXIgb24gOmhvdmVyKVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXN1Y2Nlc3MtYmcpO1xufVxuXG4ubGFiZWwtaW5mbyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGFuZ2VyLWJnKTtcbn1cbiIsIi8vXG4vLyBCYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1saW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5IChub3QgYXZhaWxhYmxlIGluIElFOClcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbiAgLmJ0biAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG5cbiAgLmJ0bi14cyAmLFxuICAuYnRuLWdyb3VwLXhzID4gLmJ0biAmIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMXB4IDVweDtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJhZGdlXG5cbiAgLy8gQWNjb3VudCBmb3IgYmFkZ2VzIGluIG5hdnNcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAmLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAmIHtcbiAgICBjb2xvcjogJGJhZGdlLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtYWN0aXZlLWJnO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmICsgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAubmF2LXBpbGxzID4gbGkgPiBhID4gJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuXG4vLyBIb3ZlciBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG5hLmJhZGdlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbiIsIi8vXG4vLyBKdW1ib3Ryb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmctdG9wOiAgICAkanVtYm90cm9uLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgY29sb3I6ICRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICA+IGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGp1bWJvdHJvbi1iZywgMTAlKTtcbiAgfVxuXG4gIC5jb250YWluZXIgJixcbiAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTsgLy8gT25seSByb3VuZCBjb3JuZXJzIGF0IGhpZ2hlciByZXNvbHV0aW9ucyBpZiBjb250YWluZWQgaW4gYSBjb250YWluZXJcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcGFkZGluZy10b3A6ICAgICgkanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpO1xuICAgIHBhZGRpbmctYm90dG9tOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMS42KTtcblxuICAgIC5jb250YWluZXIgJixcbiAgICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgIH1cblxuICAgIGgxLFxuICAgIC5oMSB7XG4gICAgICBmb250LXNpemU6ICRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbiBhbmQgYWRqdXN0IHRoZSByZWd1bGFyIGltYWdlIGNsYXNzXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJjpob3ZlciwgYSY6Zm9jdXMsIGEmLmFjdGl2ZSB0byBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMsIGEudGh1bWJuYWlsLmFjdGl2ZVxuXG4gIC8vIEltYWdlIGNhcHRpb25zXG4gIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZztcbiAgICBjb2xvcjogJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi8vIEFkZCBhIGhvdmVyIHN0YXRlIGZvciBsaW5rZWQgdmVyc2lvbnMgb25seVxuYS50aHVtYm5haWw6aG92ZXIsXG5hLnRodW1ibmFpbDpmb2N1cyxcbmEudGh1bWJuYWlsLmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG59XG4iLCIvL1xuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYWxlcnQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NhYmxlLCAvLyBUaGUgbWlzc3BlbGxlZCAuYWxlcnQtZGlzbWlzc2FibGUgd2FzIGRlcHJlY2F0ZWQgaW4gMy4yLjAuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWluZm8tYmcsICRhbGVydC1pbmZvLWJvcmRlciwgJGFsZXJ0LWluZm8tdGV4dCk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvL1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXIgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXZWJLaXRcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIFNwZWMgYW5kIElFMTArXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vLyBCYXIgaXRzZWxmXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE91dGVyIGNvbnRhaW5lclxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSkpO1xufVxuXG4vLyBCYXIgb2YgcHJvZ3Jlc3Ncbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcbn1cblxuLy8gU3RyaXBlZCBiYXJzXG4vL1xuLy8gYC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXItc3RyaXBlZGAgY2xhc3MsIHdoaWNoIHlvdSBqdXN0IGFkZCB0byBhbiBleGlzdGluZ1xuLy8gYC5wcm9ncmVzcy1iYXJgLlxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4O1xufVxuXG4vLyBDYWxsIGFuaW1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBvbmVcbi8vXG4vLyBgLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLmFjdGl2ZWAgYXBwcm9hY2guXG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbihwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGUpO1xufVxuXG5cbi8vIFZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1kYW5nZXIge1xuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCIubWVkaWEge1xuICAvLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tZWRpYS1yaWdodCxcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1lZGlhLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuLy8gVW5kbyBkZWZhdWx0IHVsL29sIHN0eWxlc1xuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvL1xuLy8gTGlzdCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBpdGVtcy5cbi8vIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2hvd2luZyBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG59XG5cbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQ6aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSxcbiAgJi5hY3RpdmU6aG92ZXIsXG4gICYuYWN0aXZlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbn1cblxuLy8gUGFuZWwgY29udGVudHNcbi5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIE9wdGlvbmFsIGhlYWRpbmdcbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogJHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gV2l0aGluIGhlYWRpbmcsIHN0cmlwIGFueSBgaCpgIHRhZyBvZiBpdHMgZGVmYXVsdCBtYXJnaW5zIGZvciBzcGFjaW5nLlxuLnBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjEyNSkpO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICA+IGEsXG4gID4gc21hbGwsXG4gID4gLnNtYWxsLFxuICA+IHNtYWxsID4gYSxcbiAgPiAuc21hbGwgPiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBmb290ZXIgKHN0YXlzIGdyYXkgaW4gZXZlcnkgbW9kaWZpZXIgY2xhc3MpXG4ucGFuZWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJHBhbmVsLWZvb3Rlci1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtZm9vdGVyLWJnO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xufVxuXG5cbi8vIExpc3QgZ3JvdXBzIGluIHBhbmVsc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIHNwYWNlIG91dCBsaXN0IGdyb3VwIGNvbnRlbnQgZnJvbSBwYW5lbCBoZWFkaW5ncyB0byBhY2NvdW50IGZvclxuLy8gYW55IGtpbmQgb2YgY3VzdG9tIGNvbnRlbnQgYmV0d2VlbiB0aGUgdHdvLlxuXG4ucGFuZWwge1xuICA+IC5saXN0LWdyb3VwLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuLy8gQ29sbGFwc2Ugc3BhY2UgYmV0d2VlbiB3aGVuIHRoZXJlJ3Mgbm8gYWRkaXRpb25hbCBjb250ZW50LlxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCB7XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cbi5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi8vIFRhYmxlcyBpbiBwYW5lbHNcbi8vXG4vLyBQbGFjZSBhIG5vbi1ib3JkZXJlZCBgLnRhYmxlYCB3aXRoaW4gYSBwYW5lbCAobm90IHdpdGhpbiBhIGAucGFuZWwtYm9keWApIGFuZFxuLy8gd2F0Y2ggaXQgZ28gZnVsbCB3aWR0aC5cblxuLnBhbmVsIHtcbiAgPiAudGFibGUsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0aGVhZDpmaXJzdC1jaGlsZCxcbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgPiAudGFibGU6bGFzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGJvZHk6bGFzdC1jaGlsZCxcbiAgICA+IHRmb290Omxhc3QtY2hpbGQge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLFxuICA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLXJlc3BvbnNpdmUsXG4gID4gLnRhYmxlICsgLnBhbmVsLWJvZHksXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgKyAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoLFxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgPiAudGFibGUtYm9yZGVyZWQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyIHtcbiAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHkge1xuICAgICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuXG4vLyBDb2xsYXBzYWJsZSBwYW5lbHMgKGFrYSwgYWNjb3JkaW9uKVxuLy9cbi8vIFdyYXAgYSBzZXJpZXMgb2YgcGFuZWxzIGluIGAucGFuZWwtZ3JvdXBgIHRvIHR1cm4gdGhlbSBpbnRvIGFuIGFjY29yZGlvbiB3aXRoXG4vLyB0aGUgaGVscCBvZiBvdXIgY29sbGFwc2UgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5wYW5lbC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcblxuICAvLyBUaWdodGVuIHVwIG1hcmdpbiBzbyBpdCdzIG9ubHkgYmV0d2VlbiBwYW5lbHNcbiAgLnBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xuXG4gICAgKyAucGFuZWwge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wYW5lbC1oZWFkaW5nIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSxcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wYW5lbC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zXG4ucGFuZWwtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLWRlZmF1bHQtYm9yZGVyLCAkcGFuZWwtZGVmYXVsdC10ZXh0LCAkcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnLCAkcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xufVxuLnBhbmVsLXByaW1hcnkge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1wcmltYXJ5LWJvcmRlciwgJHBhbmVsLXByaW1hcnktdGV4dCwgJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZywgJHBhbmVsLXByaW1hcnktYm9yZGVyKTtcbn1cbi5wYW5lbC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtc3VjY2Vzcy1ib3JkZXIsICRwYW5lbC1zdWNjZXNzLXRleHQsICRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmcsICRwYW5lbC1zdWNjZXNzLWJvcmRlcik7XG59XG4ucGFuZWwtaW5mbyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLWluZm8tYm9yZGVyLCAkcGFuZWwtaW5mby10ZXh0LCAkcGFuZWwtaW5mby1oZWFkaW5nLWJnLCAkcGFuZWwtaW5mby1ib3JkZXIpO1xufVxuLnBhbmVsLXdhcm5pbmcge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC13YXJuaW5nLWJvcmRlciwgJHBhbmVsLXdhcm5pbmctdGV4dCwgJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZywgJHBhbmVsLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5wYW5lbC1kYW5nZXIge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1kYW5nZXItYm9yZGVyLCAkcGFuZWwtZGFuZ2VyLXRleHQsICRwYW5lbC1kYW5nZXItaGVhZGluZy1iZywgJHBhbmVsLWRhbmdlci1ib3JkZXIpO1xufVxuIiwiLy8gRW1iZWRzIHJlc3BvbnNpdmVcbi8vXG4vLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciAxNjo5IGFzcGVjdCByYXRpb1xuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgNDozIGFzcGVjdCByYXRpb1xuLmVtYmVkLXJlc3BvbnNpdmUtNGJ5MyB7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG4iLCIvL1xuLy8gV2VsbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLndlbGwge1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHdlbGwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGw7XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgQGluY2x1ZGUgb3BhY2l0eSguMik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjUpO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGJ1dHRvbiYgdG8gYnV0dG9uLmNsb3NlXG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKDAuM3MgZWFzZS1vdXQpO1xuICB9XG4gICYuaW4gLm1vZGFsLWRpYWxvZyB7IEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAwKSB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjsgLy9vbGQgYnJvd3NlcnMgZmFsbGJhY2sgKGllOCBldGMpXG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XG4gICYuaW4geyBAaW5jbHVkZSBvcGFjaXR5KCRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIG1pbi1oZWlnaHQ6ICgkbW9kYWwtdGl0bGUtcGFkZGluZyArICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIGNsZWFyIGl0IGluIGNhc2UgZm9sa3MgdXNlIC5wdWxsLSogY2xhc3NlcyBvbiBidXR0b25zXG5cbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICB9XG4gIC8vIGJ1dCBvdmVycmlkZSB0aGF0IGZvciBidXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXG4gIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuXG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyBAaW5jbHVkZSBvcGFjaXR5KCR0b29sdGlwLW9wYWNpdHkpOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gUG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogMXB4O1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSBwb3BvdmVycyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQ7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSk7XG5cbiAgLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4gICYudG9wICAgICB7IG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLnJpZ2h0ICAgeyBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20gIHsgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxufVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIG1hcmdpbjogMDsgLy8gcmVzZXQgaGVhZGluZyBtYXJnaW5cbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci10aXRsZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkcG9wb3Zlci10aXRsZS1iZywgNSUpO1xuICBib3JkZXItcmFkaXVzOiAoJGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAoJGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAwIDA7XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cblxuLy8gQXJyb3dzXG4vL1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgPiAuYXJyb3cge1xuICAmLFxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXIgPiAuYXJyb3cge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ucG9wb3ZlciB7XG4gICYudG9wID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmJvdHRvbSA+IC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENhcm91c2VsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC42cyBlYXNlLWluLW91dCBsZWZ0KTtcblxuICAgIC8vIEFjY291bnQgZm9yIGphbmtpdHVkZSBvbiBpbWFnZXNcbiAgICA+IGltZyxcbiAgICA+IGEgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAvLyBXZWJLaXQgQ1NTMyB0cmFuc2Zvcm1zIGZvciBzdXBwb3J0ZWQgZGV2aWNlc1xuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKDAuNnMgZWFzZS1pbi1vdXQpO1xuICAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xuICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUoMTAwMHB4KTtcblxuICAgICAgJi5uZXh0LFxuICAgICAgJi5hY3RpdmUucmlnaHQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYucHJldixcbiAgICAgICYuYWN0aXZlLmxlZnQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gID4gLnByZXYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLm5leHQubGVmdCxcbiAgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cblxufVxuXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2Fyb3VzZWwtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgQGluY2x1ZGUgb3BhY2l0eSgkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5KTtcbiAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcbiAgJi5sZWZ0IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSwgJGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoLjkpO1xuICB9XG5cbiAgLy8gVG9nZ2xlc1xuICAuaWNvbi1wcmV2LFxuICAuaWNvbi1uZXh0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmljb24tcHJldixcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCB7XG4gICAgd2lkdGg6ICAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gIH1cblxuXG4gIC5pY29uLXByZXYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMzknOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwM2EnOy8vIFNJTkdMRSBSSUdIVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDNBKVxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiB1bm9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4LTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDgtOSBkb2VzIG5vdCBzdXBwb3J0IGNsaWNrcyBvbiBlbGVtZW50cyB3aXRob3V0IGEgc2V0XG4gICAgLy8gYGJhY2tncm91bmQtY29sb3JgLiBXZSBjYW5ub3QgdXNlIGBmaWx0ZXJgIHNpbmNlIHRoYXQncyBub3Qgdmlld2VkIGFzIGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGJ5IHRoZSBicm93c2VyLiBUaHVzLCBhIGhhY2sgaXMgbmVlZGVkLlxuICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjSW50ZXJuZXRfRXhwbG9yZXJcbiAgICAvL1xuICAgIC8vIEZvciBJRTgsIHdlIHNldCBzb2xpZCBibGFjayBhcyBpdCBkb2Vzbid0IHN1cHBvcnQgYHJnYmEoKWAuIEZvciBJRTksIHdlXG4gICAgLy8gc2V0IGFscGhhIHRyYW5zcGFyZW5jeSBmb3IgdGhlIGJlc3QgcmVzdWx0cyBwb3NzaWJsZS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTsgLy8gSUU4XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gIH1cbiAgLmFjdGl2ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAgMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRkZW4gYnkgZGVmYXVsdCBmb3Igc21hbGxlciB2aWV3cG9ydHNcbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNSU7XG4gIHJpZ2h0OiAxNSU7XG4gIGJvdHRvbTogMjBweDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gICYgLmJ0biB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IC8vIE5vIHNoYWRvdyBmb3IgYnV0dG9uIGVsZW1lbnRzIGluIGNhcm91c2VsLWNhcHRpb25cbiAgfVxufVxuXG5cbi8vIFNjYWxlIHVwIGNvbnRyb2xzIGZvciB0YWJsZXRzIGFuZCB1cFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcblxuICAvLyBTY2FsZSB1cCB0aGUgY29udHJvbHMgYSBzbWlkZ2VcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAgIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgICAuaWNvbi1wcmV2LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgfVxuICAgIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hvdyBhbmQgbGVmdCBhbGlnbiB0aGUgY2FwdGlvbnNcbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGxlZnQ6IDIwJTtcbiAgICByaWdodDogMjAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLy8gTW92ZSB1cCB0aGUgaW5kaWNhdG9yc1xuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEZvciBBZmZpeCBwbHVnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy9cbi8vIFJlc3BvbnNpdmU6IFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJRTEwIGluIFdpbmRvd3MgKFBob25lKSA4XG4vL1xuLy8gU3VwcG9ydCBmb3IgcmVzcG9uc2l2ZSB2aWV3cyB2aWEgbWVkaWEgcXVlcmllcyBpcyBraW5kIG9mIGJvcmtlZCBpbiBJRTEwLCBmb3Jcbi8vIFN1cmZhY2UvZGVza3RvcCBpbiBzcGxpdCB2aWV3IGFuZCBmb3IgV2luZG93cyBQaG9uZSA4LiBUaGlzIHBhcnRpY3VsYXIgZml4XG4vLyBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50IGFuZFxuLy8gYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MgdG8gKm9ubHkqIHRoZSBTdXJmYWNlL2Rlc2t0b3AgV2luZG93cyA4LiBMb29rIGF0XG4vLyBvdXIgR2V0dGluZyBTdGFydGVkIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBidWcuXG4vL1xuLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZm9sbG93aW5nOlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwNDk3XG4vLyBEb2NzOiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3N1cHBvcnQtaWUxMC13aWR0aFxuLy8gU291cmNlOiBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoL1xuLy8gU291cmNlOiBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi9cblxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG59XG5cblxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUteHMsIC52aXNpYmxlLXNtLCAudmlzaWJsZS1tZCwgYW5kIC52aXNpYmxlLWxnIGFzIG9mIHYzLjIuMFxuXG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLW1kJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcblxuLnZpc2libGUteHMtYmxvY2ssXG4udmlzaWJsZS14cy1pbmxpbmUsXG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1zbS1ibG9jayxcbi52aXNpYmxlLXNtLWlubGluZSxcbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayxcbi52aXNpYmxlLW1kLWJsb2NrLFxuLnZpc2libGUtbWQtaW5saW5lLFxuLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtbGctYmxvY2ssXG4udmlzaWJsZS1sZy1pbmxpbmUsXG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG59XG4udmlzaWJsZS14cy1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG59XG4udmlzaWJsZS1zbS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtc20taW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtc20taW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLW1kJyk7XG59XG4udmlzaWJsZS1tZC1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbWQtaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xufVxuLnZpc2libGUtbGctYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXhzJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXNtJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLW1kJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1sZycpO1xufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuLy9cbi8vIE1lZGlhIHF1ZXJpZXMgYXJlIHBsYWNlZCBvbiB0aGUgaW5zaWRlIHRvIGJlIG1peGluLWZyaWVuZGx5LlxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXByaW50IGFzIG9mIHYzLjIuMFxuXG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcblxuQG1lZGlhIHByaW50IHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xufVxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tcHJpbnQnKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UeXBvZ3JhcGh5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xucCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb250LWNvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuaDEsaDIudGl0bGUge1xuICBmb250LXNpemU6ICRoMS1mb250LXNpemU7XG4gIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJhc2UtY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLy9ib3gtc2hhZG93OiAtMTBweCAyMHB4IDFweCAtMTZweCByZ2JhKDEyMywgMTc0LCAyMTgsIDAuMTgpO1xuICBmb250LXdlaWdodDogJHRoaW47XG4gIHRleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTtcbn1cbmgyIHtcbiAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuICBjb2xvcjogJGJhc2UtY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOjIwcHg7XG4gIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiRmb250LXNlY29uZGFyeTtcbiAgfVxufVxuaDMge1xuXHRmb250LXNpemU6ICRoMy1mb250LXNpemU7XG5cdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIFx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuaDQge1xuXHRmb250LXNpemU6ICRoNC1mb250LXNpemU7XG5cdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0Zm9udC13ZWlnaHQ6ICRub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG59XG5oNSB7XG5cdGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcblx0Y29sb3I6ICRiYXNlLWNvbG9yO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogJGJvbGQ7XG59IiwiLmJ0bi1sZyB7XG5cdHBhZGRpbmc6IDhweCAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5idG4uYnRuLXJlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRmb250LXdlaWdodDogJHNlbWlib2xkO1xuXHRib3JkZXI6IDA7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyYW5kLWNvbG9yLCA1JSk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXHQmLWxhcmdlIHtcblx0XHRwYWRkaW5nOiAxNXB4IDQwcHg7XG5cdH1cbn1cbi5idG4uYnRuLXdoaXRlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRjb2xvcjogJGJsYWNrO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiAkc2VtaWJvbGQ7XG5cdGJvcmRlcjogMDtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkd2hpdGUsIDUlKTtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHR9XG5cdCYtbGFyZ2Uge1xuXHRcdHBhZGRpbmc6IDE1cHggNDBweDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0JEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcmltYXJ5LW5hdiB7XG4gIG1hcmdpbi10b3A6NTZweDtcbn1cblxuLnNlY29uZGFyeS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOjA7XG4gIHJpZ2h0OjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uYnlsaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjokYmxhY2s7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4zcyk7XG4gIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG4gIHNwYW4ge1xuICAgIG9wYWNpdHk6IC44O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMjEwcHg7XG4gIH1cbn1cblxuI2hlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyk7XG4gIC5oZWFkZXItY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMTUpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTE3MHB4O1xuICAgIHBhZGRpbmc6IDQwcHggMCAxNXB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIC4zcyk7XG4gIH1cbiAgLmxvZ28ge1xuICAgIEBpbmNsdWRlIGZsb2F0KGxlZnQpO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzKTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG59XG4jaGVhZGVyLmZpeGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOTUpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMXB4IDFweCByZ2JhKDAsMCwwLC4yKSk7XG5cbiAgLmhlYWRlci1jb250ZW50IHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgIC5sb2dvIGltZyB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmJ5bGluZXIge1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnByaW1hcnktbmF2IHtcbiAgICAgIG1hcmdpbi10b3A6MTZweDtcblxuICAgICAgbGkuYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICB0b3A6MzhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5hdi10b2dnbGUge1xuICAgIHRvcDogMThweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaGVhZGVyIHtcbiAgICBwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDtcbiAgfVxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDtcbiAgICBsZWZ0OmF1dG8gIWltcG9ydGFudDtcbiAgICB0b3A6YXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OmF1dG8gIWltcG9ydGFudDtcbiAgICBib3R0b206YXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4ubmF2aWdhdGlvbi5vcGVuIHtcbiAgb3BhY2l0eTogMC45O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjVzKTtcbn1cbi5uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgZmxvYXQocmlnaHQpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuNXMpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHRvcDogNTRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJG5hdi1jb2xvcjtcbiAgICBmb250LXNpemU6ICRuYXYtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGRhcmtlbigkbmF2LWNvbG9yLDUwJSk7XG4gICAgfVxuICB9XG59XG4ubmF2LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogNDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNSU7XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB0b3A6IDMycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiA0NHB4O1xuICB6LWluZGV4OiA5OTk5OTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzKTtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVooMCkpO1xuICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KHRyYW5zZm9ybSk7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjNzKTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtY29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDBzKTtcbiAgfVxuICBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWigwKSk7XG4gICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuM3MpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoMGRlZykpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDZweCkgcm90YXRlKDBkZWcpKTtcbiAgICB9XG4gIH1cbiAgJi5jbG9zZS1uYXYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSByb3RhdGUoLTQ1ZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCRCYW5uZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYmFubmVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgLmNpbmRleCAmIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgYm90dG9tOjUwJTtcbiAgICAgICAgbWF4LWhlaWdodDo1MHZoO1xuICAgICAgICByaWdodDowO1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIGhzbGEoMTMsIDI0JSwgNTQlLCAwLjYpLCAjRjlGQkU3KSwgdXJsKC4uLy4uL2ltZy9zdXJnZXJ5X2JhY2tncm91bmQyLmpwZyk7XG4gICAgICAgICAgcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKGNvdmVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgfVxuICAgIC8vIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgIC8vIG1heC1oZWlnaHQ6IDczMHB4O1xuICAgIC8qXG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIGhzbGEoMTMsIDI0JSwgNTQlLCAwLjYpLCAjRjlGQkU3KSwgdXJsKC4uLy4uL2ltZy9zdXJnZXJ5X2JhY2tncm91bmQyLmpwZyk7XG4gICAgICBwb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICAqL1xuICB9XG5cblxuXG4gICYudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuaW1nIHtcblxufVxuLmNvbnRhaW5lci1jb25ncmVzcy0yMDE3IC5iYW5uZXItaW1hZ2UsXG4uY29uZ3Jlc3MtZmx5ZXIge1xuICBib3gtc2hhZG93OjAgMTBweCAzMHB4IHJnYmEoMCwwLDAsLjMpLCAwIDIwcHggMjBweCByZ2JhKDAsMCwwLC4xKTtcbiAgYm9yZGVyOjVweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOjA7XG4gIG1hcmdpbjowIGF1dG87XG59XG4uYmFubmVyLXRleHQtaG9sZGVyIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIH1cbiAgcGFkZGluZy1sZWZ0OjA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbn1cbi5iYW5uZXItdGV4dCB7XG4gIEBleHRlbmQgLnRleHQtY2VudGVyO1xuICAvLyBtYXgtd2lkdGg6IDYwdnc7XG4gIG1hcmdpbjowIGF1dG87XG4gIGgxIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbToxMDBweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIG1hcmdpbi10b3A6NXB4O1xuICAgICAgb3BhY2l0eTouODtcbiAgICAgIGZvbnQtd2VpZ2h0OjIwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6ICRsaWdodDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICYucHJlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6JGJvbGQ7XG4gICAgICBtYXJnaW46NTBweCAwIDAgMDtcbiAgICB9XG5cbiAgICAmLmxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuICB9XG59XG4uYmFubmVyLWNhbGxvdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMzcwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6MHB4O1xuICAgIHdpZHRoOjM1MHB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCRCcmVhZGNydW1iXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJyZWFkY3J1bWItaG9sZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTg7XG4gIHRvcDoxNTdweDtcbiAgbGVmdDowO1xuICByaWdodDowO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvcGFjaXR5OiAuNTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzKTtcblxuICAuYnJlYWRjcnVtYiBsaSBhIHtcbiAgICBjb2xvcjpkYXJrZW4oJGdyZXksNTAlKTtcbiAgfVxuXG4gICYuZml4ZWQge1xuICAgIHRvcDo3MHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgb3BhY2l0eTogLjk1O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCA0cHggLTNweCAjOTk5O1xuXG4gICAgLmJyZWFkY3J1bWIgbGkgYSB7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE3MHB4KSB7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlci1jb2xvcjtcbiAgICBvcGFjaXR5OiAuOTtcblxuICAgIC5icmVhZGNydW1iIGxpIGEge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgIH1cbiAgfVxufVxuLmJyZWFkY3J1bWIge1xuICB3aWR0aDoxMDAlO1xuICBtYXgtd2lkdGg6MTE3MHB4O1xuICBtYXJnaW46MCBhdXRvO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNzBweCkge1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIHBhZGRpbmctbGVmdDowO1xuICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgfVxufVxuLmJyZWFkY3J1bWIgbGkge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgY29sb3I6JGZvbnQtY29sb3I7XG59XG4uYnJlYWRjcnVtYiA+IGxpICsgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6XCJcXDAwQkJcIjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEdlbmVyYWwgU3R5bGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYSB7XG4gIGNvbG9yOiAkYnJhbmQtY29sb3I7XG4gIGJvcmRlci1ib3R0b206MXB4IGRvdHRlZDtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIC4zcyk7XG59XG5odG1sIHtcbiAgaGVpZ2h0OjEwMCU7XG59XG5ib2R5IHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuICBjb2xvcjogJGZvbnQtY29sb3I7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjMxLCAyMzIsIDE2NywgMC4yKTtcbiAgbWluLWhlaWdodDoxMDAlO1xuICBwYWRkaW5nLWJvdHRvbToxMGVtO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbn1cbmhyIHtcbiAgbWFyZ2luLXRvcDo0MHB4O1xuICBtYXJnaW4tYm90dG9tOjQwcHg7XG59XG5ib2R5ID4gc2VjdGlvbi5jb250ZW50IHtcbiAgcGFkZGluZzogNTBweCAwO1xuXG4gICYtZmlyc3Qge1xuICAgIHBhZGRpbmctdG9wOjI1MHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIH1cbiAgfVxuICAmLWxhc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOjEwMHB4O1xuICB9XG4gICYtYmxhbmNvIHtcbiAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkZ3JleTtcbiAgfVxufVxuXG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubm8tZ3V0dGVyIFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbnAubGVhZCB7XG4gIGZvbnQtc2l6ZToxOHB4O1xuICBtYXJnaW4tYm90dG9tOjQwcHg7XG59XG5wLnNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiA3NSU7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xufVxuLndlbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpO1xufVxuXG4uZm9udC1zZWNvbmRhcnkge1xuICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xufVxuXG5oMy5kYXRlIHtcbiAgQGV4dGVuZCAuZm9udC1zZWNvbmRhcnk7XG59XG5cblxuXG5oMi50aXRsZS13aXRoLWJ1dHRvbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZToxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cbiAgLmJ0biB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEZvb3RlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb290ZXIge1xuICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICBwYWRkaW5nOiA0MHB4IDAgMjBweCAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIC4zcyk7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICBib3R0b206MDtcbiAgbGVmdDowO1xuICByaWdodDowO1xuXG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIC4zcyk7XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IDlweDtcbiAgICAgIGNvbG9yOiNlZWU7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgY29sb3I6I2VlZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiRmb250LWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206MXB4IGRvdHRlZCBkYXJrZW4oJGZvbnQtY29sb3IsMTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIC4zcyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiRicmFuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6JGJyYW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LW11dGVkIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIC4zcyk7XG4gIH1cblxuICB1bCBsaSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGZvb3Rlci1jb2xvciw1JSk7XG5cbiAgICBwLGxpLGEsc3Bhbi50ZXh0LW11dGVkIHtcbiAgICAgIGNvbG9yOmRhcmtlbigkd2hpdGUsMTAlKVxuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCR3aGl0ZSwxMCUpO1xuICAgIH1cblxuICAgIGE6aG92ZXIsXG4gICAgYTphY3RpdmUge1xuICAgICAgY29sb3I6JGJyYW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjokYnJhbmQtY29sb3I7XG4gICAgfVxuICB9XG5cbn1cblxuLnRhYmxlLWFkbWluLWJvYXJkIHtcbiAgdHIgPnRkOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDozMyU7XG4gICAgY29sb3I6bGlnaHRlbigkYmFzZS1jb2xvciw0MCUpO1xuICB9XG4gIHRyID50ZDpudGgtY2hpbGQoMm4pIHtcbiAgICB3aWR0aDo2NiU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aGluO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJEhvbWVwYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNpbmRleCB7XG4gIHNlY3Rpb24uY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7Ly81MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5uZXdzLXNwb3RsaWdodC1ob2xkZXIsXG4uZXZlbnRzLXNwb3RsaWdodC1ob2xkZXIge1xuICBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxuICB1bCB7XG4gICAgQGV4dGVuZCAubGlzdC11bnN0eWxlZDtcbiAgfVxufVxuXG4ubmV3cy1zcG90bGlnaHQtaG9sZGVyIHtcbiAgQGV4dGVuZCAuY29sLXhzLTEyLCAuY29sLW1kLTQ7XG59XG4uZXZlbnRzLXNwb3RsaWdodC1ob2xkZXIge1xuICBAZXh0ZW5kIC5jb2wteHMtMTIsIC5jb2wtbWQtNztcbiAgYmFja2dyb3VuZDokd2hpdGU7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OjA7XG4gICAgYm9yZGVyLXRvcDoxcHggZG90dGVkICNjY2M7XG4gIH1cblxuICB1bCB7XG4gICAgQGV4dGVuZCAucm93O1xuICAgIGxpIHtcbiAgICAgIEBleHRlbmQgLmNvbC14cy0xMjtcbiAgICAgIG1pbi1oZWlnaHQ6MTgwcHg7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cblxufVxuLmhvbWVwYWdlLXNwb3RsaWdodCB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3BhY2l0eTowO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDFzKTtcbiAgJi5hY3RpdmUge1xuICAgIHRvcDowO1xuICAgIG9wYWNpdHk6MTtcbiAgfVxuICBhIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBsZWZ0OjEwcHg7XG4gICAgdG9wOjEwcHg7XG4gICAgcmlnaHQ6MTBweDtcbiAgICBib3R0b206MTBweDtcbiAgICBwYWRkaW5nOiAwIDI5MHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOjA7XG4gIH1cblxuICBhIC5kYXRlIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGNvbG9yOmRhcmtlbigkYnJhbmQtY29sb3IsLjcpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICBhIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiRibGFjaztcbiAgICBkaXNwbGF5OmJsb2NrO1xuICB9XG4gIGEgLmZvb3Rub3RlIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjokZGFyay1ncmV5O1xuICB9XG5cbiAgYTpob3ZlciAudGl0bGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOmJsdWU7XG4gIH1cbn1cbi5lYWVzLWxpc3Qge1xuICBmb250LWZhbWlseTokZm9udC1zZWNvbmRhcnk7XG59XG4ucHJvdG9jb2wtc3BvdGxpZ2h0IHtcbiAgQGV4dGVuZCAuaG9tZXBhZ2Utc3BvdGxpZ2h0O1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgdG9wOjIwcHg7XG4gIG1hcmdpbjoyMHB4IDA7XG4gIGhlaWdodDoxMDBweDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gIGJveC1zaGFkb3c6MCA1cHggMjBweCByZ2JhKDAsMCwwLC4xKTtcbiAgYSB7XG4gICAgcGFkZGluZzogMCAxMDBweCAwIDA7XG4gIH1cblxuICAmLmVhZXMtc3BvdGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBpbWFnZTogIHVybCgvYXNzZXRzL2ltZy9lYWVzX2xvZ28ucG5nKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgaHNsYSgxMywgMjQlLCA1NCUsIDAuNiksICNGOUZCRTcpO1xuICAgICAgcG9zaXRpb246IDk1JSA1MCU7XG4gICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbiAgJi5lc3Blcy1zcG90bGlnaHQge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltZy9lc3Blc19sb2dvLnBuZykgOTUlIDUwJSAvIDIwJSBhdXRvIG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgcmdiYSgyMDAsMjAwLDIwMCwwLjYpLCAjZmZmKTtcbiAgfVxufVxuLmNvbmdyZXNzLXNwb3RsaWdodCB7XG4gIEBleHRlbmQgLmhvbWVwYWdlLXNwb3RsaWdodDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHRvcDoyMHB4O1xuICBtYXJnaW46LTEyMHB4IDE1JSAyMHB4IDE1JTtcbiAgaGVpZ2h0OjEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZWZjYzAzIHVybCgvYXNzZXRzL2ltZy9jb25ncmVzc28yMDE2LnBuZykgMTEwJSAtMzVweCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMzAwcHg7XG59XG5cbi5jb25ncmVzcy1pbnRybyB7XG4gIEBleHRlbmQgLnJvdztcbiAgbWFyZ2luLXRvcDozcmVtO1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO1xufVxuXG4uY29uZ3Jlc3MtY2FyZC1ob2xkZXIge1xuICBAZXh0ZW5kIC5yb3c7XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cbi5jb25ncmVzcy1jYXJkIHtcbiAgQGV4dGVuZCAuY29sLXNtLTEyO1xuICBAZXh0ZW5kIC5jb2wtbWQtMztcblxuICAmLmNvbmdyZXNzLWNhcmQtZmlyc3Qge1xuICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICBAZXh0ZW5kIC5jb2wtbWQtNjtcbiAgICAuY29uZ3Jlc3MtY2FyZC1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgxMjcsMTI3LDEyNywuMik7XG4gICAgICAuY29sb3JpemVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bnRoLWNoaWxkKDNuKSAuY29uZ3Jlc3MtY2FyZC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOmhzbGEoMCw1MCUsNTAlLDAuMik7XG4gIH1cblxuICAuY29uZ3Jlc3MtY2FyZC1jb250ZW50IHtcbiAgICBoZWlnaHQ6NDB2aDtcbiAgICBwYWRkaW5nOjJlbTtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMHB4IDEwcHggcmdiYSgxODAsMTgwLDE4MCwuMiksXG4gICAgICAwIDEwcHggMjBweCByZ2JhKDE4MCwxODAsMTgwLC4xKSxcbiAgICAgIDAgMjBweCAzMHB4IHJnYmEoMTgwLDE4MCwxODAsLjEpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6aHNsYSg2MCwzMCUsNTAlLDAuMik7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW47XG4gICAgdHJhbnNmb3JtOnNjYWxlKDEpO1xuXG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDowO1xuICAgICAgdG9wOjA7XG4gICAgICByaWdodDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgfVxuXG4gICAgLmNvbG9yaXplciB7XG4gICAgICBiYWNrZ3JvdW5kOnVybCgvYXNzZXRzL2ltZy9jb25ncmVzc28yMDE2LnBuZykgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHRvcDowO1xuICAgICAgYm90dG9tOjA7XG4gICAgICByaWdodDowO1xuICAgICAgb3BhY2l0eTouNTtcbiAgICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwcHggMTBweCByZ2JhKDE4MCwxODAsMTgwLC40KSxcbiAgICAgICAgMCAxMHB4IDIwcHggcmdiYSgxODAsMTgwLDE4MCwuMyksXG4gICAgICAgIDAgMjBweCAzMHB4IHJnYmEoMTgwLDE4MCwxODAsLjMpO1xuICAgICAgdHJhbnNmb3JtOnNjYWxlKDEuMDUpO1xuICAgICAgLmNvbG9yaXplciB7XG4gICAgICAgIG9wYWNpdHk6LjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbmdyZXNzLWNhcmQtdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OjFlbTtcbiAgICBib3R0b206MmVtO1xuICAgIGZvbnQtZmFtaWx5OiRmb250LXNlY29uZGFyeTtcbiAgICBmb250LXNpemU6JGg0LWZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OjEwMDA7XG4gIH1cbiAgLmNvbmdyZXNzLWNhcmQtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIHRvcDowO1xuICAgIGJvdHRvbTowO1xuICAgIHotaW5kZXg6MTAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBib3JkZXI6MDtcblxuICAgID5zcGFuIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgYm90dG9tOjFlbTtcbiAgICAgIGxlZnQ6MS41ZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJEFib3V0IC8gaGlzdG9yeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250ZW50LWZvdW5kZXJzIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggI2VlZTtcbiAgYm9yZGVyOjFweCBzb2xpZCAjZWVlO1xuICBib3JkZXItd2lkdGg6MXB4IDA7XG59XG4uZm91bmRlci1saXN0IHtcbiAgQGV4dGVuZCAubGlzdC11bnN0eWxlZDtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgbGkge1xuICAgIG1hcmdpbjowIDEuNWVtO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXG4gICAgaDMscCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MFxuICAgIH1cbiAgfVxufVxuXG5cbi50aHVtYm5haWwtcm91bmRlZC51c2VyIGltZyB7XG4gIHdpZHRoOjEwMHB4O1xuICBoZWlnaHQ6MTAwcHg7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMXB4IHJnYmEoNDAsNDAsNDAsLjIpO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKSBzZXBpYSguMSk7XG59XG4udXNlciBpbWcge1xuICBiYWNrZ3JvdW5kOiA1MCUgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFBQUFRQUJBQUQvL2dBN1ExSkZRVlJQVWpvZ1oyUXRhbkJsWnlCMk1TNHdJQ2gxYzJsdVp5QkpTa2NnU2xCRlJ5QjJOaklwTENCeGRXRnNhWFI1SUQwZ09UQUsvOXNBUXdBREFnSURBZ0lEQXdNREJBTURCQVVJQlFVRUJBVUtCd2NHQ0F3S0RBd0xDZ3NMRFE0U0VBME9FUTRMQ3hBV0VCRVRGQlVWRlF3UEZ4Z1dGQmdTRkJVVS85c0FRd0VEQkFRRkJBVUpCUVVKRkEwTERSUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVLzhBQUVRZ0JFd0VUQXdFaUFBSVJBUU1SQWYvRUFCOEFBQUVGQVFFQkFRRUJBQUFBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUUFBSUJBd01DQkFNRkJRUUVBQUFCZlFFQ0F3QUVFUVVTSVRGQkJoTlJZUWNpY1JReWdaR2hDQ05Dc2NFVlV0SHdKRE5pY29JSkNoWVhHQmthSlNZbktDa3FORFUyTnpnNU9rTkVSVVpIU0VsS1UxUlZWbGRZV1ZwalpHVm1aMmhwYW5OMGRYWjNlSGw2ZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJoNHVQazVlYm42T25xOGZMejlQWDI5L2o1K3YvRUFCOEJBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUkFBSUJBZ1FFQXdRSEJRUUVBQUVDZHdBQkFnTVJCQVVoTVFZU1FWRUhZWEVUSWpLQkNCUkNrYUd4d1Frak0xTHdGV0p5MFFvV0pEVGhKZkVYR0JrYUppY29LU28xTmpjNE9UcERSRVZHUjBoSlNsTlVWVlpYV0ZsYVkyUmxabWRvYVdwemRIVjJkM2g1ZW9LRGhJV0doNGlKaXBLVGxKV1dsNWlabXFLanBLV21wNmlwcXJLenRMVzJ0N2k1dXNMRHhNWEd4OGpKeXRMVDFOWFcxOWpaMnVMajVPWG01K2pwNnZMejlQWDI5L2o1K3YvYUFBd0RBUUFDRVFNUkFEOEEvVFQ4S1hyMm9vNDlxQUNrL0NqaWxvQUtUOEtYajJvb0FLVDhLWHJSUUFVbjRVdEp4UUF0SitGSDhOTFFBVW40Vm1hMzRtMHp3OUZ2djd0SUNSbFk4NWR2b281cnp6V2ZqWTJXVFNyQVk3VFhSLzhBWlFmNjBBZXJOVFpabzRWM1NPcUw2c2NDdm5uVXZpRDRnMVFuemRTbWlVL3dRZnV4L3dDTzQvV3NHYTRsdUhMU3lQSzUvaWRpVFFCOUx2NGcwdU1rUHFOb3AvMnAxSDlhV1BYdE5sSUNhamFPZlJaMVA5YStaS0tBUHFoSkZsWGNqQmxQZFRrVXJWOHQyOTNQWnZ2Z21rZ2IrOUd4VS9wWFE2YjhTUEVPbUViZFFlNFFmd1hJRW1meFBQNjBBZlFsRmVYNko4YTRaQ3NlcTJSaFBReld4M0wvQU44bmtmbWE5QjBuWExEWExmenJDNmp1WSsrdzhyOVIxSDQwQVg2S1RpbG9BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBRTNVdEZGQUNmaFJTMFVBRkZKdG8yMEFMUlNiYU50QUMwVVVVQUZGSnRvMjBBTFJTYmFOdEFCd0J6aXZMZkhIeFhNRWtsam9qS1dYNVh2T296NkovaitYclY3NHNlTWpwVm1OSnRKTnQxY0xtWjFQS1JudDlUL0FDK3RlTVk5NkFKYm00bXZKMm1ubGVhVnpsbmtZc1NmY21vOENrMjB1UGVnQmFUbjJwTWU5TGozb0FXazU5cU1lOUdQZWdBd0tXa3g3MGhHS0FIVllzTlJ1dEt1VnVMUzRlM21Ybzhad2Y4QTYvMHF0ajNvd0tBUGFQQW54UVRXNUk3RFZBc044M0VjdzRTVSttT3pmb2YwcjBPdmxSU1ZJWlNRUnlDTzFlOC9EWHhoL3dBSk5wSmh1WHpxRnFBc2hQVjE3UDhBMFB2OWFBT3lvcE50RzJnQmFNY1VtMmxvQUtUYlJ0bzIwQUcyamJSdG8yMEFHMmxvcEdvQU50RkcyaWdCYUtUZFMwQUZGSnVwYUFDaWszVXRBQ0g2MHRGRkFDYzFCcUY3SHB0aGNYY3h4RkJHWkcrZ0dhbjNWeFB4ZDFJMlhoQjRRMkd1cFVpNDY0KzhmL1FmMW9BOFgxalZKdGIxTzV2cHptV2R5eDloMkE5Z01EOEtwYmFkUlFBM0hORzJuVVVBTjIwdUJSejdVdEFEZHRMZ1V0RkFDWUZMUlJRQTNiUnRwMUoxRkFEYTIvQ0d2djRhMSsxdlFUNVFiWk1vN29lditQMUFySG9vQStxRVlTS0dWZ1ZJeUNPOU9ybmZoOXFKMVB3ZnBrcGJMckg1VGV1Vk8zK1FGZER1b0FXazVwYUtBQ2puMm9wTjFBQnpSK05HNmpkUUFjMHRKdW8zVUFMZyt0RkprK2xGQUJuaWxvb3lLQUUvaHBlZmFpazNVQUc2amRTMFVBSnVwYUtLQUN2Si9qamRuek5KdFIwQWtrSS83NUEva2E5WC9pcnh6NDNBL3dCdGFjZTMyY2ovQU1lTkFIbkdSUmtVWkZMUUFVbVJSMEZBT2FBRElveUtXa3lLQURJcGFUajJvNDlxQURJb3lLV2s0OXFBRElveUtXaWdCTWlqSXBhVElvQTltK0NsNFpmRDk1Yms1OHE0eVBveWorb05laWJxOHgrQm9JczlXUFl5UmdmazFlbmNVQUc2ak9PS1dpZ0JOMUc2bG9vQVRkUnVvM1V0QUNicU4xTFJRQVVVVVVBSnVwYVRiUnRvQVdrM1ViYU50QUFEUzBtMmpITkFDMFVtMmpiUUF0ZVRmSEtERXVqekR1c3FIOE5wSDh6WHJHMnVDK011bmZhdkMwVnlCbHJXZFNUNksyVlA2N2FBUEVzaWpJb3dLTUNnQmFUSW93S01DZ0JhVElvd0tNQ2dBeUtXa0FGR0JRQVpGR1JSZ1VZRkFCa1VaRkdCUmdVQUdSUmtVWUZHQlFCN1A4RTRObmg2OW14OSs2Sy9raS80MTZKWExmRExUdjdQOEdhZmtZZVlOTzN2dUp4LzQ3dHJxTnRBQzBtNmxwTWMwQUxSU2JhTnRBQzBVVW1BYUFGb3BNY1ViYUFEZFJSZ1VVQUxTYmFXaWdCTnRHMmxvb0FRQ2pITkhOTFFBbTJqYlMwVUFKdHJJOFc2ZC9hdmhqVkxYRzVudDJLajFZRGN2NmdWc1VnL09nRDVXb3E5cituSFNkY3Y3UEdCQk84YS9RRTQvVEZVTUNnQmFLS0tBQ2lpaWdBb29vb0FiK2RPcE1DakFvQVdtL25UcUtBRy9uVWtFTDNFMGNVWTNQSXdWUjZrbkFwbUJYUi9EdlQvQU8wdkdlbVJrWldPVHptOVBrQmIrWUZBSDBEWjJpMk5wQmJSL3dDcmdqV05mb29BSDhxbTIwdEZBQ2JhTnRITkxRQW0ybG9vb0FUYlJ0cGFUNzFBQmcrdEcybG9vQWIrRkZMelJRQXRGRkZBQ0xSK0ZMUlFBbjRVZnhVdEZBQ2JxTjFMU2JxQUZxcHF1b3g2VHBsMWV5ajkzQkcwaEhyZ2RQeHEzWEZmRjI4TnI0TmxRSEgyaVpJai93Q2hmK3kwQWVJNmhmemFwZlQzZHcyK2FaeTdIM0pxQ2lrSFNnQmFLS1E5S0FGb29vb0FLS1RBbzZpZ0JhS1RxS1dnQW9vcE8xQUMxcGVHdGJsOE82M2FYOFpPSW5HOVIvRWg0WWZsV1oycGFBUHFlS1JKbzBrUTcwWUJsWWRDRFQ2NTc0ZjNodnZCdWxTc2NzSXZMei91a3IvU3VnM1VBTFJSUlFBbjRVdEovRlMwQUorRkxTWkZMUUFVVW5GTFFBbVQ2VVV0RkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVjUvOGFVTGVGclpoMFc3WFAvZkQxNkJYTC9FclRUcVhnelVGVVplRlJPQi91a0UvK083cUFQbjJpbS9sU2pyMm9BV2ltL2xSK1ZBRHFLYitWSDVVQU9vcHY1VWZsUUE2aW0vbFIrVkFEcVFkS1Q4cVh0Mm9BTzFMVGZ5by9LZ0Q2QStGcUZQQTJuWjdtUWo2ZVkxZFpXWjRZMDA2UjRkMDZ6WWJYaWdRT1BSc1piOVNhMDZBQ2lqajJvb0FLS09QYWthZ0JhS1Q4YU9LQUZvb3BHb0FXaWt3S0tBRm9vby9DZ0FvcFB3by9DZ0JhS1B3by9DZ0JPYVdrL0NqOEtBRnByeHBJakpJb2tqWUZXVTlDRHdSUy9oUzBBZk5uaXp3OUw0WTE2NnNKTWxFYmRFNS9qalBLdCtYNjVySHdLK2hmSG5naFBHdW1Lc1pXTFVyY0UyOGpjQngzamIyUFk5alhnV29hZmM2VGVTMnQ1QTl2Y1JIRFJ1TUVmNTlhQUsrQlJnVXRGQUNZRkxSVEtBSDBtQlMwVUFGRkZKM29BTUNqdFMwVUFKMnJxdmh0NGFieEg0bWdEcHVzN1VpZWNucGdIaGZ4T0I5TTFpYUhvTjk0ajFDT3lzTGRwNW42NDZLUFZqMkZmUW5oVHdyYmVEOUhXeGdJbG1ZNzdpY0QvV1A3ZXc2RC82OUFHd1NTYzk2S0tLQUNpay9DbC9DZ0Fvb29vQUtLS1QrS2dCYUtQd28vQ2dBNTlxS09mU2lnQk9LTnc5YU9hV2dBb29vNTlxQUNrL0dsNTlxS0FFYWxvb29BS0tLVCtHZ0JlbGNMOGFMQVgvaGVPN01hbWUwbVg5N2o1dGpaVWpQcGtyWGM4MWorTXJMKzBmQ21yUVl5VGJ1eWoxS2pjUDFBb0ErYnFLVElveUtBRm9wTWlqUHZRQXRGSmtVZDZBRm9wTWlsb0FUbjJwYVRQR2FkR2hsZFVYbG1JQUhxYUFQb1A0WldBMHJ3VllxcUxITGNxWnBYQy9NKzRrcmsvN3VLNmFvTEsxRmpaVzlzbjNJSTFpR1BSUUIvU3A2QUNpaWlnQW9vbzU5cUFDaWlpZ0Fvb29vQUtUOGFXaWdCT0tLWG4yb29BS0tLUHhvQUtLVHQxcGFBQ2lrV2xvQUtLS1Q4YUFEK0tsb29vQUthOGF5b3lNTXF3SUk5cWRSUUI4c1hNSnRybVdKdnZSdVVQMUJ4VWZIdFdyNHJoOGp4UHF5RG90M0xqNmJ6V1hRQWg2VWNlMUI2VXRBQ2NlMUxSUlFBbjQwY2UxTFJRQVZxK0ViWVh2aWpTb1NNaHJtUEk5Z3dKL1FWbFYwL3dBTVloTjQ0MHdIb0M3ZmxHeG9BK2c2S0tLQUNpajhhS0FDay9ocGFLQUNpaWlnQW9wUHhwYUFDaWlpZ0Fvb29vQUtLS0tBQ2lrL2hwYUFDaWlpZ0Fvb29vQUtUK0dsb29BVGJRdExSUUI4MitOU0c4WGF1Ui96OVNmK2hHc1hiVjdYTHNYMnRYOXlEbFpyaVNRSDJMRTFUb0FUQW80OXFXaWdCTUNqQXBhVEFvQU1DbG9vb0FUQXJydmhSZ2VPTEgzV1QvMEJxNUt1ZytIMTJMUHhucFVoT0FaZkwvNzZCWCt0QUgwVC9EUzBVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFuNFVVdEZBQ05TMFVuOE5BQzBVVVVBRkZGRkFCUlJSUUFVZHVsRkovRFFBb0ZjL3dDT3RlWHc5NFp2TGpjRm1kVEZDTzVkdUIrWEovQ3REV3Rkc2ZEOW0xemZUckJIMkIrODU5RkhjMTRQNDI4WnorTDlSRWhVeFdjV1JCRG5wNmsrNW9BNXYrS2x5S00rMUg0VUFMUlNaOXFPM1NnQTQ5cVdrQnpSK0ZBRGFYZFM1Rkg0VUFOcVdDZDdhZU9XTTdaSTJEcTNvUWNnMHpJb3o3VUFmVGVoYXZGcjJqMnQ5Q1JzbVFNUVA0VzdqOERrVm9WNEw4UHZIcitFN2hyZTVEUzZiTTJXVmVzYmYzaC9VVjdocDJwV3VyV3FYTm5PbHhBL1IwT1Ivd0RXUHRRQloyMHRGRkFCUlJSUUFVVVVVQUp0b3g3VXRGQUNmaFMvaFJSUUFZOXFLS0tBQ2lpaWdBb29vb0FLS0tSbUNBc3hBQTVKSm9BV2l1WjFuNGk2RG9vSWt2bHVKUi95eXR2M2gvTWNEOFRYQmE1OGFiNjUzUjZYYXBacDBFc3Z6djhBZ09nL1dnRDFxLzFLMTB1M2FlN3VJN2FFZFhrWUFWNXg0bCtNMFVRZUhSWWZPZnA5cG5HRkgrNnZVL2pqNlY1ZHFPcTNtcnptYTl1WmJtWCs5STJjZlQwL0NxMUFGclU5V3ZOYXVtdUwyNGU1bVA4QUU1NkQwQTZBZXdxbFQ2S0FHVStpaWdBb29wT29vQVdpaWsvR2dCYUtLS0FDaWlpZ0FyUTBUeERxSGgyNTgrd3VYZ1kvZVVjcTNzUjBOWjlKM29BOWs4TmZHT3l2UXNPclIvWVp1bm5SZ3RHZnIzWDlmclhvTnJkd1gwQ3pXODBjOFRmZGVOZ3dQNGl2bHVydWxhNWY2Sk41dGhkeTJyZDlqY045UjBQNDBBZlR0RmVRYUo4YXJxRGJIcWxtbHluZVdBN0cvSThIOUs3dlNQaUhvT3M3UkhmcEJLZitXVnorN2I5ZUQrQm9BNlNpa1Znd0JVNUI1QkJ6UzBBRkl0TFJRQVVValV0QUNjMFV0RkFCVUZ6ZjIxa3ViaTRoZ0hySzRYK2RmTlZ4NGgxUzcvMTJwWGNvUFo1MlA5YW9NeFk1SkpQY21nRDZJdmZpSDRkc01oOVZoa1lkb2N5ZitnZzF6dW9mR3pTNEFSYVdWemRNTzc0alUvelA2VjR2VHVmYWdEdnRTK00yczNZSzJrVnZZcjJJWGUzNW5qOUs1SFUvRU9wNjBTYjIrbnVSMTJ1NTJqL2dQUVZRcGxBRDZLYnpUcUFDazdVdEZBQlJTZmhTMEFGSng3VUhwUzBBSmtVdEZGQUNaRkxUS2ZRQVVVbmVsb0FLS0tRREZBQjJwYVpUNkFDaWlpZ0Fvb3BQd29BME5NOFFhbG83WnNyNmUySDkxSE8zOFIwTmRYcDN4ajF5MEFGeXR2Zkw2dW14dnpYajlLNFdrNkNnRDJLdytOMWhMZ1htbnoyNTlZbUVnL1hGZERaZkV6dzVlNEExRllXUDhNNk1tUHhJeCt0ZlB0SitGQUgwOWFhenA5OEI5bXZyYTR6L0FNOHBWYitScTdYeXJWbTMxVzl0TWVSZDNFUC9BRnpsWmY1R2dENmhvcjV1ajhXNjVzSC9BQk9MNy93SWIvR2lnREdvcGxPd0tBRm9wTUNrMjBBT29wTUNqQW9BV2ltN2FYQW9BV2lrd0tNQ2dCYUtUQW93S0FGb3BNQ2pBb0FNaWxwTUNqQW9BV2lrd0tNQ2dCYUtUQW93S0FGb3BNQ2pBb0FXazcwMm5ZRkFDMFVtQlJnVUFMUlNZRkdCUUF0RkpnVVlGQUMwVW1CU2JhQUhVVW1CUzBBU0o5MFVVSjkwVVVBUjB5bjBVQU1wOUZGQUNaRkxUS2ZRQVVVbmVqQW9BV2lpa3p4bWdCYUtLS0FFeUtXaWlnQmxGUHBNaWdCYUtLS0FFNmlrL2lwY2lsb0FLVHRTMFVBRkZGRkFES2ZSU1o0elFBdEZGRkFCVEtmUlFBVVVVVUFKeDdVWkZMU2RxQUpVKzZLS2NuM0JSUUJmK3dRZjg4LzFOUDhBN1B0LytlWS9NMFVVQU0rd1FmOEFQUDhBVTBmWUlQOEFubitwb29vQVBzRUgvUFA5VFQvN1B0LytlWS9NMFVVQUg5bjIvd0R6ekg1bW1mWUlQK2VmNm1paWdCLzluMi8vQUR6SDVtait6N2YvQUo1ajh6UlJRQWZZSVA4QW5uK3BvL3MrMy81NWo4elJSUUFmMmZiL0FQUE1mbWFQN1B0LytlWS9NMFVVQUgyQ0Qvbm4rcG8vcyszL0FPZVkvTTBVVUFIOW4yLy9BRHpINW1qK3o3Zi9BSjVqOHpSUlFBZllJUDhBbm4rcG8rd1FmODgvMU5GRkFCOWdnLzU1L3FhUDdQdC8rZVkvTTBVVUFIOW4yLzhBenpINW1qN0JCL3p6L1UwVVVBSDluMi8vQUR6SDVtait6N2YvQUo1ajh6UlJRQWYyZmIvODh4K1pvK3dRZjg4LzFORkZBQi9aOXY4QTg4eCtacG4yQ0Qvbm4rcG9vb0FmL1o5di93QTh4K1pvL3MrMy93Q2VZL00wVVVBSDluMi8vUE1mbWFQN1B0LytlWS9NMFVVQU9TeGcyRDVQMU5GRkZBSC8yUT09Jyk7XG59XG4udXNlcl9jYXJsb3NfdmF6IGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9jYXJsb3NfdmF6LnBuZyk7fVxuLnVzZXJfcnVpX29saXZlaXJhIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9ydWlfb2xpdmVpcmEuanBnKTt9XG4udXNlcl9ub3ZvX21hdG9zIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9ub3ZvbWF0b3MuanBnKTt9XG4udXNlcl9sZW9ub3JfbWFuYWNhcyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvbGVvbm9yX21hbmFjYXMuanBnKTt9XG4udXNlcl9qb3NlX2Nhc3RybyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvam9zZV9jYXN0cm8uanBnKTt9XG4udXNlcl9qb2FxdWltX2Nvc3RhX3BlcmVpcmEgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2pvYXF1aW1fY29zdGFfcGVyZWlyYS5wbmcpO31cbi51c2VyX2dpbF9nb25jYWx2ZXMgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2dpbF9nb25jYWx2ZXMucG5nKTt9XG4udXNlcl9qb2FvX2NvdXRpbmhvIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9qb2FvX2NvdXRpbmhvLnBuZyk7fVxuLnVzZXJfZmVybmFuZG9fcGFsbWFfbWFydGVsbyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3MvZmVybmFuZG9fcGFsbWFfbWFydGVsby5wbmcpO31cbi51c2VyX2pvcmdlX2NvcnJlaWFfcGludG8gaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2pvcmdlX2NvcnJlaWFfcGludG8ucG5nKTt9XG4udXNlcl9ydWlfbWFjaGFkbyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3MvcnVpX21hY2hhZG8ucG5nKTt9XG4udXNlcl9rcmlzX21hZXMgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2tyaXNfbWFlcy5wbmcpO31cbi51c2VyX2pvcmdlX2NhbmVuYSBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3Mvam9yZ2VfY2FuZW5hLnBuZyk7fVxuLnVzZXJfc3VzYW5hX2NvdXRpbmhvIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9zdXNhbmFfY291dGluaG8ucG5nKTt9XG4udXNlcl9wYXVsb19tb3JnYWRvIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9wYXVsb19tb3JnYWRvLnBuZyk7fVxuLnVzZXJfZXN0ZXZhb19saW1hIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9lc3RldmFvX2xpbWEucG5nKTt9XG4udXNlcl9oZWxkZXJfZmVycmVpcmEgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2hlbGRlcl9mZXJyZWlyYS5wbmcpO31cbi51c2VyX2pvYW9fbW9yZWlyYV9waW50byBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3Mvam9hb19tb3JlaXJhX3BpbnRvLnBuZyk7fVxuLnVzZXJfbHVpc19sb3BlcyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3MvbHVpc19sb3Blcy5wbmcpO31cbi51c2VyX2x1aXNfY291Y2Vpcm8gaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL3VzZXI3LmpwZz9pPTUpO31cbi51c2VyX2phaW1lX3ZpbGFjYSBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvdXNlcjguanBnP2k9NSk7fVxuLnVzZXJfcnVpX21lbmRlcyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvdXNlcjkuanBnP2k9NSk7fVxuLnVzZXJfaHVtYmVydG9fY3Jpc3Rpbm8gaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL3VzZXIxMC5qcGc/aT01KTt9XG4udXNlcl9tYXJpb19tYXJjb3MgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL3VzZXIxMS5qcGc/aT01KTt9XG4udXNlcl9hbmFfcG92byBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvYW5hX3Bvdm8uanBnKTt9XG4udXNlcl9jYXJsb3NfbHV6IGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9jYXJsb3NfbHV6LmpwZyk7fVxuLnVzZXJfY3Jpc3RpbmFfbm9ndWVpcmFfc2lsdmEgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2NyaXN0aW5hX25vZ3VlaXJhX3NpbHZhLmpwZyk7fVxuXG4udXNlcl9udW5vX3NpbHZhIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9udW5vX3NpbHZhLmpwZyk7IH1cbi51c2VyX2ZyYW5jaXNjb19jYWJyYWwgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2ZyYW5jaXNjb19jYWJyYWwuanBnKTsgfVxuLnVzZXJfbHVjaWFfbW9sZWlybyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3MvbHVjaWFfbW9sZWlyby5qcGcpOyB9XG4udXNlcl9pbmVzX3Blc3NhbmhhIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9pbmVzX3Blc3NhbmhhLmpwZyk7IH1cbi51c2VyX2NsYXVkaW9fc2lsdmEgaW1nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9kb2NzL2NsYXVkaW9fc2lsdmEuanBnKTsgfVxuLnVzZXJfdGlhZ29fbWVuZXNlcyBpbWcgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2RvY3MvdGlhZ29fbWVuZXNlcy5qcGcpOyB9XG4udXNlcl9tYXJ0YV9tb3JlaXJhIGltZyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZG9jcy9tYXJ0YV9tb3JlaXJhLmpwZyk7IH1cblxuc2VjdGlvbi5tYW5hZ2VtZW50IHtcbiAgQGV4dGVuZCAud2VsbDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzowIDE5cHg7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogMCAwIDQwcHggLTEwcHggcmdiYSgxODAsMTgwLDE4MCwuNSk7XG4gIC8vIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kLWNvbG9yLDM1JSk7XG5cbiAgPmgzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgLy8gYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgODklLCAwLjE1KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsYSgwLCAwJSwgOTQlLCAxKTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAkTGVhcm5pbmcgLyBWaWRlb3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udmlkZW8tbGlzdCB7XG4gIEBleHRlbmQgLnJvdywgLmxpc3QtdW5zdHlsZWQ7XG5cbiAgPmxpIHtcbiAgICBAZXh0ZW5kIC5jb2wteHMtMTIsIC5jb2wtc20tNiwgLmNvbC1tZC0zO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICBoZWlnaHQ6NDAwcHg7XG4gICAgfVxuICB9XG59XG51bC5ldmVudHMtbGlzdCB7XG4gIEBleHRlbmQgLnJvdywgLmxpc3QtdW5zdHlsZWQ7XG4gIGxpIHtcbiAgICBAZXh0ZW5kIC5jb2wteHMtMTIsLmNvbC1zbS02O1xuICAgIG1pbi1oZWlnaHQ6MTgwcHg7XG4gIH1cbn1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJFRlc3RpbW9uaWFsc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ldmVudC1ob2xkZXIge1xuICBAZXh0ZW5kIC5yb3c7XG4gIG1hcmdpbjoxZW0gMDtcbiAgcGFkZGluZzouNWVtO1xufVxuLmV2ZW50LWhvbGRlci1kYXRlIHtcbiAgQGV4dGVuZCAuY29sLXhzLTEsLmNvbC1zbS0yO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG4gIGZvbnQtc2l6ZToxNHB4O1xuICBjb2xvcjogJGRhcmstZ3JleTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIC8vIGJveC1zaGFkb3c6IDAgMCA0N3B4IC0xOXB4ICMwMDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgNHB4IDM1cHggLTE2cHggIzAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAtNnB4IC0xNHB4IDNweCAtMTRweDtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjcsMTI3LDEyNywuMSk7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG4gIH1cbn1cbi5ldmVudC1ob2xkZXItdGV4dCB7XG4gIEBleHRlbmQgLmNvbC14cy0xMCwuY29sLXNtLTg7XG4gIGZvbnQtc2l6ZToxNHB4O1xufVxuLmV2ZW50LWhvbGRlci1sb2NhdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgY29sb3I6JGJsYWNrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQkVGVzdGltb25pYWxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlc3RpbW9uaWFsIHtcblxuICBtYXJnaW46IDQwcHggMDtcblxuICBwIHtcbiAgICAvL2NvbG9yOiAkd2hpdGU7XG4gICAgZm9udDogaXRhbGljIDI0cHggJGZvbnQtYWNjZW50O1xuICB9XG4gIGNpdGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogJHNlbWlib2xkO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQkU2VhcmNoIGZvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zZWFyY2gge1xuICBmb250LWZhbWlseTokZm9udC1zZWNvbmRhcnk7XG4gIHBhZGRpbmc6MCAxNXB4IDAgMDtcbiAgbWFyZ2luOjIwcHggMDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYztcbiAgcCB7XG4gICAgY29sb3I6cmdiYSgwLDAsMCwuOCk7XG4gICAgbWFyZ2luOjA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHggO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiRicmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICRicmFuZC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDEwcHggNXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQkVGh1bWJuYWlsc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRodW1ibmFpbCB7XG4gIGJvcmRlci13aWR0aDowO1xuICBib3JkZXItcmFkaXVzOjA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICYtcm91bmRlZCB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOjE1MHB4O1xuICAgICAgaGVpZ2h0OjE1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czo1MCU7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgfVxuXG4gIC5jYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzowO1xuICB9XG5cbiAgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6MS41O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdCRTaWRlYmFyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpZGViYXIge1xuICBAZXh0ZW5kIC5jb2wtbWQtMywgLmNvbC1tZC1vZmZzZXQtMSwgLmNvbC1tZC1wdXNoLTgsIC5saXN0LXVuc3R5bGVkO1xuICBib3JkZXItbGVmdDoxcHggc29saWQgI2NjYztcbiAgbWFyZ2luLXRvcDo1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBtaW4taGVpZ2h0OjIwMHB4O1xuICB9XG5cblxuICBsaSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDotMnB4O1xuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDokbGlnaHQ7XG4gICAgICBmb250LXNpemU6MTJweDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywxMjcsMTI3LC4yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItbGVmdDo0cHggc29saWQgIzQ0NDtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiM0NDQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOjA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICRTcGVjaWFsaXN0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcGVjaWFsaXN0LXNlYXJjaCB7XG4gIHVsIHtcbiAgICBAZXh0ZW5kIC5saXN0LXVuc3R5bGVkLCAucm93O1xuICAgIG1hcmdpbi1sZWZ0Oi0zMHB4O1xuICB9XG4gIGxpIHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tMTIsIC5jb2wtbWQtMztcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206M2VtO1xuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIEBleHRlbmQgLmJ0biwgLmJ0bi1wcmltYXJ5LCAuYnRuLXNtLCAuYnRuLWJsb2NrO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgICAgbWFyZ2luLXRvcDoyZW07XG4gICAgfVxuICB9XG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJE5ld3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubmV3cy1saXN0LWhvbGRlciB7XG4gIEBleHRlbmQgLmNvbC1zbS0xMiwgLmNvbC1tZC01O1xufVxuLm5ld3MtbGlzdCB7XG4gIEBleHRlbmQgLmxpc3QtdW5zdHlsZWQ7XG5cbiAgbGkge1xuICAgIEBleHRlbmQgLnJvdztcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAZXh0ZW5kIC5jb2wtbWQtODtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAZXh0ZW5kIC5jb2wtbWQtODtcblxuICAgICAgJi5kYXRlIHtcbiAgICAgICAgQGV4dGVuZCAuc21hbGwsIC5mb250LXNlY29uZGFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIEBleHRlbmQgLmNvbC1tZC0zLCAuY29sLW1kLW9mZnNldC0xXG4gICAgfVxuICB9XG59XG5cbi5uZXdzLWRldGFpbCB7XG4gICAgQGV4dGVuZCAucm93O1xuXG4gICAgJi1jb250YWluZXIge1xuICAgICAgQGV4dGVuZCAuY29sLXNtLTEyLCAuY29sLW1kLTY7XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjouOGVtIDA7XG4gICAgICAgIGJvcmRlcjoxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgICAgcGFkZGluZzogLjNlbSAwO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS0xMjtcbiAgICB9XG59XG5cblxuXG4uZXZlbnQtbGlzdC1ob2xkZXIge1xuICBAZXh0ZW5kIC5jb2wtc20tMTIsIC5jb2wtbWQtNjtcblxuICB1bCB7XG4gICAgQGV4dGVuZCAubGlzdC11bnN0eWxlZDtcbiAgfVxufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJENvbmdyZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jY29uZ3Jlc3MuYWRldGFpbCA+IHNlY3Rpb24uY29udGVudC1maXJzdCB7XG4gIHBhZGRpbmctdG9wOjA7XG59XG4jcHJvZ3JhbWEge1xuICBtYXJnaW4tdG9wOjJlbTtcbn1cbi5zY2hlZHVsZS1kb3dubG9hZC1ob2xkZXIge1xuICBwYWRkaW5nLWxlZnQ6NTBweDtcbn1cbi5jb25ncmVzcy1pbnRybyB7XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgaGVpZ2h0OjMwcHg7XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOjE1cHg7XG4gICAgbGluZS1oZWlnaHQ6MS4zO1xuICB9XG59XG4uY29uZ3Jlc3MtbW9yZS1pbmZvIHtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6NXB4O1xuICBiYWNrZ3JvdW5kOiAjZDllZGY3O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5jY29uZ3Jlc3Mge1xuXG4gIC5hZGV0YWlsIHtcbiAgICAuY29udGVudC1maXJzdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmNvbnRlbnQtZmlyc3Q6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDowO1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMjcsMTI3LDEyNywuNSk7XG4gICAgfVxuICAgIHNlY3Rpb24uY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG4gICAgLmJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDY0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYmFubmVyLXRleHQtaG9sZGVyLWNvbmdyZXNzIHtcbiAgQGV4dGVuZCAucm93O1xuICAuYmFubmVyLWltYWdlIHtcbiAgICBAZXh0ZW5kIC5jb2wteHMtMTIsIC5jb2wtbWQtNjtcbiAgfVxuXG4gIC5iYW5uZXItdGV4dCB7XG4gICAgQGV4dGVuZCAuY29sLXNtLTEyLCAuY29sLW1kLTY7XG5cbiAgICBwIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOnJnYmEoMCwwLDAsLjUgKTtcbiAgICAgIGZvbnQtc2l6ZToxNnB4O1xuXG4gICAgICAmLmJhbm5lci10ZXh0LWRhdGUge1xuICAgICAgICBjb2xvcjokYnJhbmQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGNvbG9yOiAkYmFzZS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdGhpbjtcbiAgICB9XG4gIH1cbn1cblxuLnNwb3QgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6Izk5OTtcbn1cbi5zcG90IHAuc3Vic3BvdCB7XG4gICAgY29sb3I6I2MwMDtcbn1cblxuXG4uc3VibWVudTIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjQwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cbi5zdWJtZW51Mi5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNzBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuLnN1Ym1lbnUyIHVsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xufVxuLnN1Ym1lbnUyIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc3VibWVudTIgbGkgYSB7XG4gICAgcGFkZGluZzoyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXI6IDA7XG59XG4uc3VibWVudTIgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDojZWVlO1xufVxuXG4uZGF0ZS1kYXkge1xuICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5kYXRlLXBlcmlvZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiRibGFjaztcbiAgZm9udC13ZWlnaHQ6ICR0aGluO1xuICBwYWRkaW5nLXRvcDoyMHB4O1xuICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICBkaXNwbGF5OmJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6JGZvbnQtc2Vjb25kYXJ5O1xuICAmLnN0aWNreS5pcy1zdGlja3kge1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIHRvcDo3MHB4O1xuICAgIGJhY2tncm91bmQ6I0ZBRkFFRDtcbiAgICB6LWluZGV4Ojk5ODtcbiAgICBwYWRkaW5nLWxlZnQ6NzBweDtcbiAgICBib3gtc2hhZG93OjAgMnB4IDFweCByZ2JhKDIwMCwyMDAsMjAwLC4yKTtcbiAgfVxuXG4gICYuc3RpY2t5IHtcbiAgICB0b3A6NzBweDtcbiAgfVxufVxuXG4udHJhbnNsYXRpb24ge1xuICBjb2xvcjokYnJhbmQtY29sb3I7XG4gIGZvbnQtc2l6ZToxMnB4O1xufVxuLmV2ZW50LWhvbGRlci1kYXRlIC50cmFuc2xhdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmNvbmdyZXNzLWV2ZW50LWRheSB7XG4gIEBleHRlbmQgLnJvdztcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuLmNvbmdyZXNzLWV2ZW50LWdyb3VwIHtcbiAgQGV4dGVuZCAuZGwtaG9yaXpvbnRhbDtcblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDowO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgbGkge1xuICAgICAgZm9udC13ZWlnaHQ6ICRsaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiMwMDA7XG5cbiAgICB9XG4gIH1cblxuICBkZD51bD5saSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIHAsIGxpLCB0ZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgfVxuXG4gIHAudGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IzMzMztcbiAgfVxuXG4gIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMTRweDtcbiAgICBsaSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgIGNvbG9yOiAjNmM3Mjc5O1xuICAgIH1cbiAgfVxuXG4gIC5saXN0LXNtYWxsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgIGNvbG9yOiAjNmM3Mjc5O1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgfVxuXG4gIGg2IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5uYXZpZ2F0aW9uLFxuICAuY29uZ3Jlc3MtaW50cm8sXG4gIGEuYnRuLFxuICBoMiBhIHtcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudFxuICB9XG4gIC5jY29uZ3Jlc3Mgc2VjdGlvbi5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgfVxuICAuYmFubmVyIHtiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudH1cbiAgLmJhbm5lci10ZXh0LWhvbGRlci1jb25ncmVzcyAuYmFubmVyLXRleHQgIHsgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnQ7d2lkdGg6MTAwJSAhaW1wb3J0YW50O21heC13aWR0aDoxMDAlfVxuICAuYmFubmVyLXRleHQtaG9sZGVyLWNvbmdyZXNzIC5iYW5uZXItaW1hZ2UgeyB9XG4gIC5ldmVudC1ob2xkZXItZGF0ZSB7ZmxvYXQ6bm9uZSAhaW1wb3J0YW50fVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgaDEuc3BvbnNvci1saXN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDQ4cHggIWltcG9ydGFudDtcbiAgfVxuICAuc3BvbnNvci1sZXZlbC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDoyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29uZ3Jlc3MtZXZlbnQtZ3JvdXAgZHQuY29uZ3Jlc3MtZXZlbnQtbWFpbiB7XG59XG4uY29uZ3Jlc3MtZXZlbnQtZ3JvdXAgZGQuY29uZ3Jlc3MtZXZlbnQtbWFpbiBwIHtcbiAgY29sb3I6JGJyYW5kLWNvbG9yO1xuICBmb250LXNpemU6MzBweDtcbiAgZm9udC13ZWlnaHQ6ICR0aGluO1xuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogJGxpZ2h0O1xuICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmb250LXNpemU6MThweDtcbiAgfVxufVxuXG4uY29uZ3Jlc3MtZXZlbnQtZ3JvdXAgZGQge1xuXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuXG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAuMDVzO1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTMwcHg7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzQ2NDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiAwIDAgNTBweCAtMTBweCAjOUU5RTlFO1xuICB9XG59XG5cbi5jb25ncmVzcy1ldmVudC1ncm91cCBkdCB7XG4gIGNvbG9yOmxpZ2h0ZW4oJGRhcmstZ3JleSw1MCUpO1xuXG4gICYuZXZlbnQtYXNzZW1ibHkgeyBjb2xvcjogI2Y2MH1cbiAgJi5ldmVudC1jb25mZXJlbmNlIHsgY29sb3I6ICRicmFuZC1jb2xvcn1cbiAgJi5ldmVudC1vcGVuY2VyZW1vbnkgeyBjb2xvcjogIzAwMH1cbiAgJi5ldmVudC1yb3VuZHRhYmxlIHsgY29sb3I6ICMwMDB9XG4gICYuZXZlbnQtc2Vzc2lvbiB7IGNvbG9yOiAjZjYwfVxuICAmLmV2ZW50LXdvcmtzaG9wIHsgY29sb3I6ICMwNmZ9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29uZ3Jlc3MtZXZlbnQtZ3JvdXAgZHQge1xuICAgIHdpZHRoOjEwMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogJGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuICAuY29uZ3Jlc3MtZXZlbnQtZ3JvdXAgZGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICRTcG9uc29yc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLnNwb25zb3ItbGlzdC10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBjb2xvcjojY2NjO1xufVxuLnNwb25zb3ItbGV2ZWwtdGl0bGUtaG9sZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3BvbnNvci1sZXZlbC10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMWVtIDRlbTtcbiAgICBtYXJnaW46IDdlbSBhdXRvIDJlbSBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG4uc3BvbnNvci1saXN0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3BvbnNvci1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNwb25zb3ItbGlzdCBsaSBpbWcge1xuICAgIG1hcmdpbjowIDFlbTtcbn1cbi5zcG9uc29yLWxpc3QtcGxhdGludW0gaW1nIHt3aWR0aDo0MDBweDt9XG4uc3BvbnNvci1saXN0LWdvbGQgaW1nIHt3aWR0aDozMDBweDt9XG4uc3BvbnNvci1saXN0LXNpbHZlciBpbWcge3dpZHRoOjIwMHB4O31cbi5zcG9uc29yLWxpc3Qtc3VwcG9ydCBpbWcge3dpZHRoOjEwMHB4O31cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAkQ29udGFjdHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFjdEZvcm1Ib2xkZXIge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgdG9wOi0xNTBweDtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xuICBwIHtcblxuICB9XG59XG5cbi5jb250YWN0RGV0YWlsc0hvbGRlciB7XG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIH1cbn1cblxuXG5cblxuLmNpbmRleCAuYnlsaW5lcixcbi5jaW5kZXggLm5hdmlnYXRpb24gYSB7XG4gIGNvbG9yOiNmZmY7XG59XG4uY2luZGV4IC5maXhlZCAuYnlsaW5lcixcbi5jaW5kZXggLmZpeGVkIC5uYXZpZ2F0aW9uIGEge1xuICBjb2xvcjojMzMzO1xufVxuLmNpbmRleCAjaGVhZGVyIC5oZWFkZXItY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIC4xNSk7XG4gIH1cbi5sbnVtIHtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogbGluaW5nLW51bXM7XG4gICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6XCJsbnVtXCIgMTtcbiAgICAtbW96LWZvbnQtZmVhdHVyZS1zZXR0aW5nczpcImxudW09MVwiO1xuICAgIC1tcy1mb250LWZlYXR1cmUtc2V0dGluZ3M6XCJsbnVtXCIgMTtcbiAgICAtby1mb250LWZlYXR1cmUtc2V0dGluZ3M6XCJsbnVtXCIgMTtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczpcImxudW1cIiAxO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczpcImxudW1cIiAxO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4uc3RpY2t5LnN0aWNreS1maXhlZC5pcy1zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnN0aWNreS5zdGlja3ktZml4ZWQuaXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59IiwiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5uYXZpZ2F0aW9uIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI2hlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgIHdpZHRoOiA5MCU7IH1cblxuICAubmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAubmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB2aXNpYmlsaXR5IDBzIDAuNXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB2aXNpYmlsaXR5IDBzIDAuNXM7IH1cbiAgLm5hdmlnYXRpb24gLnByaW1hcnktbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA0NSU7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ1JSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDUlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ1JSk7IH1cbiAgLm5hdmlnYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLm5hdmlnYXRpb24gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAucGVyc29uIHtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9XG4gIC5wZXJzb24tY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wZXJzb24gLnNvY2lhbC1pY29ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4gIC50ZXN0aW1vbmlhbHMgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMjBweCA1JSAwOyB9XG4gIC50ZXN0aW1vbmlhbHMgcCB7XG4gICAgZm9udC1zaXplOiAyNnB4OyB9XG5cbiAgLmZsZXgtY29udHJvbC1uYXYge1xuICAgIGJvdHRvbTogMjBweDsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAvLyAuYmFubmVyLXRleHQge1xuICAvLyAgIHBhZGRpbmctdG9wOiAzMCU7IH1cbiAgLmJhbm5lci10ZXh0IGgxIHtcbiAgICBmb250LXNpemU6IDQycHg7IH1cbiAgLmJhbm5lci10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG4gIC5mbGV4c2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuXG4gIC5mbGV4LWNvbnRyb2wtbmF2IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4gIC5mb290ZXIgLmZvb3Rlci1jb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmJhbm5lci10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMzUlOyB9IH1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5iYW5uZXItdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDQ1JTsgfVxuICAuYmFubmVyLXRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfSBcblxuICAgIGJvZHkge1xuICAgICAgcGFkZGluZy1ib3R0b206NjB2aDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAuYmFubmVyLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiA1NSU7IH1cblxuICAudGVzdGltb25pYWxzIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDIwcHggNSUgMDsgfVxuICAudGVzdGltb25pYWxzIHAge1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBMERBQSw0RUFBNEU7QTFEa0U1RSxPQUFPLENBQUMsNEVBQUk7QUFDWixPQUFPLENBQUMsZ0dBQUk7QUFDWixPQUFPLENBQUMsb0VBQUk7QTBENURaLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFDdkIsb0JBQW9CLEVBQUUsSUFBSTtFQUMxQix3QkFBd0IsRUFBRSxJQUFJLEdBQy9COztBQU1ELEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFZRCxBQUFBLE9BQU87QUFDUCxLQUFLO0FBQ0wsT0FBTztBQUNQLFVBQVU7QUFDVixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sSUFBSTtBQUNKLElBQUk7QUFDSixHQUFHO0FBQ0gsT0FBTztBQUNQLE9BQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBT0QsQUFBQSxLQUFLO0FBQ0wsTUFBTTtBQUNOLFFBQVE7QUFDUixLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsUUFBUSxHQUN6Qjs7QUFPRCxBQUFBLEtB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 */
