/*!
 * Bootstrap v2.3.2
 *
 * Copyright 2013 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world by @mdo and @fat.
 */
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
audio:not([controls]) {
  display: none;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
a:hover,
a:active {
  outline: 0;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  /* Responsive images (ensure images don't scale beyond their parents) */
  max-width: 100%;
  /* Part 1: Set a maxium relative to the parent */
  width: auto\9;
  /* IE7-8 need help adjusting responsive images */
  height: auto;
  /* Part 2: Scale the height according to the width, otherwise you get stretching */
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic;
}
#map_canvas img,
.google-maps img {
  max-width: none;
}
button,
input,
select,
textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle;
}
button,
input {
  *overflow: visible;
  line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
  cursor: pointer;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  vertical-align: top;
}
@media print {
  * {
    text-shadow: none !important;
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]: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;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
body {
  margin: 0;
  font-family: "Muli", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333333;
  background-color: #ffffff;
}
a {
  color: #0088cc;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #005580;
  text-decoration: underline;
}
.img-rounded {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.img-polaroid {
  padding: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.img-circle {
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px;
}
.row {
  margin-left: -20px;
  *zoom: 1;
}
.row:before,
.row:after {
  display: table;
  content: "";
  line-height: 0;
}
.row:after {
  clear: both;
}
[class*="span"] {
  float: left;
  min-height: 1px;
  margin-left: 20px;
}
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 940px;
}
.span12 {
  width: 940px;
}
.span11 {
  width: 860px;
}
.span10 {
  width: 780px;
}
.span9 {
  width: 700px;
}
.span8 {
  width: 620px;
}
.span7 {
  width: 540px;
}
.span6 {
  width: 460px;
}
.span5 {
  width: 380px;
}
.span4 {
  width: 300px;
}
.span3 {
  width: 220px;
}
.span2 {
  width: 140px;
}
.span1 {
  width: 60px;
}
.offset12 {
  margin-left: 980px;
}
.offset11 {
  margin-left: 900px;
}
.offset10 {
  margin-left: 820px;
}
.offset9 {
  margin-left: 740px;
}
.offset8 {
  margin-left: 660px;
}
.offset7 {
  margin-left: 580px;
}
.offset6 {
  margin-left: 500px;
}
.offset5 {
  margin-left: 420px;
}
.offset4 {
  margin-left: 340px;
}
.offset3 {
  margin-left: 260px;
}
.offset2 {
  margin-left: 180px;
}
.offset1 {
  margin-left: 100px;
}
.row-fluid {
  width: 100%;
  *zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
  display: table;
  content: "";
  line-height: 0;
}
.row-fluid:after {
  clear: both;
}
.row-fluid [class*="span"] {
  display: block;
  width: 100%;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  margin-left: 2.12765957%;
  *margin-left: 2.07446809%;
}
.row-fluid [class*="span"]:first-child {
  margin-left: 0;
}
.row-fluid .controls-row [class*="span"] + [class*="span"] {
  margin-left: 2.12765957%;
}
.row-fluid .span12 {
  width: 100%;
  *width: 99.94680851%;
}
.row-fluid .span11 {
  width: 91.4893617%;
  *width: 91.43617021%;
}
.row-fluid .span10 {
  width: 82.9787234%;
  *width: 82.92553191%;
}
.row-fluid .span9 {
  width: 74.46808511%;
  *width: 74.41489362%;
}
.row-fluid .span8 {
  width: 65.95744681%;
  *width: 65.90425532%;
}
.row-fluid .span7 {
  width: 57.44680851%;
  *width: 57.39361702%;
}
.row-fluid .span6 {
  width: 48.93617021%;
  *width: 48.88297872%;
}
.row-fluid .span5 {
  width: 40.42553191%;
  *width: 40.37234043%;
}
.row-fluid .span4 {
  width: 31.91489362%;
  *width: 31.86170213%;
}
.row-fluid .span3 {
  width: 23.40425532%;
  *width: 23.35106383%;
}
.row-fluid .span2 {
  width: 14.89361702%;
  *width: 14.84042553%;
}
.row-fluid .span1 {
  width: 6.38297872%;
  *width: 6.32978723%;
}
.row-fluid .offset12 {
  margin-left: 104.25531915%;
  *margin-left: 104.14893617%;
}
.row-fluid .offset12:first-child {
  margin-left: 102.12765957%;
  *margin-left: 102.0212766%;
}
.row-fluid .offset11 {
  margin-left: 95.74468085%;
  *margin-left: 95.63829787%;
}
.row-fluid .offset11:first-child {
  margin-left: 93.61702128%;
  *margin-left: 93.5106383%;
}
.row-fluid .offset10 {
  margin-left: 87.23404255%;
  *margin-left: 87.12765957%;
}
.row-fluid .offset10:first-child {
  margin-left: 85.10638298%;
  *margin-left: 85%;
}
.row-fluid .offset9 {
  margin-left: 78.72340426%;
  *margin-left: 78.61702128%;
}
.row-fluid .offset9:first-child {
  margin-left: 76.59574468%;
  *margin-left: 76.4893617%;
}
.row-fluid .offset8 {
  margin-left: 70.21276596%;
  *margin-left: 70.10638298%;
}
.row-fluid .offset8:first-child {
  margin-left: 68.08510638%;
  *margin-left: 67.9787234%;
}
.row-fluid .offset7 {
  margin-left: 61.70212766%;
  *margin-left: 61.59574468%;
}
.row-fluid .offset7:first-child {
  margin-left: 59.57446809%;
  *margin-left: 59.46808511%;
}
.row-fluid .offset6 {
  margin-left: 53.19148936%;
  *margin-left: 53.08510638%;
}
.row-fluid .offset6:first-child {
  margin-left: 51.06382979%;
  *margin-left: 50.95744681%;
}
.row-fluid .offset5 {
  margin-left: 44.68085106%;
  *margin-left: 44.57446809%;
}
.row-fluid .offset5:first-child {
  margin-left: 42.55319149%;
  *margin-left: 42.44680851%;
}
.row-fluid .offset4 {
  margin-left: 36.17021277%;
  *margin-left: 36.06382979%;
}
.row-fluid .offset4:first-child {
  margin-left: 34.04255319%;
  *margin-left: 33.93617021%;
}
.row-fluid .offset3 {
  margin-left: 27.65957447%;
  *margin-left: 27.55319149%;
}
.row-fluid .offset3:first-child {
  margin-left: 25.53191489%;
  *margin-left: 25.42553191%;
}
.row-fluid .offset2 {
  margin-left: 19.14893617%;
  *margin-left: 19.04255319%;
}
.row-fluid .offset2:first-child {
  margin-left: 17.0212766%;
  *margin-left: 16.91489362%;
}
.row-fluid .offset1 {
  margin-left: 10.63829787%;
  *margin-left: 10.53191489%;
}
.row-fluid .offset1:first-child {
  margin-left: 8.5106383%;
  *margin-left: 8.40425532%;
}
[class*="span"].hide,
.row-fluid [class*="span"].hide {
  display: none;
}
[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
  float: right;
}
.container {
  margin-right: auto;
  margin-left: auto;
  *zoom: 1;
}
.container:before,
.container:after {
  display: table;
  content: "";
  line-height: 0;
}
.container:after {
  clear: both;
}
.container-fluid {
  padding-right: 20px;
  padding-left: 20px;
  *zoom: 1;
}
.container-fluid:before,
.container-fluid:after {
  display: table;
  content: "";
  line-height: 0;
}
.container-fluid:after {
  clear: both;
}
p {
  margin: 0 0 10px;
}
.lead {
  margin-bottom: 20px;
  font-size: 21px;
  font-weight: 200;
  line-height: 30px;
}
small {
  font-size: 85%;
}
strong {
  font-weight: bold;
}
em {
  font-style: italic;
}
cite {
  font-style: normal;
}
.muted {
  color: #999999;
}
a.muted:hover,
a.muted:focus {
  color: #808080;
}
.text-warning {
  color: #c09853;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #a47e3c;
}
.text-error {
  color: #b94a48;
}
a.text-error:hover,
a.text-error:focus {
  color: #953b39;
}
.text-info {
  color: #3a87ad;
}
a.text-info:hover,
a.text-info:focus {
  color: #2d6987;
}
.text-success {
  color: #468847;
}
a.text-success:hover,
a.text-success:focus {
  color: #356635;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 10px 0;
  font-family: "Noto Sans", sans-serif;
  font-weight: normal;
  line-height: 20px;
  color: #6cc644;
  text-rendering: optimizelegibility;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  font-weight: normal;
  line-height: 1;
  color: #999999;
}
h1,
h2,
h3 {
  line-height: 40px;
}
h1 {
  font-size: 38.5px;
}
h2 {
  font-size: 31.5px;
}
h3 {
  font-size: 24.5px;
}
h4 {
  font-size: 17.5px;
}
h5 {
  font-size: 14px;
}
h6 {
  font-size: 11.9px;
}
h1 small {
  font-size: 24.5px;
}
h2 small {
  font-size: 17.5px;
}
h3 small {
  font-size: 14px;
}
h4 small {
  font-size: 14px;
}
.page-header {
  padding-bottom: 9px;
  margin: 20px 0 30px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  padding: 0;
  margin: 0 0 10px 25px;
}
ul ul,
ul ol,
ol ol,
ol ul {
  margin-bottom: 0;
}
li {
  line-height: 20px;
}
ul.unstyled,
ol.unstyled {
  margin-left: 0;
  list-style: none;
}
ul.inline,
ol.inline {
  margin-left: 0;
  list-style: none;
}
ul.inline > li,
ol.inline > li {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-bottom: 20px;
}
dt,
dd {
  line-height: 20px;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 10px;
}
.dl-horizontal {
  *zoom: 1;
}
.dl-horizontal:before,
.dl-horizontal:after {
  display: table;
  content: "";
  line-height: 0;
}
.dl-horizontal:after {
  clear: both;
}
.dl-horizontal dt {
  float: left;
  width: 160px;
  clear: left;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dl-horizontal dd {
  margin-left: 180px;
}
hr {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #ffffff;
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #999999;
}
abbr.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 0 0 0 15px;
  margin: 0 0 20px;
  border-left: 5px solid #eeeeee;
}
blockquote p {
  margin-bottom: 0;
  font-size: 17.5px;
  font-weight: 300;
  line-height: 1.25;
}
blockquote small {
  display: block;
  line-height: 20px;
  color: #999999;
}
blockquote small:before {
  content: '\2014 \00A0';
}
blockquote.pull-right {
  float: right;
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
}
blockquote.pull-right p,
blockquote.pull-right small {
  text-align: right;
}
blockquote.pull-right small:before {
  content: '';
}
blockquote.pull-right small:after {
  content: '\00A0 \2014';
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
}
address {
  display: block;
  margin-bottom: 20px;
  font-style: normal;
  line-height: 20px;
}
code,
pre {
  padding: 0 3px 2px;
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
  font-size: 12px;
  color: #333333;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
code {
  padding: 2px 4px;
  color: #d14;
  background-color: #f7f7f9;
  border: 1px solid #e1e1e8;
  white-space: nowrap;
}
pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 20px;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre;
  white-space: pre-wrap;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
pre.prettyprint {
  margin-bottom: 20px;
}
pre code {
  padding: 0;
  color: inherit;
  white-space: pre;
  white-space: pre-wrap;
  background-color: transparent;
  border: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
form {
  margin: 0 0 20px;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: 40px;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
legend small {
  font-size: 15px;
  color: #999999;
}
label,
input,
button,
select,
textarea {
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
}
input,
button,
select,
textarea {
  font-family: "Muli", sans-serif;
}
label {
  display: block;
  margin-bottom: 5px;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  display: inline-block;
  height: 20px;
  padding: 4px 6px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  color: #555555;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  vertical-align: middle;
}
input,
textarea,
.uneditable-input {
  width: 206px;
}
textarea {
  height: auto;
}
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-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 linear .2s, box-shadow linear .2s;
  -moz-transition: border linear .2s, box-shadow linear .2s;
  -o-transition: border linear .2s, box-shadow linear .2s;
  transition: border linear .2s, box-shadow linear .2s;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9;
  /* IE6-9 */
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  *margin-top: 0;
  /* IE7 */
  margin-top: 1px \9;
  /* IE8-9 */
  line-height: normal;
}
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto;
}
select,
input[type="file"] {
  height: 30px;
  /* In IE7, the height of the select element cannot be changed by height, only font-size */
  *margin-top: 4px;
  /* For IE7, add top margin to align select with labels */
  line-height: 30px;
}
select {
  width: 220px;
  border: 1px solid #cccccc;
  background-color: #ffffff;
}
select[multiple],
select[size] {
  height: auto;
}
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.uneditable-input,
.uneditable-textarea {
  color: #999999;
  background-color: #fcfcfc;
  border-color: #cccccc;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  cursor: not-allowed;
}
.uneditable-input {
  overflow: hidden;
  white-space: nowrap;
}
.uneditable-textarea {
  width: auto;
  height: auto;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #999999;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #999999;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999999;
}
.radio,
.checkbox {
  min-height: 20px;
  padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
  float: left;
  margin-left: -20px;
}
.controls > .radio:first-child,
.controls > .checkbox:first-child {
  padding-top: 5px;
}
.radio.inline,
.checkbox.inline {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 0;
  vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
  margin-left: 10px;
}
.input-mini {
  width: 60px;
}
.input-small {
  width: 90px;
}
.input-medium {
  width: 150px;
}
.input-large {
  width: 210px;
}
.input-xlarge {
  width: 270px;
}
.input-xxlarge {
  width: 530px;
}
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
  float: none;
  margin-left: 0;
}
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
  display: inline-block;
}
input,
textarea,
.uneditable-input {
  margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
  margin-left: 20px;
}
input.span12,
textarea.span12,
.uneditable-input.span12 {
  width: 926px;
}
input.span11,
textarea.span11,
.uneditable-input.span11 {
  width: 846px;
}
input.span10,
textarea.span10,
.uneditable-input.span10 {
  width: 766px;
}
input.span9,
textarea.span9,
.uneditable-input.span9 {
  width: 686px;
}
input.span8,
textarea.span8,
.uneditable-input.span8 {
  width: 606px;
}
input.span7,
textarea.span7,
.uneditable-input.span7 {
  width: 526px;
}
input.span6,
textarea.span6,
.uneditable-input.span6 {
  width: 446px;
}
input.span5,
textarea.span5,
.uneditable-input.span5 {
  width: 366px;
}
input.span4,
textarea.span4,
.uneditable-input.span4 {
  width: 286px;
}
input.span3,
textarea.span3,
.uneditable-input.span3 {
  width: 206px;
}
input.span2,
textarea.span2,
.uneditable-input.span2 {
  width: 126px;
}
input.span1,
textarea.span1,
.uneditable-input.span1 {
  width: 46px;
}
.controls-row {
  *zoom: 1;
}
.controls-row:before,
.controls-row:after {
  display: table;
  content: "";
  line-height: 0;
}
.controls-row:after {
  clear: both;
}
.controls-row [class*="span"],
.row-fluid .controls-row [class*="span"] {
  float: left;
}
.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
  padding-top: 5px;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  cursor: not-allowed;
  background-color: #eeeeee;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
  background-color: transparent;
}
.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
  color: #c09853;
}
.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  color: #c09853;
}
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  border-color: #c09853;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
  border-color: #a47e3c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
}
.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
  color: #c09853;
  background-color: #fcf8e3;
  border-color: #c09853;
}
.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
  color: #b94a48;
}
.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  color: #b94a48;
}
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  border-color: #b94a48;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
  border-color: #953b39;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
}
.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #b94a48;
}
.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
  color: #468847;
}
.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  color: #468847;
}
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  border-color: #468847;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
  border-color: #356635;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
}
.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
  color: #468847;
  background-color: #dff0d8;
  border-color: #468847;
}
.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
  color: #3a87ad;
}
.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  color: #3a87ad;
}
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  border-color: #3a87ad;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
  border-color: #2d6987;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
}
.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #3a87ad;
}
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  color: #b94a48;
  border-color: #ee5f5b;
}
input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
  border-color: #e9322d;
  -webkit-box-shadow: 0 0 6px #f8b9b7;
  -moz-box-shadow: 0 0 6px #f8b9b7;
  box-shadow: 0 0 6px #f8b9b7;
}
.form-actions {
  padding: 19px 20px 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
  *zoom: 1;
}
.form-actions:before,
.form-actions:after {
  display: table;
  content: "";
  line-height: 0;
}
.form-actions:after {
  clear: both;
}
.help-block,
.help-inline {
  color: #595959;
}
.help-block {
  display: block;
  margin-bottom: 10px;
}
.help-inline {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  vertical-align: middle;
  padding-left: 5px;
}
.input-append,
.input-prepend {
  display: inline-block;
  margin-bottom: 10px;
  vertical-align: middle;
  font-size: 0;
  white-space: nowrap;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input,
.input-append .dropdown-menu,
.input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
  font-size: 14px;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
  position: relative;
  margin-bottom: 0;
  *margin-left: 0;
  vertical-align: top;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
  z-index: 2;
}
.input-append .add-on,
.input-prepend .add-on {
  display: inline-block;
  width: auto;
  height: 20px;
  min-width: 16px;
  padding: 4px 5px;
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
  text-align: center;
  text-shadow: 0 1px 0 #ffffff;
  background-color: #eeeeee;
  border: 1px solid #ccc;
}
.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group > .dropdown-toggle,
.input-prepend .btn-group > .dropdown-toggle {
  vertical-align: top;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.input-append .active,
.input-prepend .active {
  background-color: #a9dba9;
  border-color: #46a546;
}
.input-prepend .add-on,
.input-prepend .btn {
  margin-right: -1px;
}
.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-append input,
.input-append select,
.input-append .uneditable-input {
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-append input + .btn-group .btn:last-child,
.input-append select + .btn-group .btn:last-child,
.input-append .uneditable-input + .btn-group .btn:last-child {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
  margin-left: -1px;
}
.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.input-prepend.input-append input + .btn-group .btn,
.input-prepend.input-append select + .btn-group .btn,
.input-prepend.input-append .uneditable-input + .btn-group .btn {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .btn-group:first-child {
  margin-left: 0;
}
input.search-query {
  padding-right: 14px;
  padding-right: 4px \9;
  padding-left: 14px;
  padding-left: 4px \9;
  /* IE7-8 doesn't have border-radius, so don't indent the padding */
  margin-bottom: 0;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.form-search .input-append .search-query {
  -webkit-border-radius: 14px 0 0 14px;
  -moz-border-radius: 14px 0 0 14px;
  border-radius: 14px 0 0 14px;
}
.form-search .input-append .btn {
  -webkit-border-radius: 0 14px 14px 0;
  -moz-border-radius: 0 14px 14px 0;
  border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .search-query {
  -webkit-border-radius: 0 14px 14px 0;
  -moz-border-radius: 0 14px 14px 0;
  border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .btn {
  -webkit-border-radius: 14px 0 0 14px;
  -moz-border-radius: 14px 0 0 14px;
  border-radius: 14px 0 0 14px;
}
.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  margin-bottom: 0;
  vertical-align: middle;
}
.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
  display: none;
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
  display: inline-block;
}
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
  margin-bottom: 0;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
  padding-left: 0;
  margin-bottom: 0;
  vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
  float: left;
  margin-right: 3px;
  margin-left: 0;
}
.control-group {
  margin-bottom: 10px;
}
legend + .control-group {
  margin-top: 20px;
  -webkit-margin-top-collapse: separate;
}
.form-horizontal .control-group {
  margin-bottom: 20px;
  *zoom: 1;
}
.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
  display: table;
  content: "";
  line-height: 0;
}
.form-horizontal .control-group:after {
  clear: both;
}
.form-horizontal .control-label {
  float: left;
  width: 160px;
  padding-top: 5px;
  text-align: right;
}
.form-horizontal .controls {
  *display: inline-block;
  *padding-left: 20px;
  margin-left: 180px;
  *margin-left: 0;
}
.form-horizontal .controls:first-child {
  *padding-left: 180px;
}
.form-horizontal .help-block {
  margin-bottom: 0;
}
.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
  margin-top: 10px;
}
.form-horizontal .form-actions {
  padding-left: 180px;
}
table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}
.table {
  width: 100%;
  margin-bottom: 20px;
}
.table th,
.table td {
  padding: 8px;
  line-height: 20px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table th {
  font-weight: bold;
}
.table thead th {
  vertical-align: bottom;
}
.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 #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed th,
.table-condensed td {
  padding: 4px 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
  border-collapse: separate;
  *border-collapse: collapse;
  border-left: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.table-bordered th,
.table-bordered td {
  border-left: 1px solid #dddddd;
}
.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
  border-top: 0;
}
.table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-bottomleft: 0;
  border-bottom-left-radius: 0;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-bottomright: 0;
  border-bottom-right-radius: 0;
}
.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}
.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
  background-color: #f9f9f9;
}
.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: #f5f5f5;
}
table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
  display: table-cell;
  float: none;
  margin-left: 0;
}
.table td.span1,
.table th.span1 {
  float: none;
  width: 44px;
  margin-left: 0;
}
.table td.span2,
.table th.span2 {
  float: none;
  width: 124px;
  margin-left: 0;
}
.table td.span3,
.table th.span3 {
  float: none;
  width: 204px;
  margin-left: 0;
}
.table td.span4,
.table th.span4 {
  float: none;
  width: 284px;
  margin-left: 0;
}
.table td.span5,
.table th.span5 {
  float: none;
  width: 364px;
  margin-left: 0;
}
.table td.span6,
.table th.span6 {
  float: none;
  width: 444px;
  margin-left: 0;
}
.table td.span7,
.table th.span7 {
  float: none;
  width: 524px;
  margin-left: 0;
}
.table td.span8,
.table th.span8 {
  float: none;
  width: 604px;
  margin-left: 0;
}
.table td.span9,
.table th.span9 {
  float: none;
  width: 684px;
  margin-left: 0;
}
.table td.span10,
.table th.span10 {
  float: none;
  width: 764px;
  margin-left: 0;
}
.table td.span11,
.table th.span11 {
  float: none;
  width: 844px;
  margin-left: 0;
}
.table td.span12,
.table th.span12 {
  float: none;
  width: 924px;
  margin-left: 0;
}
.table tbody tr.success > td {
  background-color: #dff0d8;
}
.table tbody tr.error > td {
  background-color: #f2dede;
}
.table tbody tr.warning > td {
  background-color: #fcf8e3;
}
.table tbody tr.info > td {
  background-color: #d9edf7;
}
.table-hover tbody tr.success:hover > td {
  background-color: #d0e9c6;
}
.table-hover tbody tr.error:hover > td {
  background-color: #ebcccc;
}
.table-hover tbody tr.warning:hover > td {
  background-color: #faf2cc;
}
.table-hover tbody tr.info:hover > td {
  background-color: #c4e3f3;
}
[class^="icon-"],
[class*=" icon-"] {
  display: inline-block;
  width: 14px;
  height: 14px;
  *margin-right: .3em;
  line-height: 14px;
  vertical-align: text-top;
  background-image: url('/static/lib/bootstrap/img/glyphicons-halflings.png?2516339970d7');
  background-position: 14px 14px;
  background-repeat: no-repeat;
  margin-top: 1px;
}
/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"] {
  background-image: url('/static/lib/bootstrap/img/glyphicons-halflings-white.png?9bbc6e960299');
}
.icon-glass {
  background-position: 0      0;
}
.icon-music {
  background-position: -24px 0;
}
.icon-search {
  background-position: -48px 0;
}
.icon-envelope {
  background-position: -72px 0;
}
.icon-heart {
  background-position: -96px 0;
}
.icon-star {
  background-position: -120px 0;
}
.icon-star-empty {
  background-position: -144px 0;
}
.icon-user {
  background-position: -168px 0;
}
.icon-film {
  background-position: -192px 0;
}
.icon-th-large {
  background-position: -216px 0;
}
.icon-th {
  background-position: -240px 0;
}
.icon-th-list {
  background-position: -264px 0;
}
.icon-ok {
  background-position: -288px 0;
}
.icon-remove {
  background-position: -312px 0;
}
.icon-zoom-in {
  background-position: -336px 0;
}
.icon-zoom-out {
  background-position: -360px 0;
}
.icon-off {
  background-position: -384px 0;
}
.icon-signal {
  background-position: -408px 0;
}
.icon-cog {
  background-position: -432px 0;
}
.icon-trash {
  background-position: -456px 0;
}
.icon-home {
  background-position: 0 -24px;
}
.icon-file {
  background-position: -24px -24px;
}
.icon-time {
  background-position: -48px -24px;
}
.icon-road {
  background-position: -72px -24px;
}
.icon-download-alt {
  background-position: -96px -24px;
}
.icon-download {
  background-position: -120px -24px;
}
.icon-upload {
  background-position: -144px -24px;
}
.icon-inbox {
  background-position: -168px -24px;
}
.icon-play-circle {
  background-position: -192px -24px;
}
.icon-repeat {
  background-position: -216px -24px;
}
.icon-refresh {
  background-position: -240px -24px;
}
.icon-list-alt {
  background-position: -264px -24px;
}
.icon-lock {
  background-position: -287px -24px;
}
.icon-flag {
  background-position: -312px -24px;
}
.icon-headphones {
  background-position: -336px -24px;
}
.icon-volume-off {
  background-position: -360px -24px;
}
.icon-volume-down {
  background-position: -384px -24px;
}
.icon-volume-up {
  background-position: -408px -24px;
}
.icon-qrcode {
  background-position: -432px -24px;
}
.icon-barcode {
  background-position: -456px -24px;
}
.icon-tag {
  background-position: 0 -48px;
}
.icon-tags {
  background-position: -25px -48px;
}
.icon-book {
  background-position: -48px -48px;
}
.icon-bookmark {
  background-position: -72px -48px;
}
.icon-print {
  background-position: -96px -48px;
}
.icon-camera {
  background-position: -120px -48px;
}
.icon-font {
  background-position: -144px -48px;
}
.icon-bold {
  background-position: -167px -48px;
}
.icon-italic {
  background-position: -192px -48px;
}
.icon-text-height {
  background-position: -216px -48px;
}
.icon-text-width {
  background-position: -240px -48px;
}
.icon-align-left {
  background-position: -264px -48px;
}
.icon-align-center {
  background-position: -288px -48px;
}
.icon-align-right {
  background-position: -312px -48px;
}
.icon-align-justify {
  background-position: -336px -48px;
}
.icon-list {
  background-position: -360px -48px;
}
.icon-indent-left {
  background-position: -384px -48px;
}
.icon-indent-right {
  background-position: -408px -48px;
}
.icon-facetime-video {
  background-position: -432px -48px;
}
.icon-picture {
  background-position: -456px -48px;
}
.icon-pencil {
  background-position: 0 -72px;
}
.icon-map-marker {
  background-position: -24px -72px;
}
.icon-adjust {
  background-position: -48px -72px;
}
.icon-tint {
  background-position: -72px -72px;
}
.icon-edit {
  background-position: -96px -72px;
}
.icon-share {
  background-position: -120px -72px;
}
.icon-check {
  background-position: -144px -72px;
}
.icon-move {
  background-position: -168px -72px;
}
.icon-step-backward {
  background-position: -192px -72px;
}
.icon-fast-backward {
  background-position: -216px -72px;
}
.icon-backward {
  background-position: -240px -72px;
}
.icon-play {
  background-position: -264px -72px;
}
.icon-pause {
  background-position: -288px -72px;
}
.icon-stop {
  background-position: -312px -72px;
}
.icon-forward {
  background-position: -336px -72px;
}
.icon-fast-forward {
  background-position: -360px -72px;
}
.icon-step-forward {
  background-position: -384px -72px;
}
.icon-eject {
  background-position: -408px -72px;
}
.icon-chevron-left {
  background-position: -432px -72px;
}
.icon-chevron-right {
  background-position: -456px -72px;
}
.icon-plus-sign {
  background-position: 0 -96px;
}
.icon-minus-sign {
  background-position: -24px -96px;
}
.icon-remove-sign {
  background-position: -48px -96px;
}
.icon-ok-sign {
  background-position: -72px -96px;
}
.icon-question-sign {
  background-position: -96px -96px;
}
.icon-info-sign {
  background-position: -120px -96px;
}
.icon-screenshot {
  background-position: -144px -96px;
}
.icon-remove-circle {
  background-position: -168px -96px;
}
.icon-ok-circle {
  background-position: -192px -96px;
}
.icon-ban-circle {
  background-position: -216px -96px;
}
.icon-arrow-left {
  background-position: -240px -96px;
}
.icon-arrow-right {
  background-position: -264px -96px;
}
.icon-arrow-up {
  background-position: -289px -96px;
}
.icon-arrow-down {
  background-position: -312px -96px;
}
.icon-share-alt {
  background-position: -336px -96px;
}
.icon-resize-full {
  background-position: -360px -96px;
}
.icon-resize-small {
  background-position: -384px -96px;
}
.icon-plus {
  background-position: -408px -96px;
}
.icon-minus {
  background-position: -433px -96px;
}
.icon-asterisk {
  background-position: -456px -96px;
}
.icon-exclamation-sign {
  background-position: 0 -120px;
}
.icon-gift {
  background-position: -24px -120px;
}
.icon-leaf {
  background-position: -48px -120px;
}
.icon-fire {
  background-position: -72px -120px;
}
.icon-eye-open {
  background-position: -96px -120px;
}
.icon-eye-close {
  background-position: -120px -120px;
}
.icon-warning-sign {
  background-position: -144px -120px;
}
.icon-plane {
  background-position: -168px -120px;
}
.icon-calendar {
  background-position: -192px -120px;
}
.icon-random {
  background-position: -216px -120px;
  width: 16px;
}
.icon-comment {
  background-position: -240px -120px;
}
.icon-magnet {
  background-position: -264px -120px;
}
.icon-chevron-up {
  background-position: -288px -120px;
}
.icon-chevron-down {
  background-position: -313px -119px;
}
.icon-retweet {
  background-position: -336px -120px;
}
.icon-shopping-cart {
  background-position: -360px -120px;
}
.icon-folder-close {
  background-position: -384px -120px;
  width: 16px;
}
.icon-folder-open {
  background-position: -408px -120px;
  width: 16px;
}
.icon-resize-vertical {
  background-position: -432px -119px;
}
.icon-resize-horizontal {
  background-position: -456px -118px;
}
.icon-hdd {
  background-position: 0 -144px;
}
.icon-bullhorn {
  background-position: -24px -144px;
}
.icon-bell {
  background-position: -48px -144px;
}
.icon-certificate {
  background-position: -72px -144px;
}
.icon-thumbs-up {
  background-position: -96px -144px;
}
.icon-thumbs-down {
  background-position: -120px -144px;
}
.icon-hand-right {
  background-position: -144px -144px;
}
.icon-hand-left {
  background-position: -168px -144px;
}
.icon-hand-up {
  background-position: -192px -144px;
}
.icon-hand-down {
  background-position: -216px -144px;
}
.icon-circle-arrow-right {
  background-position: -240px -144px;
}
.icon-circle-arrow-left {
  background-position: -264px -144px;
}
.icon-circle-arrow-up {
  background-position: -288px -144px;
}
.icon-circle-arrow-down {
  background-position: -312px -144px;
}
.icon-globe {
  background-position: -336px -144px;
}
.icon-wrench {
  background-position: -360px -144px;
}
.icon-tasks {
  background-position: -384px -144px;
}
.icon-filter {
  background-position: -408px -144px;
}
.icon-briefcase {
  background-position: -432px -144px;
}
.icon-fullscreen {
  background-position: -456px -144px;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle {
  *margin-bottom: -3px;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
  outline: 0;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: top;
  border-top: 4px solid #000000;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}
.dropdown .caret {
  margin-top: 8px;
  margin-left: 2px;
}
.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;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  *width: 100%;
  height: 1px;
  margin: 9px 1px;
  *margin: -5px 0 5px;
  overflow: hidden;
  background-color: #e5e5e5;
  border-bottom: 1px solid #ffffff;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 20px;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
  text-decoration: none;
  color: #ffffff;
  background-color: #0081c2;
  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #0081c2;
  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #999999;
}
.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: default;
}
.open {
  *z-index: 1000;
}
.open > .dropdown-menu {
  display: block;
}
.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 solid #000000;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px 6px;
  border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropup .dropdown-submenu > .dropdown-menu {
  top: auto;
  bottom: 0;
  margin-top: 0;
  margin-bottom: -2px;
  -webkit-border-radius: 5px 5px 5px 0;
  -moz-border-radius: 5px 5px 5px 0;
  border-radius: 5px 5px 5px 0;
}
.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #cccccc;
  margin-top: 5px;
  margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
  border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px;
}
.dropdown .dropdown-menu .nav-header {
  padding-left: 20px;
  padding-right: 20px;
}
.typeahead {
  z-index: 1051;
  margin-top: 2px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-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 {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-large {
  padding: 24px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.well-small {
  padding: 9px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -moz-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease;
}
.collapse.in {
  height: auto;
}
.close {
  float: right;
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  filter: alpha(opacity=40);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.btn {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  color: #333333;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}
.btn:active,
.btn.active {
  background-color: #cccccc \9;
}
.btn:first-child {
  *margin-left: 0;
}
.btn:hover,
.btn:focus {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn.active,
.btn:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.btn.disabled,
.btn[disabled] {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-large {
  padding: 11px 19px;
  font-size: 17.5px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
  margin-top: 4px;
}
.btn-small {
  padding: 2px 10px;
  font-size: 11.9px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
  margin-top: 0;
}
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
  margin-top: -1px;
}
.btn-mini {
  padding: 0 6px;
  font-size: 10.5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
  color: rgba(255, 255, 255, 0.75);
}
.btn-primary {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #006dcc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(to bottom, #0088cc, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #0044cc;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
  color: #ffffff;
  background-color: #0044cc;
  *background-color: #003bb3;
}
.btn-primary:active,
.btn-primary.active {
  background-color: #003399 \9;
}
.btn-warning {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #faa732;
  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
  background-image: -o-linear-gradient(top, #fbb450, #f89406);
  background-image: linear-gradient(to bottom, #fbb450, #f89406);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
  border-color: #f89406 #f89406 #ad6704;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #f89406;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
  color: #ffffff;
  background-color: #f89406;
  *background-color: #df8505;
}
.btn-warning:active,
.btn-warning.active {
  background-color: #c67605 \9;
}
.btn-danger {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #da4f49;
  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
  border-color: #bd362f #bd362f #802420;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #bd362f;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
  color: #ffffff;
  background-color: #bd362f;
  *background-color: #a9302a;
}
.btn-danger:active,
.btn-danger.active {
  background-color: #942a25 \9;
}
.btn-success {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #5bb75b;
  background-image: -moz-linear-gradient(top, #62c462, #51a351);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
  background-image: -o-linear-gradient(top, #62c462, #51a351);
  background-image: linear-gradient(to bottom, #62c462, #51a351);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
  border-color: #51a351 #51a351 #387038;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #51a351;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
  color: #ffffff;
  background-color: #51a351;
  *background-color: #499249;
}
.btn-success:active,
.btn-success.active {
  background-color: #408140 \9;
}
.btn-info {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #49afcd;
  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
  border-color: #2f96b4 #2f96b4 #1f6377;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #2f96b4;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
  color: #ffffff;
  background-color: #2f96b4;
  *background-color: #2a85a0;
}
.btn-info:active,
.btn-info.active {
  background-color: #24748c \9;
}
.btn-inverse {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #363636;
  background-image: -moz-linear-gradient(top, #444444, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
  background-image: -webkit-linear-gradient(top, #444444, #222222);
  background-image: -o-linear-gradient(top, #444444, #222222);
  background-image: linear-gradient(to bottom, #444444, #222222);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
  border-color: #222222 #222222 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #222222;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
  color: #ffffff;
  background-color: #222222;
  *background-color: #151515;
}
.btn-inverse:active,
.btn-inverse.active {
  background-color: #080808 \9;
}
button.btn,
input[type="submit"].btn {
  *padding-top: 3px;
  *padding-bottom: 3px;
}
button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button.btn.btn-large,
input[type="submit"].btn.btn-large {
  *padding-top: 7px;
  *padding-bottom: 7px;
}
button.btn.btn-small,
input[type="submit"].btn.btn-small {
  *padding-top: 3px;
  *padding-bottom: 3px;
}
button.btn.btn-mini,
input[type="submit"].btn.btn-mini {
  *padding-top: 1px;
  *padding-bottom: 1px;
}
.btn-link,
.btn-link:active,
.btn-link[disabled] {
  background-color: transparent;
  background-image: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-link {
  border-color: transparent;
  cursor: pointer;
  color: #0088cc;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-link:hover,
.btn-link:focus {
  color: #005580;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
  color: #333333;
  text-decoration: none;
}
.btn-group {
  position: relative;
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  font-size: 0;
  vertical-align: middle;
  white-space: nowrap;
  *margin-left: .3em;
}
.btn-group:first-child {
  *margin-left: 0;
}
.btn-group + .btn-group {
  margin-left: 5px;
}
.btn-toolbar {
  font-size: 0;
  margin-top: 10px;
  margin-bottom: 10px;
}
.btn-toolbar > .btn + .btn,
.btn-toolbar > .btn-group + .btn,
.btn-toolbar > .btn + .btn-group {
  margin-left: 5px;
}
.btn-group > .btn {
  position: relative;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-group > .btn + .btn {
  margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: 14px;
}
.btn-group > .btn-mini {
  font-size: 10.5px;
}
.btn-group > .btn-small {
  font-size: 11.9px;
}
.btn-group > .btn-large {
  font-size: 17.5px;
}
.btn-group > .btn:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.btn-group > .btn.large:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-left-radius: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  border-bottom-right-radius: 6px;
}
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
  z-index: 2;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
  -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  *padding-top: 5px;
  *padding-bottom: 5px;
}
.btn-group > .btn-mini + .dropdown-toggle {
  padding-left: 5px;
  padding-right: 5px;
  *padding-top: 2px;
  *padding-bottom: 2px;
}
.btn-group > .btn-small + .dropdown-toggle {
  *padding-top: 5px;
  *padding-bottom: 4px;
}
.btn-group > .btn-large + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
  *padding-top: 7px;
  *padding-bottom: 7px;
}
.btn-group.open .dropdown-toggle {
  background-image: none;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.btn-group.open .btn.dropdown-toggle {
  background-color: #e6e6e6;
}
.btn-group.open .btn-primary.dropdown-toggle {
  background-color: #0044cc;
}
.btn-group.open .btn-warning.dropdown-toggle {
  background-color: #f89406;
}
.btn-group.open .btn-danger.dropdown-toggle {
  background-color: #bd362f;
}
.btn-group.open .btn-success.dropdown-toggle {
  background-color: #51a351;
}
.btn-group.open .btn-info.dropdown-toggle {
  background-color: #2f96b4;
}
.btn-group.open .btn-inverse.dropdown-toggle {
  background-color: #222222;
}
.btn .caret {
  margin-top: 8px;
  margin-left: 0;
}
.btn-large .caret {
  margin-top: 6px;
}
.btn-large .caret {
  border-left-width: 5px;
  border-right-width: 5px;
  border-top-width: 5px;
}
.btn-mini .caret,
.btn-small .caret {
  margin-top: 8px;
}
.dropup .btn-large .caret {
  border-bottom-width: 5px;
}
.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.btn-group-vertical {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
}
.btn-group-vertical > .btn {
  display: block;
  float: none;
  max-width: 100%;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-group-vertical > .btn + .btn {
  margin-left: 0;
  margin-top: -1px;
}
.btn-group-vertical > .btn:first-child {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.btn-group-vertical > .btn:last-child {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}
.btn-group-vertical > .btn-large:first-child {
  -webkit-border-radius: 6px 6px 0 0;
  -moz-border-radius: 6px 6px 0 0;
  border-radius: 6px 6px 0 0;
}
.btn-group-vertical > .btn-large:last-child {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
}
.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 20px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.alert,
.alert h4 {
  color: #c09853;
}
.alert h4 {
  margin: 0;
}
.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 20px;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847;
}
.alert-success h4 {
  color: #468847;
}
.alert-danger,
.alert-error {
  background-color: #f2dede;
  border-color: #eed3d7;
  color: #b94a48;
}
.alert-danger h4,
.alert-error h4 {
  color: #b94a48;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #3a87ad;
}
.alert-info h4 {
  color: #3a87ad;
}
.alert-block {
  padding-top: 14px;
  padding-bottom: 14px;
}
.alert-block > p,
.alert-block > ul {
  margin-bottom: 0;
}
.alert-block p + p {
  margin-top: 5px;
}
.nav {
  margin-left: 0;
  margin-bottom: 20px;
  list-style: none;
}
.nav > li > a {
  display: block;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li > a > img {
  max-width: none;
}
.nav > .pull-right {
  float: right;
}
.nav-header {
  display: block;
  padding: 3px 15px;
  font-size: 11px;
  font-weight: bold;
  line-height: 20px;
  color: #999999;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
}
.nav li + .nav-header {
  margin-top: 9px;
}
.nav-list {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 0;
}
.nav-list > li > a,
.nav-list .nav-header {
  margin-left: -15px;
  margin-right: -15px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
.nav-list > li > a {
  padding: 3px 15px;
}
.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  background-color: #0088cc;
}
.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
  margin-right: 2px;
}
.nav-list .divider {
  *width: 100%;
  height: 1px;
  margin: 9px 1px;
  *margin: -5px 0 5px;
  overflow: hidden;
  background-color: #e5e5e5;
  border-bottom: 1px solid #ffffff;
}
.nav-tabs,
.nav-pills {
  *zoom: 1;
}
.nav-tabs:before,
.nav-pills:before,
.nav-tabs:after,
.nav-pills:after {
  display: table;
  content: "";
  line-height: 0;
}
.nav-tabs:after,
.nav-pills:after {
  clear: both;
}
.nav-tabs > li,
.nav-pills > li {
  float: left;
}
.nav-tabs > li > a,
.nav-pills > li > a {
  padding-right: 12px;
  padding-left: 12px;
  margin-right: 2px;
  line-height: 14px;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 20px;
  border: 1px solid transparent;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #dddddd;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  color: #555555;
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li > a {
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 2px;
  margin-bottom: 2px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
  color: #ffffff;
  background-color: #0088cc;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li > a {
  margin-right: 0;
}
.nav-tabs.nav-stacked {
  border-bottom: 0;
}
.nav-tabs.nav-stacked > li > a {
  border: 1px solid #ddd;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.nav-tabs.nav-stacked > li:first-child > a {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.nav-tabs.nav-stacked > li:last-child > a {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
  border-color: #ddd;
  z-index: 2;
}
.nav-pills.nav-stacked > li > a {
  margin-bottom: 3px;
}
.nav-pills.nav-stacked > li:last-child > a {
  margin-bottom: 1px;
}
.nav-tabs .dropdown-menu {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
}
.nav-pills .dropdown-menu {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.nav .dropdown-toggle .caret {
  border-top-color: #0088cc;
  border-bottom-color: #0088cc;
  margin-top: 6px;
}
.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
  border-top-color: #005580;
  border-bottom-color: #005580;
}
/* move down carets for tabs */
.nav-tabs .dropdown-toggle .caret {
  margin-top: 8px;
}
.nav .active .dropdown-toggle .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
}
.nav-tabs .active .dropdown-toggle .caret {
  border-top-color: #555555;
  border-bottom-color: #555555;
}
.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
  cursor: pointer;
}
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
  color: #ffffff;
  background-color: #999999;
  border-color: #999999;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
  opacity: 1;
  filter: alpha(opacity=100);
}
.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
  border-color: #999999;
}
.tabbable {
  *zoom: 1;
}
.tabbable:before,
.tabbable:after {
  display: table;
  content: "";
  line-height: 0;
}
.tabbable:after {
  clear: both;
}
.tab-content {
  overflow: auto;
}
.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
  border-bottom: 0;
}
.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
}
.tab-content > .active,
.pill-content > .active {
  display: block;
}
.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}
.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-bottom-color: transparent;
  border-top-color: #ddd;
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  min-width: 74px;
  margin-right: 0;
  margin-bottom: 3px;
}
.tabs-left > .nav-tabs {
  float: left;
  margin-right: 19px;
  border-right: 1px solid #ddd;
}
.tabs-left > .nav-tabs > li > a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  *border-right-color: #ffffff;
}
.tabs-right > .nav-tabs {
  float: right;
  margin-left: 19px;
  border-left: 1px solid #ddd;
}
.tabs-right > .nav-tabs > li > a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}
.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
  *border-left-color: #ffffff;
}
.nav > .disabled > a {
  color: #999999;
}
.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  cursor: default;
}
.navbar {
  overflow: visible;
  margin-bottom: 20px;
  *position: relative;
  *z-index: 2;
}
.navbar-inner {
  min-height: 40px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fafafa;
  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
  border: 1px solid #d4d4d4;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  *zoom: 1;
}
.navbar-inner:before,
.navbar-inner:after {
  display: table;
  content: "";
  line-height: 0;
}
.navbar-inner:after {
  clear: both;
}
.navbar .container {
  width: auto;
}
.nav-collapse.collapse {
  height: auto;
  overflow: visible;
}
.navbar .brand {
  float: left;
  display: block;
  padding: 10px 20px 10px;
  margin-left: -20px;
  font-size: 20px;
  font-weight: 200;
  color: #777777;
  text-shadow: 0 1px 0 #ffffff;
}
.navbar .brand:hover,
.navbar .brand:focus {
  text-decoration: none;
}
.navbar-text {
  margin-bottom: 0;
  line-height: 40px;
  color: #777777;
}
.navbar-link {
  color: #777777;
}
.navbar-link:hover,
.navbar-link:focus {
  color: #333333;
}
.navbar .divider-vertical {
  height: 40px;
  margin: 0 9px;
  border-left: 1px solid #f2f2f2;
  border-right: 1px solid #ffffff;
}
.navbar .btn,
.navbar .btn-group {
  margin-top: 5px;
}
.navbar .btn-group .btn,
.navbar .input-prepend .btn,
.navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
  margin-top: 0;
}
.navbar-form {
  margin-bottom: 0;
  *zoom: 1;
}
.navbar-form:before,
.navbar-form:after {
  display: table;
  content: "";
  line-height: 0;
}
.navbar-form:after {
  clear: both;
}
.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
  margin-top: 5px;
}
.navbar-form input,
.navbar-form select,
.navbar-form .btn {
  display: inline-block;
  margin-bottom: 0;
}
.navbar-form input[type="image"],
.navbar-form input[type="checkbox"],
.navbar-form input[type="radio"] {
  margin-top: 3px;
}
.navbar-form .input-append,
.navbar-form .input-prepend {
  margin-top: 5px;
  white-space: nowrap;
}
.navbar-form .input-append input,
.navbar-form .input-prepend input {
  margin-top: 0;
}
.navbar-search {
  position: relative;
  float: left;
  margin-top: 5px;
  margin-bottom: 0;
}
.navbar-search .search-query {
  margin-bottom: 0;
  padding: 4px 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.navbar-static-top {
  position: static;
  margin-bottom: 0;
}
.navbar-static-top .navbar-inner {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
  margin-bottom: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
  border-width: 0 0 1px;
}
.navbar-fixed-bottom .navbar-inner {
  border-width: 1px 0 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
  padding-left: 0;
  padding-right: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 940px;
}
.navbar-fixed-top {
  top: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.navbar-fixed-bottom {
  bottom: 0;
}
.navbar-fixed-bottom .navbar-inner {
  -webkit-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
  box-shadow: 0 -1px 10px rgba(0,0,0,.1);
}
.navbar .nav {
  position: relative;
  left: 0;
  display: block;
  float: left;
  margin: 0 10px 0 0;
}
.navbar .nav.pull-right {
  float: right;
  margin-right: 0;
}
.navbar .nav > li {
  float: left;
}
.navbar .nav > li > a {
  float: none;
  padding: 10px 15px 10px;
  color: #777777;
  text-decoration: none;
  text-shadow: 0 1px 0 #ffffff;
}
.navbar .nav .dropdown-toggle .caret {
  margin-top: 8px;
}
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
  background-color: transparent;
  color: #333333;
  text-decoration: none;
}
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
  color: #555555;
  text-decoration: none;
  background-color: #e5e5e5;
  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}
.navbar .btn-navbar {
  display: none;
  float: right;
  padding: 7px 10px;
  margin-left: 5px;
  margin-right: 5px;
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #ededed;
  background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
  background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
  border-color: #e5e5e5 #e5e5e5 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e5e5e5;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
}
.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active,
.navbar .btn-navbar.active,
.navbar .btn-navbar.disabled,
.navbar .btn-navbar[disabled] {
  color: #ffffff;
  background-color: #e5e5e5;
  *background-color: #d9d9d9;
}
.navbar .btn-navbar:active,
.navbar .btn-navbar.active {
  background-color: #cccccc \9;
}
.navbar .btn-navbar .icon-bar {
  display: block;
  width: 18px;
  height: 2px;
  background-color: #f5f5f5;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.btn-navbar .icon-bar + .icon-bar {
  margin-top: 3px;
}
.navbar .nav > li > .dropdown-menu:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 9px;
}
.navbar .nav > li > .dropdown-menu:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 10px;
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
  border-top: 7px solid #ccc;
  border-top-color: rgba(0, 0, 0, 0.2);
  border-bottom: 0;
  bottom: -7px;
  top: auto;
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
  border-top: 6px solid #ffffff;
  border-bottom: 0;
  bottom: -6px;
  top: auto;
}
.navbar .nav li.dropdown > a:hover .caret,
.navbar .nav li.dropdown > a:focus .caret {
  border-top-color: #333333;
  border-bottom-color: #333333;
}
.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  background-color: #e5e5e5;
  color: #555555;
}
.navbar .nav li.dropdown > .dropdown-toggle .caret {
  border-top-color: #777777;
  border-bottom-color: #777777;
}
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
  border-top-color: #555555;
  border-bottom-color: #555555;
}
.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
  left: auto;
  right: 0;
}
.navbar .pull-right > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu.pull-right:before {
  left: auto;
  right: 12px;
}
.navbar .pull-right > li > .dropdown-menu:after,
.navbar .nav > li > .dropdown-menu.pull-right:after {
  left: auto;
  right: 13px;
}
.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: -1px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px;
}
.navbar-inverse .navbar-inner {
  background-color: #1b1b1b;
  background-image: -moz-linear-gradient(top, #222222, #111111);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
  background-image: -webkit-linear-gradient(top, #222222, #111111);
  background-image: -o-linear-gradient(top, #222222, #111111);
  background-image: linear-gradient(to bottom, #222222, #111111);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
  border-color: #252525;
}
.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
  color: #999999;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
  color: #ffffff;
}
.navbar-inverse .brand {
  color: #999999;
}
.navbar-inverse .navbar-text {
  color: #999999;
}
.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
  background-color: transparent;
  color: #ffffff;
}
.navbar-inverse .nav .active > a,
.navbar-inverse .nav .active > a:hover,
.navbar-inverse .nav .active > a:focus {
  color: #ffffff;
  background-color: #111111;
}
.navbar-inverse .navbar-link {
  color: #999999;
}
.navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
  color: #ffffff;
}
.navbar-inverse .divider-vertical {
  border-left-color: #111111;
  border-right-color: #222222;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
  background-color: #111111;
  color: #ffffff;
}
.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
  border-top-color: #999999;
  border-bottom-color: #999999;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.navbar-inverse .navbar-search .search-query {
  color: #ffffff;
  background-color: #515151;
  border-color: #111111;
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
.navbar-inverse .navbar-search .search-query:-moz-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:focus,
.navbar-inverse .navbar-search .search-query.focused {
  padding: 5px 15px;
  color: #333333;
  text-shadow: 0 1px 0 #ffffff;
  background-color: #ffffff;
  border: 0;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  outline: 0;
}
.navbar-inverse .btn-navbar {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #0e0e0e;
  background-image: -moz-linear-gradient(top, #151515, #040404);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
  background-image: -webkit-linear-gradient(top, #151515, #040404);
  background-image: -o-linear-gradient(top, #151515, #040404);
  background-image: linear-gradient(to bottom, #151515, #040404);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
  border-color: #040404 #040404 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #040404;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled,
.navbar-inverse .btn-navbar[disabled] {
  color: #ffffff;
  background-color: #040404;
  *background-color: #000000;
}
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active {
  background-color: #000000 \9;
}
.breadcrumb {
  padding: 8px 15px;
  margin: 0 0 20px;
  list-style: none;
  background-color: #f5f5f5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.breadcrumb > li {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  text-shadow: 0 1px 0 #ffffff;
}
.breadcrumb > li > .divider {
  padding: 0 5px;
  color: #ccc;
}
.breadcrumb > .active {
  color: #999999;
}
.pagination {
  margin: 20px 0;
}
.pagination ul {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  margin-left: 0;
  margin-bottom: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pagination ul > li {
  display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
  float: left;
  padding: 4px 12px;
  line-height: 20px;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-left-width: 0;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
  background-color: #f5f5f5;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
  color: #999999;
  cursor: default;
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
  color: #999999;
  background-color: transparent;
  cursor: default;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
  border-left-width: 1px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.pagination-centered {
  text-align: center;
}
.pagination-right {
  text-align: right;
}
.pagination-large ul > li > a,
.pagination-large ul > li > span {
  padding: 11px 19px;
  font-size: 17.5px;
}
.pagination-large ul > li:first-child > a,
.pagination-large ul > li:first-child > span {
  -webkit-border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-left-radius: 6px;
}
.pagination-large ul > li:last-child > a,
.pagination-large ul > li:last-child > span {
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  border-bottom-right-radius: 6px;
}
.pagination-mini ul > li:first-child > a,
.pagination-small ul > li:first-child > a,
.pagination-mini ul > li:first-child > span,
.pagination-small ul > li:first-child > span {
  -webkit-border-top-left-radius: 3px;
  -moz-border-radius-topleft: 3px;
  border-top-left-radius: 3px;
  -webkit-border-bottom-left-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
  border-bottom-left-radius: 3px;
}
.pagination-mini ul > li:last-child > a,
.pagination-small ul > li:last-child > a,
.pagination-mini ul > li:last-child > span,
.pagination-small ul > li:last-child > span {
  -webkit-border-top-right-radius: 3px;
  -moz-border-radius-topright: 3px;
  border-top-right-radius: 3px;
  -webkit-border-bottom-right-radius: 3px;
  -moz-border-radius-bottomright: 3px;
  border-bottom-right-radius: 3px;
}
.pagination-small ul > li > a,
.pagination-small ul > li > span {
  padding: 2px 10px;
  font-size: 11.9px;
}
.pagination-mini ul > li > a,
.pagination-mini ul > li > span {
  padding: 0 6px;
  font-size: 10.5px;
}
.pager {
  margin: 20px 0;
  list-style: none;
  text-align: center;
  *zoom: 1;
}
.pager:before,
.pager:after {
  display: table;
  content: "";
  line-height: 0;
}
.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;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #f5f5f5;
}
.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: #999999;
  background-color: #fff;
  cursor: default;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop,
.modal-backdrop.fade.in {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.modal {
  position: fixed;
  top: 10%;
  left: 50%;
  z-index: 1050;
  width: 560px;
  margin-left: -280px;
  background-color: #ffffff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.3);
  *border: 1px solid #999;
  /* IE6-7 */
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
  outline: none;
}
.modal.fade {
  -webkit-transition: opacity .3s linear, top .3s ease-out;
  -moz-transition: opacity .3s linear, top .3s ease-out;
  -o-transition: opacity .3s linear, top .3s ease-out;
  transition: opacity .3s linear, top .3s ease-out;
  top: -25%;
}
.modal.fade.in {
  top: 10%;
}
.modal-header {
  padding: 9px 15px;
  border-bottom: 1px solid #eee;
}
.modal-header .close {
  margin-top: 2px;
}
.modal-header h3 {
  margin: 0;
  line-height: 30px;
}
.modal-body {
  position: relative;
  overflow-y: auto;
  max-height: 400px;
  padding: 15px;
}
.modal-form {
  margin-bottom: 0;
}
.modal-footer {
  padding: 14px 15px 15px;
  margin-bottom: 0;
  text-align: right;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: inset 0 1px 0 #ffffff;
  -moz-box-shadow: inset 0 1px 0 #ffffff;
  box-shadow: inset 0 1px 0 #ffffff;
  *zoom: 1;
}
.modal-footer:before,
.modal-footer:after {
  display: table;
  content: "";
  line-height: 0;
}
.modal-footer:after {
  clear: both;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.tooltip {
  position: absolute;
  z-index: 1030;
  display: block;
  visibility: visible;
  font-size: 11px;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.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: 8px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  background-color: #000000;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.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: #000000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  max-width: 276px;
  padding: 1px;
  text-align: left;
  background-color: #ffffff;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}
.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;
  font-weight: normal;
  line-height: 18px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
.popover-title:empty {
  display: none;
}
.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: #999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top .arrow:after {
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #ffffff;
}
.popover.right .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right .arrow:after {
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #ffffff;
}
.popover.bottom .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom .arrow:after {
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #ffffff;
}
.popover.left .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left .arrow:after {
  right: 1px;
  border-right-width: 0;
  border-left-color: #ffffff;
  bottom: -10px;
}
.thumbnails {
  margin-left: -20px;
  list-style: none;
  *zoom: 1;
}
.thumbnails:before,
.thumbnails:after {
  display: table;
  content: "";
  line-height: 0;
}
.thumbnails:after {
  clear: both;
}
.row-fluid .thumbnails {
  margin-left: 0;
}
.thumbnails > li {
  float: left;
  margin-bottom: 20px;
  margin-left: 20px;
}
.thumbnail {
  display: block;
  padding: 4px;
  line-height: 20px;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a.thumbnail:hover,
a.thumbnail:focus {
  border-color: #0088cc;
  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}
.thumbnail > img {
  display: block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.thumbnail .caption {
  padding: 9px;
  color: #555555;
}
.media,
.media-body {
  overflow: hidden;
  *overflow: visible;
  zoom: 1;
}
.media,
.media .media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media-object {
  display: block;
}
.media-heading {
  margin: 0 0 5px;
}
.media > .pull-left {
  margin-right: 10px;
}
.media > .pull-right {
  margin-left: 10px;
}
.media-list {
  margin-left: 0;
  list-style: none;
}
.label,
.badge {
  display: inline-block;
  padding: 2px 4px;
  font-size: 11.844px;
  font-weight: bold;
  line-height: 14px;
  color: #ffffff;
  vertical-align: baseline;
  white-space: nowrap;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #999999;
}
.label {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.badge {
  padding-left: 9px;
  padding-right: 9px;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  border-radius: 9px;
}
.label:empty,
.badge:empty {
  display: none;
}
a.label:hover,
a.label:focus,
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.label-important,
.badge-important {
  background-color: #b94a48;
}
.label-important[href],
.badge-important[href] {
  background-color: #953b39;
}
.label-warning,
.badge-warning {
  background-color: #f89406;
}
.label-warning[href],
.badge-warning[href] {
  background-color: #c67605;
}
.label-success,
.badge-success {
  background-color: #468847;
}
.label-success[href],
.badge-success[href] {
  background-color: #356635;
}
.label-info,
.badge-info {
  background-color: #3a87ad;
}
.label-info[href],
.badge-info[href] {
  background-color: #2d6987;
}
.label-inverse,
.badge-inverse {
  background-color: #333333;
}
.label-inverse[href],
.badge-inverse[href] {
  background-color: #1a1a1a;
}
.btn .label,
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-mini .label,
.btn-mini .badge {
  top: 0;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-moz-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-ms-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-o-keyframes progress-bar-stripes {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 40px 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: #f7f7f7;
  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.progress .bar {
  width: 0%;
  height: 100%;
  color: #ffffff;
  float: left;
  font-size: 12px;
  text-align: center;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #0e90d2;
  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
  background-image: -o-linear-gradient(top, #149bdf, #0480be);
  background-image: linear-gradient(to bottom, #149bdf, #0480be);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -moz-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-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: width 0.6s ease;
  -moz-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress .bar + .bar {
  -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
  -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
  box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
}
.progress-striped .bar {
  background-color: #149bdf;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  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: -moz-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);
  -webkit-background-size: 40px 40px;
  -moz-background-size: 40px 40px;
  -o-background-size: 40px 40px;
  background-size: 40px 40px;
}
.progress.active .bar {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -moz-animation: progress-bar-stripes 2s linear infinite;
  -ms-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-danger .bar,
.progress .bar-danger {
  background-color: #dd514c;
  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
}
.progress-danger.progress-striped .bar,
.progress-striped .bar-danger {
  background-color: #ee5f5b;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  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: -moz-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-success .bar,
.progress .bar-success {
  background-color: #5eb95e;
  background-image: -moz-linear-gradient(top, #62c462, #57a957);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
  background-image: -o-linear-gradient(top, #62c462, #57a957);
  background-image: linear-gradient(to bottom, #62c462, #57a957);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
}
.progress-success.progress-striped .bar,
.progress-striped .bar-success {
  background-color: #62c462;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  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: -moz-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-info .bar,
.progress .bar-info {
  background-color: #4bb1cf;
  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
}
.progress-info.progress-striped .bar,
.progress-striped .bar-info {
  background-color: #5bc0de;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  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: -moz-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-warning .bar,
.progress .bar-warning {
  background-color: #faa732;
  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
  background-image: -o-linear-gradient(top, #fbb450, #f89406);
  background-image: linear-gradient(to bottom, #fbb450, #f89406);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
}
.progress-warning.progress-striped .bar,
.progress-striped .bar-warning {
  background-color: #fbb450;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  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: -moz-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);
}
.accordion {
  margin-bottom: 20px;
}
.accordion-group {
  margin-bottom: 2px;
  border: 1px solid #e5e5e5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.accordion-heading {
  border-bottom: 0;
}
.accordion-heading .accordion-toggle {
  display: block;
  padding: 8px 15px;
}
.accordion-toggle {
  cursor: pointer;
}
.accordion-inner {
  padding: 9px 15px;
  border-top: 1px solid #e5e5e5;
}
.carousel {
  position: relative;
  margin-bottom: 20px;
  line-height: 1;
}
.carousel-inner {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -moz-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;
  line-height: 1;
}
.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: 40%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #ffffff;
  text-align: center;
  background: #222222;
  border: 3px solid #ffffff;
  -webkit-border-radius: 23px;
  -moz-border-radius: 23px;
  border-radius: 23px;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.carousel-control.right {
  left: auto;
  right: 15px;
}
.carousel-control:hover,
.carousel-control:focus {
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-indicators {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 5;
  margin: 0;
  list-style: none;
}
.carousel-indicators li {
  display: block;
  float: left;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  text-indent: -999px;
  background-color: #ccc;
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 5px;
}
.carousel-indicators .active {
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
}
.carousel-caption h4,
.carousel-caption p {
  color: #ffffff;
  line-height: 20px;
}
.carousel-caption h4 {
  margin: 0 0 5px;
}
.carousel-caption p {
  margin-bottom: 0;
}
.hero-unit {
  padding: 60px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 200;
  line-height: 30px;
  color: inherit;
  background-color: #eeeeee;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.hero-unit h1 {
  margin-bottom: 0;
  font-size: 60px;
  line-height: 1;
  color: inherit;
  letter-spacing: -1px;
}
.hero-unit li {
  line-height: 30px;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.hide {
  display: none;
}
.show {
  display: block;
}
.invisible {
  visibility: hidden;
}
.affix {
  position: fixed;
}
/*!
 * Bootstrap Responsive v2.3.2
 *
 * Copyright 2013 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world by @mdo and @fat.
 */
@-ms-viewport {
  width: device-width;
}
.hidden {
  display: none;
  visibility: hidden;
}
.visible-phone {
  display: none !important;
}
.visible-tablet {
  display: none !important;
}
.hidden-desktop {
  display: none !important;
}
.visible-desktop {
  display: inherit !important;
}
@media (min-width: 768px) and (max-width: 979px) {
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important ;
  }
  .visible-tablet {
    display: inherit !important;
  }
  .hidden-tablet {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
  .visible-phone {
    display: inherit !important;
  }
  .hidden-phone {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: inherit !important;
  }
  .hidden-print {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .row {
    margin-left: -30px;
    *zoom: 1;
  }
  .row:before,
  .row:after {
    display: table;
    content: "";
    line-height: 0;
  }
  .row:after {
    clear: both;
  }
  [class*="span"] {
    float: left;
    min-height: 1px;
    margin-left: 30px;
  }
  .container,
  .navbar-static-top .container,
  .navbar-fixed-top .container,
  .navbar-fixed-bottom .container {
    width: 1170px;
  }
  .span12 {
    width: 1170px;
  }
  .span11 {
    width: 1070px;
  }
  .span10 {
    width: 970px;
  }
  .span9 {
    width: 870px;
  }
  .span8 {
    width: 770px;
  }
  .span7 {
    width: 670px;
  }
  .span6 {
    width: 570px;
  }
  .span5 {
    width: 470px;
  }
  .span4 {
    width: 370px;
  }
  .span3 {
    width: 270px;
  }
  .span2 {
    width: 170px;
  }
  .span1 {
    width: 70px;
  }
  .offset12 {
    margin-left: 1230px;
  }
  .offset11 {
    margin-left: 1130px;
  }
  .offset10 {
    margin-left: 1030px;
  }
  .offset9 {
    margin-left: 930px;
  }
  .offset8 {
    margin-left: 830px;
  }
  .offset7 {
    margin-left: 730px;
  }
  .offset6 {
    margin-left: 630px;
  }
  .offset5 {
    margin-left: 530px;
  }
  .offset4 {
    margin-left: 430px;
  }
  .offset3 {
    margin-left: 330px;
  }
  .offset2 {
    margin-left: 230px;
  }
  .offset1 {
    margin-left: 130px;
  }
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before,
  .row-fluid:after {
    display: table;
    content: "";
    line-height: 0;
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*="span"] {
    display: block;
    width: 100%;
    min-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin-left: 2.56410256%;
    *margin-left: 2.51091107%;
  }
  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }
  .row-fluid .controls-row [class*="span"] + [class*="span"] {
    margin-left: 2.56410256%;
  }
  .row-fluid .span12 {
    width: 100%;
    *width: 99.94680851%;
  }
  .row-fluid .span11 {
    width: 91.45299145%;
    *width: 91.39979996%;
  }
  .row-fluid .span10 {
    width: 82.90598291%;
    *width: 82.85279142%;
  }
  .row-fluid .span9 {
    width: 74.35897436%;
    *width: 74.30578287%;
  }
  .row-fluid .span8 {
    width: 65.81196581%;
    *width: 65.75877432%;
  }
  .row-fluid .span7 {
    width: 57.26495726%;
    *width: 57.21176578%;
  }
  .row-fluid .span6 {
    width: 48.71794872%;
    *width: 48.66475723%;
  }
  .row-fluid .span5 {
    width: 40.17094017%;
    *width: 40.11774868%;
  }
  .row-fluid .span4 {
    width: 31.62393162%;
    *width: 31.57074013%;
  }
  .row-fluid .span3 {
    width: 23.07692308%;
    *width: 23.02373159%;
  }
  .row-fluid .span2 {
    width: 14.52991453%;
    *width: 14.47672304%;
  }
  .row-fluid .span1 {
    width: 5.98290598%;
    *width: 5.92971449%;
  }
  .row-fluid .offset12 {
    margin-left: 105.12820513%;
    *margin-left: 105.02182215%;
  }
  .row-fluid .offset12:first-child {
    margin-left: 102.56410256%;
    *margin-left: 102.45771959%;
  }
  .row-fluid .offset11 {
    margin-left: 96.58119658%;
    *margin-left: 96.4748136%;
  }
  .row-fluid .offset11:first-child {
    margin-left: 94.01709402%;
    *margin-left: 93.91071104%;
  }
  .row-fluid .offset10 {
    margin-left: 88.03418803%;
    *margin-left: 87.92780506%;
  }
  .row-fluid .offset10:first-child {
    margin-left: 85.47008547%;
    *margin-left: 85.36370249%;
  }
  .row-fluid .offset9 {
    margin-left: 79.48717949%;
    *margin-left: 79.38079651%;
  }
  .row-fluid .offset9:first-child {
    margin-left: 76.92307692%;
    *margin-left: 76.81669394%;
  }
  .row-fluid .offset8 {
    margin-left: 70.94017094%;
    *margin-left: 70.83378796%;
  }
  .row-fluid .offset8:first-child {
    margin-left: 68.37606838%;
    *margin-left: 68.2696854%;
  }
  .row-fluid .offset7 {
    margin-left: 62.39316239%;
    *margin-left: 62.28677941%;
  }
  .row-fluid .offset7:first-child {
    margin-left: 59.82905983%;
    *margin-left: 59.72267685%;
  }
  .row-fluid .offset6 {
    margin-left: 53.84615385%;
    *margin-left: 53.73977087%;
  }
  .row-fluid .offset6:first-child {
    margin-left: 51.28205128%;
    *margin-left: 51.1756683%;
  }
  .row-fluid .offset5 {
    margin-left: 45.2991453%;
    *margin-left: 45.19276232%;
  }
  .row-fluid .offset5:first-child {
    margin-left: 42.73504274%;
    *margin-left: 42.62865976%;
  }
  .row-fluid .offset4 {
    margin-left: 36.75213675%;
    *margin-left: 36.64575377%;
  }
  .row-fluid .offset4:first-child {
    margin-left: 34.18803419%;
    *margin-left: 34.08165121%;
  }
  .row-fluid .offset3 {
    margin-left: 28.20512821%;
    *margin-left: 28.09874523%;
  }
  .row-fluid .offset3:first-child {
    margin-left: 25.64102564%;
    *margin-left: 25.53464266%;
  }
  .row-fluid .offset2 {
    margin-left: 19.65811966%;
    *margin-left: 19.55173668%;
  }
  .row-fluid .offset2:first-child {
    margin-left: 17.09401709%;
    *margin-left: 16.98763412%;
  }
  .row-fluid .offset1 {
    margin-left: 11.11111111%;
    *margin-left: 11.00472813%;
  }
  .row-fluid .offset1:first-child {
    margin-left: 8.54700855%;
    *margin-left: 8.44062557%;
  }
  input,
  textarea,
  .uneditable-input {
    margin-left: 0;
  }
  .controls-row [class*="span"] + [class*="span"] {
    margin-left: 30px;
  }
  input.span12,
  textarea.span12,
  .uneditable-input.span12 {
    width: 1156px;
  }
  input.span11,
  textarea.span11,
  .uneditable-input.span11 {
    width: 1056px;
  }
  input.span10,
  textarea.span10,
  .uneditable-input.span10 {
    width: 956px;
  }
  input.span9,
  textarea.span9,
  .uneditable-input.span9 {
    width: 856px;
  }
  input.span8,
  textarea.span8,
  .uneditable-input.span8 {
    width: 756px;
  }
  input.span7,
  textarea.span7,
  .uneditable-input.span7 {
    width: 656px;
  }
  input.span6,
  textarea.span6,
  .uneditable-input.span6 {
    width: 556px;
  }
  input.span5,
  textarea.span5,
  .uneditable-input.span5 {
    width: 456px;
  }
  input.span4,
  textarea.span4,
  .uneditable-input.span4 {
    width: 356px;
  }
  input.span3,
  textarea.span3,
  .uneditable-input.span3 {
    width: 256px;
  }
  input.span2,
  textarea.span2,
  .uneditable-input.span2 {
    width: 156px;
  }
  input.span1,
  textarea.span1,
  .uneditable-input.span1 {
    width: 56px;
  }
  .thumbnails {
    margin-left: -30px;
  }
  .thumbnails > li {
    margin-left: 30px;
  }
  .row-fluid .thumbnails {
    margin-left: 0;
  }
}
@media (min-width: 768px) and (max-width: 979px) {
  .row {
    margin-left: -20px;
    *zoom: 1;
  }
  .row:before,
  .row:after {
    display: table;
    content: "";
    line-height: 0;
  }
  .row:after {
    clear: both;
  }
  [class*="span"] {
    float: left;
    min-height: 1px;
    margin-left: 20px;
  }
  .container,
  .navbar-static-top .container,
  .navbar-fixed-top .container,
  .navbar-fixed-bottom .container {
    width: 724px;
  }
  .span12 {
    width: 724px;
  }
  .span11 {
    width: 662px;
  }
  .span10 {
    width: 600px;
  }
  .span9 {
    width: 538px;
  }
  .span8 {
    width: 476px;
  }
  .span7 {
    width: 414px;
  }
  .span6 {
    width: 352px;
  }
  .span5 {
    width: 290px;
  }
  .span4 {
    width: 228px;
  }
  .span3 {
    width: 166px;
  }
  .span2 {
    width: 104px;
  }
  .span1 {
    width: 42px;
  }
  .offset12 {
    margin-left: 764px;
  }
  .offset11 {
    margin-left: 702px;
  }
  .offset10 {
    margin-left: 640px;
  }
  .offset9 {
    margin-left: 578px;
  }
  .offset8 {
    margin-left: 516px;
  }
  .offset7 {
    margin-left: 454px;
  }
  .offset6 {
    margin-left: 392px;
  }
  .offset5 {
    margin-left: 330px;
  }
  .offset4 {
    margin-left: 268px;
  }
  .offset3 {
    margin-left: 206px;
  }
  .offset2 {
    margin-left: 144px;
  }
  .offset1 {
    margin-left: 82px;
  }
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before,
  .row-fluid:after {
    display: table;
    content: "";
    line-height: 0;
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*="span"] {
    display: block;
    width: 100%;
    min-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    margin-left: 2.76243094%;
    *margin-left: 2.70923945%;
  }
  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }
  .row-fluid .controls-row [class*="span"] + [class*="span"] {
    margin-left: 2.76243094%;
  }
  .row-fluid .span12 {
    width: 100%;
    *width: 99.94680851%;
  }
  .row-fluid .span11 {
    width: 91.43646409%;
    *width: 91.3832726%;
  }
  .row-fluid .span10 {
    width: 82.87292818%;
    *width: 82.81973669%;
  }
  .row-fluid .span9 {
    width: 74.30939227%;
    *width: 74.25620078%;
  }
  .row-fluid .span8 {
    width: 65.74585635%;
    *width: 65.69266486%;
  }
  .row-fluid .span7 {
    width: 57.18232044%;
    *width: 57.12912895%;
  }
  .row-fluid .span6 {
    width: 48.61878453%;
    *width: 48.56559304%;
  }
  .row-fluid .span5 {
    width: 40.05524862%;
    *width: 40.00205713%;
  }
  .row-fluid .span4 {
    width: 31.49171271%;
    *width: 31.43852122%;
  }
  .row-fluid .span3 {
    width: 22.9281768%;
    *width: 22.87498531%;
  }
  .row-fluid .span2 {
    width: 14.36464088%;
    *width: 14.31144939%;
  }
  .row-fluid .span1 {
    width: 5.80110497%;
    *width: 5.74791348%;
  }
  .row-fluid .offset12 {
    margin-left: 105.52486188%;
    *margin-left: 105.4184789%;
  }
  .row-fluid .offset12:first-child {
    margin-left: 102.76243094%;
    *margin-left: 102.65604796%;
  }
  .row-fluid .offset11 {
    margin-left: 96.96132597%;
    *margin-left: 96.85494299%;
  }
  .row-fluid .offset11:first-child {
    margin-left: 94.19889503%;
    *margin-left: 94.09251205%;
  }
  .row-fluid .offset10 {
    margin-left: 88.39779006%;
    *margin-left: 88.29140708%;
  }
  .row-fluid .offset10:first-child {
    margin-left: 85.63535912%;
    *margin-left: 85.52897614%;
  }
  .row-fluid .offset9 {
    margin-left: 79.83425414%;
    *margin-left: 79.72787116%;
  }
  .row-fluid .offset9:first-child {
    margin-left: 77.0718232%;
    *margin-left: 76.96544023%;
  }
  .row-fluid .offset8 {
    margin-left: 71.27071823%;
    *margin-left: 71.16433525%;
  }
  .row-fluid .offset8:first-child {
    margin-left: 68.50828729%;
    *margin-left: 68.40190431%;
  }
  .row-fluid .offset7 {
    margin-left: 62.70718232%;
    *margin-left: 62.60079934%;
  }
  .row-fluid .offset7:first-child {
    margin-left: 59.94475138%;
    *margin-left: 59.8383684%;
  }
  .row-fluid .offset6 {
    margin-left: 54.14364641%;
    *margin-left: 54.03726343%;
  }
  .row-fluid .offset6:first-child {
    margin-left: 51.38121547%;
    *margin-left: 51.27483249%;
  }
  .row-fluid .offset5 {
    margin-left: 45.5801105%;
    *margin-left: 45.47372752%;
  }
  .row-fluid .offset5:first-child {
    margin-left: 42.81767956%;
    *margin-left: 42.71129658%;
  }
  .row-fluid .offset4 {
    margin-left: 37.01657459%;
    *margin-left: 36.91019161%;
  }
  .row-fluid .offset4:first-child {
    margin-left: 34.25414365%;
    *margin-left: 34.14776067%;
  }
  .row-fluid .offset3 {
    margin-left: 28.45303867%;
    *margin-left: 28.3466557%;
  }
  .row-fluid .offset3:first-child {
    margin-left: 25.69060773%;
    *margin-left: 25.58422476%;
  }
  .row-fluid .offset2 {
    margin-left: 19.88950276%;
    *margin-left: 19.78311978%;
  }
  .row-fluid .offset2:first-child {
    margin-left: 17.12707182%;
    *margin-left: 17.02068884%;
  }
  .row-fluid .offset1 {
    margin-left: 11.32596685%;
    *margin-left: 11.21958387%;
  }
  .row-fluid .offset1:first-child {
    margin-left: 8.56353591%;
    *margin-left: 8.45715293%;
  }
  input,
  textarea,
  .uneditable-input {
    margin-left: 0;
  }
  .controls-row [class*="span"] + [class*="span"] {
    margin-left: 20px;
  }
  input.span12,
  textarea.span12,
  .uneditable-input.span12 {
    width: 710px;
  }
  input.span11,
  textarea.span11,
  .uneditable-input.span11 {
    width: 648px;
  }
  input.span10,
  textarea.span10,
  .uneditable-input.span10 {
    width: 586px;
  }
  input.span9,
  textarea.span9,
  .uneditable-input.span9 {
    width: 524px;
  }
  input.span8,
  textarea.span8,
  .uneditable-input.span8 {
    width: 462px;
  }
  input.span7,
  textarea.span7,
  .uneditable-input.span7 {
    width: 400px;
  }
  input.span6,
  textarea.span6,
  .uneditable-input.span6 {
    width: 338px;
  }
  input.span5,
  textarea.span5,
  .uneditable-input.span5 {
    width: 276px;
  }
  input.span4,
  textarea.span4,
  .uneditable-input.span4 {
    width: 214px;
  }
  input.span3,
  textarea.span3,
  .uneditable-input.span3 {
    width: 152px;
  }
  input.span2,
  textarea.span2,
  .uneditable-input.span2 {
    width: 90px;
  }
  input.span1,
  textarea.span1,
  .uneditable-input.span1 {
    width: 28px;
  }
}
@media (max-width: 767px) {
  body {
    padding-left: 20px;
    padding-right: 20px;
  }
  .navbar-fixed-top,
  .navbar-fixed-bottom,
  .navbar-static-top {
    margin-left: -20px;
    margin-right: -20px;
  }
  .container-fluid {
    padding: 0;
  }
  .dl-horizontal dt {
    float: none;
    clear: none;
    width: auto;
    text-align: left;
  }
  .dl-horizontal dd {
    margin-left: 0;
  }
  .container {
    width: auto;
  }
  .row-fluid {
    width: 100%;
  }
  .row,
  .thumbnails {
    margin-left: 0;
  }
  .thumbnails > li {
    float: none;
    margin-left: 0;
  }
  [class*="span"],
  .uneditable-input[class*="span"],
  .row-fluid [class*="span"] {
    float: none;
    display: block;
    width: 100%;
    margin-left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .span12,
  .row-fluid .span12 {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .row-fluid [class*="offset"]:first-child {
    margin-left: 0;
  }
  .input-large,
  .input-xlarge,
  .input-xxlarge,
  input[class*="span"],
  select[class*="span"],
  textarea[class*="span"],
  .uneditable-input {
    display: block;
    width: 100%;
    min-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .input-prepend input,
  .input-append input,
  .input-prepend input[class*="span"],
  .input-append input[class*="span"] {
    display: inline-block;
    width: auto;
  }
  .controls-row [class*="span"] + [class*="span"] {
    margin-left: 0;
  }
  .modal {
    position: fixed;
    top: 20px;
    left: 20px;
    right: 20px;
    width: auto;
    margin: 0;
  }
  .modal.fade {
    top: -100px;
  }
  .modal.fade.in {
    top: 20px;
  }
}
@media (max-width: 480px) {
  .nav-collapse {
    -webkit-transform: translate3d(0, 0, 0);
  }
  .page-header h1 small {
    display: block;
    line-height: 20px;
  }
  input[type="checkbox"],
  input[type="radio"] {
    border: 1px solid #ccc;
  }
  .form-horizontal .control-label {
    float: none;
    width: auto;
    padding-top: 0;
    text-align: left;
  }
  .form-horizontal .controls {
    margin-left: 0;
  }
  .form-horizontal .control-list {
    padding-top: 0;
  }
  .form-horizontal .form-actions {
    padding-left: 10px;
    padding-right: 10px;
  }
  .media .pull-left,
  .media .pull-right {
    float: none;
    display: block;
    margin-bottom: 10px;
  }
  .media-object {
    margin-right: 0;
    margin-left: 0;
  }
  .modal {
    top: 10px;
    left: 10px;
    right: 10px;
  }
  .modal-header .close {
    padding: 10px;
    margin: -10px;
  }
  .carousel-caption {
    position: static;
  }
}
@media (max-width: 979px) {
  body {
    padding-top: 0;
  }
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    position: static;
  }
  .navbar-fixed-top {
    margin-bottom: 20px;
  }
  .navbar-fixed-bottom {
    margin-top: 20px;
  }
  .navbar-fixed-top .navbar-inner,
  .navbar-fixed-bottom .navbar-inner {
    padding: 5px;
  }
  .navbar .container {
    width: auto;
    padding: 0;
  }
  .navbar .brand {
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 0 0 -5px;
  }
  .nav-collapse {
    clear: both;
  }
  .nav-collapse .nav {
    float: none;
    margin: 0 0 10px;
  }
  .nav-collapse .nav > li {
    float: none;
  }
  .nav-collapse .nav > li > a {
    margin-bottom: 2px;
  }
  .nav-collapse .nav > .divider-vertical {
    display: none;
  }
  .nav-collapse .nav .nav-header {
    color: #777777;
    text-shadow: none;
  }
  .nav-collapse .nav > li > a,
  .nav-collapse .dropdown-menu a {
    padding: 9px 15px;
    font-weight: bold;
    color: #777777;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
  }
  .nav-collapse .btn {
    padding: 4px 10px 4px;
    font-weight: normal;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }
  .nav-collapse .dropdown-menu li + li a {
    margin-bottom: 2px;
  }
  .nav-collapse .nav > li > a:hover,
  .nav-collapse .nav > li > a:focus,
  .nav-collapse .dropdown-menu a:hover,
  .nav-collapse .dropdown-menu a:focus {
    background-color: #f2f2f2;
  }
  .navbar-inverse .nav-collapse .nav > li > a,
  .navbar-inverse .nav-collapse .dropdown-menu a {
    color: #999999;
  }
  .navbar-inverse .nav-collapse .nav > li > a:hover,
  .navbar-inverse .nav-collapse .nav > li > a:focus,
  .navbar-inverse .nav-collapse .dropdown-menu a:hover,
  .navbar-inverse .nav-collapse .dropdown-menu a:focus {
    background-color: #111111;
  }
  .nav-collapse.in .btn-group {
    margin-top: 5px;
    padding: 0;
  }
  .nav-collapse .dropdown-menu {
    position: static;
    top: auto;
    left: auto;
    float: none;
    display: none;
    max-width: none;
    margin: 0 15px;
    padding: 0;
    background-color: transparent;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
  }
  .nav-collapse .open > .dropdown-menu {
    display: block;
  }
  .nav-collapse .dropdown-menu:before,
  .nav-collapse .dropdown-menu:after {
    display: none;
  }
  .nav-collapse .dropdown-menu .divider {
    display: none;
  }
  .nav-collapse .nav > li > .dropdown-menu:before,
  .nav-collapse .nav > li > .dropdown-menu:after {
    display: none;
  }
  .nav-collapse .navbar-form,
  .nav-collapse .navbar-search {
    float: none;
    padding: 10px 15px;
    margin: 10px 0;
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
    -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
  }
  .navbar-inverse .nav-collapse .navbar-form,
  .navbar-inverse .nav-collapse .navbar-search {
    border-top-color: #111111;
    border-bottom-color: #111111;
  }
  .navbar .nav-collapse .nav.pull-right {
    float: none;
    margin-left: 0;
  }
  .nav-collapse,
  .nav-collapse.collapse {
    overflow: hidden;
    height: 0;
  }
  .navbar .btn-navbar {
    display: block;
  }
  .navbar-static .navbar-inner {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 979px + 1) {
  .nav-collapse.collapse {
    height: auto !important;
    overflow: visible !important;
  }
}
html,
body {
  height: 100%;
  font-weight: 300;
}
/* Typography =========================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
legend,
thead {
  color: #6cc644;
  font-weight: normal;
  font-family: "Noto Sans", sans-serif;
  line-height: 1.1em;
}
h1 {
  font-size: 3.4em;
  font-weight: 400;
  letter-spacing: -0.1em;
  word-spacing: 0.1em;
}
h1 > small {
  letter-spacing: 0px;
}
h2,
h4,
h6,
thead {
  color: #363636;
}
a:hover,
a:focus {
  text-decoration: none;
}
/* Flat buttons ======================================================= */
.btn {
  background-image: none;
  filter: none;
  font-weight: normal;
  border: none;
  text-shadow: none;
  background-color: #ededed;
}
.btn-primary {
  background-color: #006dcc;
}
.btn-info {
  background-color: #49afcd;
}
.btn-success {
  background-color: #6cc644;
}
.btn-warning {
  background-color: #faa732;
}
.btn-danger {
  background-color: #da4f49;
}
.btn-inverse {
  background-color: #363636;
}
/* Mimics form.form-inline; use with div.input-append to spread out our flat
 * buttons and distinguish them.
 *
 * Inside a form, input tags with type "password" trigger the browser's
 * password manager. We don't want this behaviour on the API page, so we use
 * div.input-append instead.
 */
.inline-flat .btn {
  margin: 0 4px;
  border-radius: 4px !important;
}
.inline-flat .btn:first-of-type {
  margin: 0 4px 0 8px;
}
#api-token {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
}
/* Custom colors for labels ============================================ */
.label {
  background-color: #ededed;
}
.label-primary {
  background-color: #006dcc;
}
.label-info {
  background-color: #49afcd;
}
.label-success {
  background-color: #6cc644;
}
.label-warning {
  background-color: #faa732;
}
.label-danger {
  background-color: #da4f49;
}
.label-inverse {
  background-color: #363636;
}
/* General Sidebar Nav CSS ============================================== */
.nav {
  word-wrap: break-word;
}
.menu-colour {
  background-color: #ededed;
}
.nav li {
  font-size: 1em;
}
.nav-tabs {
  outline: none;
}
#sidebar-row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: -ms-flex;
  display: flex;
}
/* row span holding the container holding the sidebar menus */
#sidebar-span {
  vertical-align: top;
  width: 18%;
}
/* container holding the sidebar menus */
#sidebar-container {
  width: 100%;
  margin-left: 0%;
  padding: 0em 0em;
  padding-bottom: 1em;
}
/* all ul menus in sidebar, minus top Logo */
.mainmenu {
  margin: 0em;
  padding: 0em;
  background-color: none;
}
.mainmenu > li {
  width: 100%;
}
.mainmenu > li > a {
  padding: 1.5em 1.2em;
  color: #000000;
  opacity: 0.65;
}
.mainmenu > li > a:hover {
  opacity: 1;
}
.mainmenu > .nav-header {
  color: #555555;
  padding-left: 1em;
  font-size: 1em;
  letter-spacing: 0.1em;
}
/* for non-top-level links */
li > a.submenu-link {
  padding-left: 3em;
}
.adminonly {
  background-color: #fcf8e3;
  color: #c09853;
}
.adminonly.control-group {
  padding: 10px;
}
.nav > li.adminonly > a:hover,
.nav > li.adminonly > a:focus {
  background-color: #faf2cc;
}
.nav-text {
  display: inline;
  position: relative;
  top: 2px;
}
.nav-text-padded {
  display: inline;
  padding-left: 0.3em;
  position: relative;
  top: 2px;
}
span.nav-text-arrow {
  margin-top: 7px;
}
/* Login specific ========================================== */
.brand > .logo {
  width: 360px;
  margin-bottom: 20px;
}
.form-signin {
  max-width: 300px;
  padding: 19px 29px 29px;
  margin: 0 auto 20px;
  background-color: #ffffff;
  border: 1px solid #ededed;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}
.form-signin input[type="text"],
.form-signin input[type="password"] {
  font-size: 16px;
  height: auto;
  margin-bottom: 15px;
  padding: 7px 9px;
}
/* Specific menu CSS ========================================== */
/* VMFARMs top logo link */
#logo img {
  width: 100%;
}
#logo a {
  border: 0;
}
/* Dropdown link to switch company accounts */
#company ul {
  margin-left: 100%;
  margin-top: -4.7em;
  padding-top: 15px;
}
#company > .dropdown-menu li {
  letter-spacing: 0.1em;
  padding: 0.5em;
}
#company .dropdown-menu li > a:hover,
#company .dropdown-menu li > a:focus,
#company .dropdown-menu:hover > a {
  background-image: none;
  background-color: #6cc644;
}
/* User + Logout Icon CSS */
.icon img {
  height: 1.7em;
  width: 1.7em;
}
/* Content block ============================================================*/
#main-row {
  background-color: #ffffff;
  vertical-align: top;
  width: 82%;
}
#status-code {
  margin-top: 96px;
  text-align: center;
}
#status-code pre {
  border: 0px;
  background-color: #ffffff;
  padding: 0;
  margin: 0;
}
#side-extension {
  width: 18%;
  height: 100%;
}
/* Sticky footer ============================================================*/
div.wrapper {
  min-height: 100%;
  height: auto !important;
  height: 100%;
  /* Negative indent footer by it's height */
  margin: 0 auto -64px;
}
#push {
  background-color: #ffffff;
}
#push,
.footer {
  height: 64px;
}
.footer {
  color: #999999;
  text-align: center;
  padding-left: 18%;
}
.footer > ul {
  margin: 0 auto;
}
.footer > ul > li {
  display: inline;
  margin: 0px 0.5em;
}
.footer > ul > li:first-of-type {
  margin: 0 0.5em 0 0;
}
.footer > ul > li:last-of-type {
  margin: 0 0 0 0.5em;
}
.footer a {
  color: #999999;
}
.footer a:hover,
.footer a:focus {
  color: #555555;
}
.footer a.logo {
  background-color: transparent;
  background-image: url('/static/img/logos/logomark-inverted.svg?29f7904aa5bf');
  background-repeat: none;
  background-size: 64px;
  display: inline-block !important;
  filter: grayscale(100%) brightness(90%);
  height: 21px;
  margin-bottom: -0.5ex;
  width: 64px;
}
.footer a.logo:hover,
.footer a.logo:focus {
  filter: grayscale(100%) brightness(80%);
}
/* Carets / Triangle arrows =================================================*/
.arrow-down {
  width: 0;
  height: 0;
  display: inline;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #999999;
  position: absolute;
  margin-top: 7px;
  margin-left: 5px;
  filter: alpha(opacity=75);
  opacity: 0.75;
}
.arrow-down:hover,
.arrow-down:focus {
  filter: alpha(opacity=100);
  opacity: 1;
}
.arrow-up {
  width: 0;
  height: 0;
  display: inline;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #999999;
  position: absolute;
  margin-top: 7px;
  margin-left: 5px;
  filter: alpha(opacity=75);
  opacity: 0.75;
}
.arrow-right {
  width: 0;
  height: 0;
  display: inline;
  border-left: 5px solid #999999;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  position: absolute;
  margin-top: 5px;
  margin-left: 5px;
  filter: alpha(opacity=75);
  opacity: 0.75;
}
.arrow-left {
  width: 0;
  height: 0;
  display: inline;
  border-right: 5px solid #999999;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  position: absolute;
  margin-top: 5px;
  margin-left: -10px;
  filter: alpha(opacity=75);
  opacity: 0.75;
}
.nav-links {
  font-size: 10pt;
  text-decoration: none;
  color: #000000;
}
.nav-links:hover,
.nav-links:focus {
  color: green;
}
/* Deploys ====================================================== */
#deploy-form {
  margin: 0;
}
#deploy-form input,
#deploy-form select {
  margin-right: 5px;
}
table.deploy-list.deploy-dashboard {
  width: 100%;
  /* This is to a get semi-consistent layout for all tables in dashboard view */
}
table.deploy-list.deploy-dashboard .environment {
  width: 25%;
}
table.deploy-list.deploy-dashboard .group {
  width: 75px;
}
table.deploy-list .build-group .label {
  display: block;
  text-align: center;
}
table.deploy-list td {
  vertical-align: middle;
}
table.deploy-list tr.live {
  font-weight: bold;
}
table.deploy-list td.success {
  background-color: #f1f8e9;
}
table.deploy-list td.error {
  background-color: #ffcdd2;
}
table.deploy-list td.info {
  background-color: #fffde7;
}
table.deploy-list .time-tooltip {
  border-bottom: 1px dotted grey;
}
article.app {
  margin: 30px 0;
  border-bottom: 1px solid #eeeeee;
}
article.app table {
  margin-top: 20px;
  margin-bottom: 30px;
}
/* Loading GIF ====================================================== */
.loading {
  background: url('/static/img/loading-spinner.gif?f252b6501dcc') no-repeat center center;
  padding-top: 5em;
}
#selector-loading {
  height: 100px;
  width: 100px;
  background-size: 100% auto;
  margin-left: auto;
  margin-right: auto;
  display: none;
}
.linkable {
  cursor: pointer;
}
/* For select2 */
.control-group.error [class^="select2-choice"] {
  border-color: #da4f49;
}
.left-quote {
  margin-left: -10px;
}
table.table-review-apply > tbody > tr > td > code {
  background-color: transparent;
  border: none;
  color: #49afcd;
}
.table-review-apply p {
  margin-bottom: 0px;
}
table.table-review-apply tr.success code {
  color: #6cc644;
}
table.table-review-apply tr.error code {
  color: #da4f49;
}
table.table-review-apply tr.info code {
  color: #49afcd;
}
.review-header {
  background-color: #f9f9f9;
}
/* widgets */
.input-tall {
  height: 42px;
}
.widget-tabular-select-multiple > div.controls > div.help-block > p {
  display: none;
}
.widget-tabular-select-multiple > label {
  -webkit-margin-before: 1em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  text-rendering: optimizelegibility;
  font-size: 24.5px;
  color: #6cc644;
  font-weight: normal;
  font-family: "Noto Sans", sans-serif;
  line-height: 1.1em;
}
.markdown-lead {
  margin-bottom: 20px;
  font-size: 21px;
  font-weight: 200;
  line-height: 30px;
}
.markdown-lead > p > code,
.bs-callout > p > code,
.bs-callout > h4 > p > code {
  font-size: 18px;
}
label.checkbox > div.help-block {
  font-weight: 300;
}
table.inline-m2m tbody td p,
table.inline-o2m tbody td p {
  margin: 4px 0 0;
}
div.control-group > div.controls.field-key > #id_key {
  width: 700px;
  height: 200px;
}
div.control-group > div.controls.field-owner > #id_owner {
  width: 700px;
}
.select2 {
  width: 250px;
}
/* Common styles for all types */
.bs-callout {
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #eee;
  border-left-width: 5px;
  border-radius: 3px;
}
.bs-callout h4,
.bs-callout h3 {
  margin-top: 0;
  margin-bottom: 5px;
}
.bs-callout p:last-child,
.bs-callout .markdown-lead,
.bs-callout ul:last-child {
  margin-bottom: 0;
}
.bs-callout code {
  border-radius: 3px;
}
/* Tighten up space between multiple callouts */
.bs-callout + .bs-callout {
  margin-top: -5px;
}
/* Variations */
.bs-callout-danger {
  border-left-color: #da4f49;
}
.bs-callout-danger h4,
.bs-callout-danger h3 {
  color: #da4f49;
}
.bs-callout-warning {
  border-left-color: #faa732;
}
.bs-callout-warning h4,
.bs-callout-warning h3 {
  color: #faa732;
}
.bs-callout-info {
  border-left-color: #49afcd;
}
.bs-callout-info h4,
.bs-callout-info h3 {
  color: #49afcd;
}
.bs-callout-success {
  border-left-color: #6cc644;
}
.bs-callout-success h4,
.bs-callout-success h3 {
  color: #6cc644;
}
.help-block {
  font-weight: bold;
}
#top-span a {
  display: inline-block;
}
#top-span .logo {
  width: 330px;
  height: auto;
}
/* Build log */
#log {
  font-family: monospace;
  overflow: auto;
  max-height: 600px;
  padding: 0.5em;
  border-radius: .25em;
  line-height: 0;
  counter-reset: line;
  white-space: nowrap;
}
#log span {
  display: block;
  line-height: 1.25rem;
}
#log span:before {
  counter-increment: line;
  content: counter(line);
  display: inline-block;
  border-right: 1px solid #ddd;
  padding: 0 .5em;
  margin-right: .5em;
  color: #888;
  width: 2.5em;
  /* Fixed width */
}
/* Secret message */
#secret-message {
  font-size: 120%;
  line-height: 2;
  padding: 10;
}
.secret-message-textarea {
  font-size: 200%;
  padding: 6px 10px 6px 10px;
  line-height: 1.2;
}
/* Misc */
.popover {
  max-width: 400px;
}
.modal {
  width: 840px;
  margin-left: -420px;
}
.page-header > .breadcrumb {
  margin-top: 20px;
  margin-bottom: 0;
}
/* Sorttable ======================================================= */
/* http://www.kryogenix.org/code/browser/sorttable/#customkeys */
/* Adds Up/Down arrows to sortable table columns, providing a UI hint. */
table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort):after {
  content: " \25B4\25BE";
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvbWl4aW5zLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3Jlc2V0Lmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3NjYWZmb2xkaW5nLmxlc3MiLCJ2YXJpYWJsZXMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvZ3JpZC5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9sYXlvdXRzLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3R5cGUubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvY29kZS5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy92YXJpYWJsZXMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvZm9ybXMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvdGFibGVzLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3Nwcml0ZXMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvZHJvcGRvd25zLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3dlbGxzLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL2NvbXBvbmVudC1hbmltYXRpb25zLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL2Nsb3NlLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL2J1dHRvbnMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvYnV0dG9uLWdyb3Vwcy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9hbGVydHMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvbmF2cy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9uYXZiYXIubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvYnJlYWRjcnVtYnMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvcGFnaW5hdGlvbi5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9wYWdlci5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9tb2RhbHMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvdG9vbHRpcC5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9wb3BvdmVycy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy90aHVtYm5haWxzLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL21lZGlhLmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL2xhYmVscy1iYWRnZXMubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvcHJvZ3Jlc3MtYmFycy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9hY2NvcmRpb24ubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvY2Fyb3VzZWwubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvaGVyby11bml0Lmxlc3MiLCIvcHJpdmF0ZS92YXIvZm9sZGVycy93bC94Z2ZwbWhtajVfejY1amdmc3QyMWJ6emMwMDAwZ3AvVC90bXBqZkFLMEIvc2l0ZV9zdGF0aWMvbGliL2Jvb3RzdHJhcC9sZXNzL3V0aWxpdGllcy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLTEyMDBweC1taW4ubGVzcyIsIi9wcml2YXRlL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcGpmQUswQi9zaXRlX3N0YXRpYy9saWIvYm9vdHN0cmFwL2xlc3MvcmVzcG9uc2l2ZS03NjhweC05NzlweC5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLTc2N3B4LW1heC5sZXNzIiwiL3ByaXZhdGUvdmFyL2ZvbGRlcnMvd2wveGdmcG1obWo1X3o2NWpnZnN0MjFienpjMDAwMGdwL1QvdG1wamZBSzBCL3NpdGVfc3RhdGljL2xpYi9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLW5hdmJhci5sZXNzIiwiYmFzZS5sZXNzIiwibWl4aW5zLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV0E7RUFDRSxRQUFBOztBQUNBLFNBQUM7QUFDRCxTQUFDO0VBQ0MsY0FBQTtFQUNBLFNBQVMsRUFBVDtFQUdBLGNBQUE7O0FBRUYsU0FBQztFQUNDLFdBQUE7O0FBbUZKO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7O0FBMkNGO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQTJMQSw4QkFBQTtFQUNHLDJCQUFBO0VBQ0ssc0JBQUE7O0FDaFZWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsY0FBQTs7QUFNRjtBQUNBO0FBQ0E7RUFDRSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsUUFBQTs7QUFNRixLQUFLLElBQUk7RUFDTCxhQUFBOztBQU1KO0VBQ0UsZUFBQTtFQUNBLDhCQUFBO0VBQ0ksMEJBQUE7O0FBR04sQ0FBQztFRG5CQyx5QkFBQTtFQUVBLDBDQUFBO0VBQ0Esb0JBQUE7O0FDb0JGLENBQUM7QUFDRCxDQUFDO0VBQ0MsVUFBQTs7QUFNRjtBQUNBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLHdCQUFBOztBQUVGO0VBQ0UsV0FBQTs7QUFFRjtFQUNFLGVBQUE7O0FBTUY7O0VBRUUsZUFBQTs7RUFDQSxhQUFBOztFQUNBLFlBQUE7O0VBRUEsc0JBQUE7RUFDQSxTQUFBO0VBQ0EsK0JBQUE7O0FBSUYsV0FBWTtBQUNaLFlBQWE7RUFDWCxlQUFBOztBQU9GO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsU0FBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTs7QUFFRjtBQUNBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTs7QUFFRixNQUFNO0FBQ04sS0FBSztFQUNILFVBQUE7RUFDQSxTQUFBOztBQUVGO0FBQ0Es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Q0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBRTNCO0VBQTJCLDRCQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFFM0I7RUFBMkIsNEJBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztB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LGFBQVQiLCJmaWxlIjoiL3Zhci9mb2xkZXJzL3dsL3hnZnBtaG1qNV96NjVqZ2ZzdDIxYnp6YzAwMDBncC9UL3RtcDZJOVp2by5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFVUSUxJVFkgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxuLmNsZWFyZml4IHtcbiAgKnpvb206IDE7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIEZpeGVzIE9wZXJhL2NvbnRlbnRlZGl0YWJsZSBidWc6XG4gICAgLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svI2NvbW1lbnQtMzY5NTJcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJraXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIElFNyBpbmxpbmUtYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi5pZTctaW5saW5lLWJsb2NrKCkge1xuICAqZGlzcGxheTogaW5saW5lOyAvKiBJRTcgaW5saW5lLWJsb2NrIGhhY2sgKi9cbiAgKnpvb206IDE7XG59XG5cbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxuLy8gdmVyc2lvbiBpcyBmb3IgZm9ybSBidXR0b25zLCB3aGljaCB0eXBpY2FsbHkgY29tZSBhZnRlciBvdGhlciBlbGVtZW50cywgYW5kXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcbi8vIGluc3RlYWQgb2YgdGhlIDEgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLWxlZnQ6IC4zZW07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5pZTctcmVzdG9yZS1yaWdodC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2l6ZShAaGVpZ2h0LCBAd2lkdGgpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZSwgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAcGxhY2Vob2xkZXJUZXh0KSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuXG4vLyBGT05UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2ZvbnQge1xuICAjZmFtaWx5IHtcbiAgICAuc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udEZhbWlseTtcbiAgICB9XG4gICAgLnNhbnMtc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuICAgIH1cbiAgICAubW9ub3NwYWNlKCkge1xuICAgICAgZm9udC1mYW1pbHk6IEBtb25vRm9udEZhbWlseTtcbiAgICB9XG4gIH1cbiAgLnNob3J0aGFuZChAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgZm9udC1zaXplOiBAc2l6ZTtcbiAgICBmb250LXdlaWdodDogQHdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gIH1cbiAgLnNlcmlmKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAuc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLnNhbnMtc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zYW5zLXNlcmlmO1xuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xuICB9XG4gIC5tb25vc3BhY2UoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5tb25vc3BhY2U7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbn1cblxuXG4vLyBGT1JNU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmxvY2sgbGV2ZWwgaW5wdXRzXG4uaW5wdXQtYmxvY2stbGV2ZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IEBpbnB1dEhlaWdodDsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICAuYm94LXNpemluZyhib3JkZXItYm94KTsgLy8gTWFrZXMgaW5wdXRzIGJlaGF2ZSBsaWtlIHRydWUgYmxvY2stbGV2ZWwgZWxlbWVudHNcbn1cblxuXG5cbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xuLmZvcm1GaWVsZFN0YXRlKEB0ZXh0Q29sb3I6ICM1NTUsIEBib3JkZXJDb2xvcjogI2NjYywgQGJhY2tncm91bmRDb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBTZXQgdGhlIHRleHQgY29sb3JcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5oZWxwLWJsb2NrLFxuICAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIC8vIFN0eWxlIGlucHV0cyBhY2NvcmRpbmdseVxuICAuY2hlY2tib3gsXG4gIC5yYWRpbyxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyQ29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXJDb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBHaXZlIGEgc21hbGwgYmFja2dyb3VuZCBjb2xvciBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXG4gIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm9yZGVyIFJhZGl1c1xuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBTaW5nbGUgQ29ybmVyIEJvcmRlciBSYWRpdXNcbi5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiBAcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBTaW5nbGUgU2lkZSBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xufVxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKTtcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cyk7XG59XG4uYm9yZGVyLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODVcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUzMTlcbn1cbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlblxuLy8gU2VlIGdpdCBwdWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5ueWtlYW5lL2Jvb3RzdHJhcC5naXQgYmFja2ZhY2UtdmlzaWJpbGl0eSBmb3IgZXhhbXBsZXNcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcblx0ICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcblx0ICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gQmFja2dyb3VuZCBjbGlwcGluZ1xuLy8gSGVhZHMgdXA6IEZGIDMuNiBhbmQgdW5kZXIgbmVlZCBcInBhZGRpbmdcIiBpbnN0ZWFkIG9mIFwicGFkZGluZy1ib3hcIlxuLmJhY2tncm91bmQtY2xpcChAY2xpcCkge1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xufVxuXG4vLyBCYWNrZ3JvdW5kIHNpemluZ1xuLmJhY2tncm91bmQtc2l6ZShAc2l6ZSkge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2Vcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbkNvdW50LCBAY29sdW1uR2FwOiBAZ3JpZEd1dHRlcldpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7XG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XG4gIG9wYWNpdHk6IEBvcGFjaXR5IC8gMTAwO1xuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5fSlcIjtcbn1cblxuXG5cbi8vIEJBQ0tHUk9VTkRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBZGQgYW4gYWxwaGF0cmFuc3BhcmVuY3kgdmFsdWUgdG8gYW55IGJhY2tncm91bmQgb3IgYm9yZGVyIGNvbG9yICh2aWEgRWx5c2UgSG9sbGFkYXkpXG4jdHJhbnNsdWNlbnQge1xuICAuYmFja2dyb3VuZChAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcbiAgfVxuICAuYm9yZGVyKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcbiAgICBib3JkZXItY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gICAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XG4gIH1cbn1cblxuLy8gR3JhZGllbnQgQmFyIENvbG9ycyBmb3IgYnV0dG9ucyBhbmQgYWxlcnRzXG4uZ3JhZGllbnRCYXIoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yLCBAdGV4dENvbG9yOiAjZmZmLCBAdGV4dFNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpKSB7XG4gIGNvbG9yOiBAdGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHRleHRTaGFkb3c7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpO1xuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlDb2xvciBAc2Vjb25kYXJ5Q29sb3IgZGFya2VuKEBzZWNvbmRhcnlDb2xvciwgMTUlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSBmYWRlaW4ocmdiYSgwLDAsMCwuMSksIDE1JSk7XG59XG5cbi8vIEdyYWRpZW50c1xuI2dyYWRpZW50IHtcbiAgLmhvcml6b250YWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMCwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAudmVydGljYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAc3RhcnRDb2xvciwgQGVuZENvbG9yLCA2MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMywgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgfVxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQG1pZENvbG9yLCBAZW5kQ29sb3IsIDgwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG5cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKEBjb2xvclN0b3AsIEBtaWRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG91dGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDAsIGNlbnRlciBjZW50ZXIsIDQ2MCwgZnJvbShAaW5uZXJDb2xvciksIHRvKEBvdXRlckNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiAjNTU1LCBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCguMjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuXG5cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG4ubmF2LWRpdmlkZXIoQHRvcDogI2U1ZTVlNSwgQGJvdHRvbTogQHdoaXRlKSB7XG4gIC8vIElFNyBuZWVkcyBhIHNldCB3aWR0aCBzaW5jZSB3ZSBnYXZlIGEgaGVpZ2h0LiBSZXN0cmljdGluZyBqdXN0XG4gIC8vIHRvIElFNyB0byBrZWVwIHRoZSAxcHggbGVmdC9yaWdodCBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cbiAgLy8gSXQgaXMgdW5jbGVhciB3aGVyZSBJRSBpcyBnZXR0aW5nIHRoZSBleHRyYSBzcGFjZSB0aGF0IHdlIG5lZWRcbiAgLy8gdG8gbmVnYXRpdmUtbWFyZ2luIGF3YXksIGJ1dCBzbyBpdCBnb2VzLlxuICAqd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoQGJhc2VMaW5lSGVpZ2h0IC8gMikgLSAxKSAxcHg7IC8vIDhweCAxcHhcbiAgKm1hcmdpbjogLTVweCAwIDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRvcDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBib3R0b207XG59XG5cbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yLCBAdGV4dENvbG9yOiAjZmZmLCBAdGV4dFNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpKSB7XG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIEB0ZXh0Q29sb3IsIEB0ZXh0U2hhZG93KTtcbiAgKmJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjsgLyogRGFya2VuIElFNyBidXR0b25zIGJ5IGRlZmF1bHQgc28gdGhleSBzdGFuZCBvdXQgbW9yZSBnaXZlbiB0aGV5IHdvbid0IGhhdmUgYm9yZGVycyAqL1xuICAucmVzZXQtZmlsdGVyKCk7XG5cbiAgLy8gaW4gdGhlc2UgY2FzZXMgdGhlIGdyYWRpZW50IHdvbid0IGNvdmVyIHRoZSBiYWNrZ3JvdW5kLCBzbyB3ZSBvdmVycmlkZVxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgKmJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDUlKTtcbiAgfVxuXG4gIC8vIElFIDcgKyA4IGNhbid0IGhhbmRsZSBib3gtc2hhZG93IHRvIHNob3cgYWN0aXZlLCBzbyB3ZSBkYXJrZW4gYSBiaXQgb3Vyc2VsdmVzXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgMTAlKSBlKFwiXFw5XCIpO1xuICB9XG59XG5cbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG4ubmF2YmFyVmVydGljYWxBbGlnbihAZWxlbWVudEhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoQG5hdmJhckhlaWdodCAtIEBlbGVtZW50SGVpZ2h0KSAvIDI7XG59XG5cblxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBUYWJsZSBjb2x1bW5zXG4udGFibGVDb2x1bW5zKEBjb2x1bW5TcGFuOiAxKSB7XG4gIGZsb2F0OiBub25lOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG4gIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtblNwYW4gLSAxKSkgLSAxNjsgLy8gMTYgaXMgdG90YWwgcGFkZGluZyBvbiBsZWZ0IGFuZCByaWdodCBvZiB0YWJsZSBjZWxsc1xuICBtYXJnaW4tbGVmdDogMDsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xufVxuXG4vLyBNYWtlIGEgR3JpZFxuLy8gVXNlIC5tYWtlUm93IGFuZCAubWFrZUNvbHVtbiB0byBhc3NpZ24gc2VtYW50aWMgbGF5b3V0cyBncmlkIHN5c3RlbSBiZWhhdmlvclxuLm1ha2VSb3coKSB7XG4gIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XG4gIC5jbGVhcmZpeCgpO1xufVxuLm1ha2VDb2x1bW4oQGNvbHVtbnM6IDEsIEBvZmZzZXQ6IDApIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBvZmZzZXQpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQG9mZnNldCAtIDEpKSArIChAZ3JpZEd1dHRlcldpZHRoICogMik7XG4gIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xufVxuXG4vLyBUaGUgR3JpZFxuI2dyaWQge1xuXG4gIC5jb3JlIChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLm9mZnNldFggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLm9mZnNldEB7aW5kZXh9IHsgLm9mZnNldChAaW5kZXgpOyB9XG4gICAgICAub2Zmc2V0WChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLm9mZnNldFggKDApIHt9XG5cbiAgICAub2Zmc2V0IChAY29sdW1ucykge1xuICAgICAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgKyAxKSk7XG4gICAgfVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XG4gICAgICAuY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gcHJldmVudCBjb2xsYXBzaW5nIGNvbHVtbnNcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllc1xuICAgIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1maXhlZC10b3AgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyIHsgLnNwYW4oQGdyaWRDb2x1bW5zKTsgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxuICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcbiAgICAub2Zmc2V0WCAoQGdyaWRDb2x1bW5zKTtcblxuICB9XG5cbiAgLmZsdWlkIChAZmx1aWRHcmlkQ29sdW1uV2lkdGgsIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5vZmZzZXRAe2luZGV4fSB7IC5vZmZzZXQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldEB7aW5kZXh9OmZpcnN0LWNoaWxkIHsgLm9mZnNldEZpcnN0Q2hpbGQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5vZmZzZXRYICgwKSB7fVxuXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGgqMik7XG4gIFx0ICAqbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGgqMikgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgIH1cblxuICAgIC5vZmZzZXRGaXJzdENoaWxkIChAY29sdW1ucykge1xuICAgICAgbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCk7XG4gICAgICAqbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKSArIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XG4gICAgfVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICB9XG5cbiAgICAucm93LWZsdWlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICAgIC5pbnB1dC1ibG9jay1sZXZlbCgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGggLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgICAgfVxuICAgICAgW2NsYXNzKj1cInNwYW5cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gU3BhY2UgZ3JpZC1zaXplZCBjb250cm9scyBwcm9wZXJseSBpZiBtdWx0aXBsZSBwZXIgbGluZVxuICAgICAgLmNvbnRyb2xzLXJvdyBbY2xhc3MqPVwic3BhblwiXSArIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxuICAgICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XG4gICAgfVxuXG4gIH1cblxuICAuaW5wdXQoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIGlucHV0LnNwYW5Ae2luZGV4fSwgdGV4dGFyZWEuc3BhbkB7aW5kZXh9LCAudW5lZGl0YWJsZS1pbnB1dC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5zcGFuKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKChAZ3JpZENvbHVtbldpZHRoKSAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gMTQ7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIG1hcmdpbi1sZWZ0IGZyb20gY29yZSBncmlkIHN5c3RlbVxuICAgIH1cblxuICAgIC8vIFNwYWNlIGdyaWQtc2l6ZWQgY29udHJvbHMgcHJvcGVybHkgaWYgbXVsdGlwbGUgcGVyIGxpbmVcbiAgICAuY29udHJvbHMtcm93IFtjbGFzcyo9XCJzcGFuXCJdICsgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cbn1cbiIsIi8vXG4vLyBSZXNldCBDU1Ncbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRGlzcGxheSBpbiBJRTYtOSBhbmQgRkYzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEaXNwbGF5IGJsb2NrIGluIElFNi05IGFuZCBGRjNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgKnpvb206IDE7XG59XG5cbi8vIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgJ2F1ZGlvJyB3aXRob3V0IGNvbnRyb2xzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gQmFzZSBzZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cbi8vIEZvY3VzIHN0YXRlc1xuYTpmb2N1cyB7XG4gIC50YWItZm9jdXMoKTtcbn1cbi8vIEhvdmVyICYgQWN0aXZlXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBQcmV2ZW50cyBzdWIgYW5kIHN1cCBhZmZlY3RpbmcgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gSW1nIGJvcmRlciBpbiBhJ3MgYW5kIGltYWdlIHF1YWxpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1nIHtcbiAgLyogUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogUGFydCAxOiBTZXQgYSBtYXhpdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudCAqL1xuICB3aWR0aDogYXV0b1xcOTsgLyogSUU3LTggbmVlZCBoZWxwIGFkanVzdGluZyByZXNwb25zaXZlIGltYWdlcyAqL1xuICBoZWlnaHQ6IGF1dG87IC8qIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nICovXG5cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAwO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG4vLyBQcmV2ZW50IG1heC13aWR0aCBmcm9tIGFmZmVjdGluZyBHb29nbGUgTWFwc1xuI21hcF9jYW52YXMgaW1nLFxuLmdvb2dsZS1tYXBzIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9udCBzaXplIGluIGFsbCBicm93c2VycywgbWFyZ2luIGNoYW5nZXMsIG1pc2MgY29uc2lzdGVuY3lcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmJ1dHRvbixcbmlucHV0IHtcbiAgKm92ZXJmbG93OiB2aXNpYmxlOyAvLyBJbm5lciBzcGFjaW5nIGllIElFNi83XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IC8vIEZGMy80IGhhdmUgIWltcG9ydGFudCBvbiBsaW5lLWhlaWdodCBpbiBVQSBzdHlsZXNoZWV0XG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7IC8vIElubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBvZGRpdGllcyBpbiBGRjMvNFxuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvLyBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGUgYGlucHV0YCBhbmQgb3RoZXJzLlxufVxubGFiZWwsXG5zZWxlY3QsXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyAvLyBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGUgYGlucHV0YCBhbmQgb3RoZXJzLlxufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IC8vIEFwcGVhcmFuY2UgaW4gU2FmYXJpL0Nocm9tZVxuICAuYm94LXNpemluZyhjb250ZW50LWJveCk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIElubmVyLXBhZGRpbmcgaXNzdWVzIGluIENocm9tZSBPU1gsIFNhZmFyaSA1XG59XG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFNi05XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8vIFJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgY3Jvc3MtYnJvd3NlclxufVxuXG5cbi8vIFByaW50aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL2Nzcy9tYWluLmNzc1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICoge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG5cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuXG4gIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cblxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJvZHkgcmVzZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IEBiYXNlRm9udEZhbWlseTtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBjb2xvcjogQHRleHRDb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHlCYWNrZ3JvdW5kO1xufVxuXG5cbi8vIExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEge1xuICBjb2xvcjogQGxpbmtDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlcixcbmE6Zm9jdXMge1xuICBjb2xvcjogQGxpbmtDb2xvckhvdmVyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuXG4vLyBJbWFnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICAuYm9yZGVyLXJhZGl1cyg2cHgpO1xufVxuXG4vLyBBZGQgcG9sYXJvaWQtZXNxdWUgdHJpbVxuLmltZy1wb2xhcm9pZCB7XG4gIHBhZGRpbmc6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gIC5ib3gtc2hhZG93KDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKSk7XG59XG5cbi8vIFBlcmZlY3QgY2lyY2xlXG4uaW1nLWNpcmNsZSB7XG4gIC5ib3JkZXItcmFkaXVzKDUwMHB4KTsgLy8gY3JhbmsgdGhlIGJvcmRlci1yYWRpdXMgc28gaXQgd29ya3Mgd2l0aCBtb3N0IHJlYXNvbmFibHkgc2l6ZWQgaW1hZ2VzXG59XG4iLCIvLyBDdXN0b20gY29sb3JzXG5AYWRtaW5EYXJrR29sZDogICAgICAgICAjYzA5ODUzO1xuQGFkbWluR29sZDogICAgICAgICAgICAgI2ZjZjhlMztcbkBhZG1pbkdvbGRIaWdobGlnaHQ6ICAgICNmYWYyY2M7XG5AYnJpZ2h0R3JlZW46ICAgICAgICAgICAjMDBGODAwO1xuQGJyb3duQmxhY2s6ICAgICAgICAgICAgIzIyMWYxZjtcbkBkYW5nZXJSZWQ6ICAgICAgICAgICAgICNkYTRmNDk7XG5AZGFya0dyZXk6ICAgICAgICAgICAgICAjNTU1NTU1O1xuQGRhcmtlc3RHcmV5OiAgICAgICAgICAgIzM2MzYzNjtcbkBpbmZvQmx1ZTogICAgICAgICAgICAgICM0OWFmY2Q7XG5AbGlnaHRHcmV5OiAgICAgICAgICAgICAjOTk5OTk5O1xuQGxpZ2h0ZXJHcmV5OiAgICAgICAgICAgI2VkZWRlZDtcbkBsaWdodGVzdEdyZXk6ICAgICAgICAgICNmOWY5Zjk7XG5AbWVkaXVtR3JleTogICAgICAgICAgICAjN2Y3ZjdmO1xuQHByaW1hcnlCbHVlOiAgICAgICAgICAgIzAwNmRjYztcbkB2bUdyZWVuOiAgICAgICAgICAgICAgICM2Y2M2NDQ7XG5Ad2FybmluZ09yYW5nZTogICAgICAgICAjZmFhNzMyO1xuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYmFzZUZvbnRGYW1pbHk6ICAgICAgICBcIk11bGlcIiwgc2Fucy1zZXJpZjtcbkBoZWFkaW5nc0ZvbnRGYW1pbHk6ICAgIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWY7XG5AaGVhZGluZ3NGb250V2VpZ2h0OiAgICBub3JtYWw7XG5AaGVhZGluZ3NDb2xvcjogICAgICAgICBAdm1HcmVlbjtcblxuLy8gU3ByaXRlIGljb25zIHBhdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpY29uU3ByaXRlUGF0aDogICAgICAgICAgXCIvc3RhdGljL2xpYi9ib290c3RyYXAvaW1nL2dseXBoaWNvbnMtaGFsZmxpbmdzLnBuZ1wiO1xuQGljb25XaGl0ZVNwcml0ZVBhdGg6ICAgICBcIi9zdGF0aWMvbGliL2Jvb3RzdHJhcC9pbWcvZ2x5cGhpY29ucy1oYWxmbGluZ3Mtd2hpdGUucG5nXCI7XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRml4ZWQgKDk0MHB4KVxuI2dyaWQgPiAuY29yZShAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKTtcblxuLy8gRmx1aWQgKDk0MHB4KVxuI2dyaWQgPiAuZmx1aWQoQGZsdWlkR3JpZENvbHVtbldpZHRoLCBAZmx1aWRHcmlkR3V0dGVyV2lkdGgpO1xuXG4vLyBSZXNldCB1dGlsaXR5IGNsYXNzZXMgZHVlIHRvIHNwZWNpZmljaXR5XG5bY2xhc3MqPVwic3BhblwiXS5oaWRlLFxuLnJvdy1mbHVpZCBbY2xhc3MqPVwic3BhblwiXS5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2NsYXNzKj1cInNwYW5cIl0ucHVsbC1yaWdodCxcbi5yb3ctZmx1aWQgW2NsYXNzKj1cInNwYW5cIl0ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiIsIi8vXG4vLyBMYXlvdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciAoY2VudGVyZWQsIGZpeGVkLXdpZHRoIGxheW91dHMpXG4uY29udGFpbmVyIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG4vLyBGbHVpZCBsYXlvdXRzIChsZWZ0IGFsaWduZWQsIHdpdGggc2lkZWJhciwgbWluLSAmIG1heC13aWR0aCBjb250ZW50KVxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gIHBhZGRpbmctbGVmdDogQGdyaWRHdXR0ZXJXaWR0aDtcbiAgLmNsZWFyZml4KCk7XG59IiwiLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBtYXJnaW46IDAgMCBAYmFzZUxpbmVIZWlnaHQgLyAyO1xufVxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuNTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodCAqIDEuNTtcbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6IDE0cHggYmFzZSBmb250ICogODUlID0gYWJvdXQgMTJweFxuc21hbGwgICB7IGZvbnQtc2l6ZTogODUlOyB9XG5cbnN0cm9uZyAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZW0gICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuY2l0ZSAgICB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi5tdXRlZCAgICAgICAgICAgICAgIHsgY29sb3I6IEBncmF5TGlnaHQ7IH1cbmEubXV0ZWQ6aG92ZXIsXG5hLm11dGVkOmZvY3VzICAgICAgICB7IGNvbG9yOiBkYXJrZW4oQGdyYXlMaWdodCwgMTAlKTsgfVxuXG4udGV4dC13YXJuaW5nICAgICAgICB7IGNvbG9yOiBAd2FybmluZ1RleHQ7IH1cbmEudGV4dC13YXJuaW5nOmhvdmVyLFxuYS50ZXh0LXdhcm5pbmc6Zm9jdXMgeyBjb2xvcjogZGFya2VuKEB3YXJuaW5nVGV4dCwgMTAlKTsgfVxuXG4udGV4dC1lcnJvciAgICAgICAgICB7IGNvbG9yOiBAZXJyb3JUZXh0OyB9XG5hLnRleHQtZXJyb3I6aG92ZXIsXG5hLnRleHQtZXJyb3I6Zm9jdXMgICB7IGNvbG9yOiBkYXJrZW4oQGVycm9yVGV4dCwgMTAlKTsgfVxuXG4udGV4dC1pbmZvICAgICAgICAgICB7IGNvbG9yOiBAaW5mb1RleHQ7IH1cbmEudGV4dC1pbmZvOmhvdmVyLFxuYS50ZXh0LWluZm86Zm9jdXMgICAgeyBjb2xvcjogZGFya2VuKEBpbmZvVGV4dCwgMTAlKTsgfVxuXG4udGV4dC1zdWNjZXNzICAgICAgICB7IGNvbG9yOiBAc3VjY2Vzc1RleHQ7IH1cbmEudGV4dC1zdWNjZXNzOmhvdmVyLFxuYS50ZXh0LXN1Y2Nlc3M6Zm9jdXMgeyBjb2xvcjogZGFya2VuKEBzdWNjZXNzVGV4dCwgMTAlKTsgfVxuXG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbjogKEBiYXNlTGluZUhlaWdodCAvIDIpIDA7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGluZ3NGb250RmFtaWx5O1xuICBmb250LXdlaWdodDogQGhlYWRpbmdzRm9udFdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5nc0NvbG9yO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5OyAvLyBGaXggdGhlIGNoYXJhY3RlciBzcGFjaW5nIGZvciBoZWFkaW5nc1xuICBzbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogQGdyYXlMaWdodDtcbiAgfVxufVxuXG5oMSxcbmgyLFxuaDMgeyBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0ICogMjsgfVxuXG5oMSB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDIuNzU7IH0gLy8gfjM4cHhcbmgyIHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMi4yNTsgfSAvLyB+MzJweFxuaDMgeyBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAxLjc1OyB9IC8vIH4yNHB4XG5oNCB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuMjU7IH0gLy8gfjE4cHhcbmg1IHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplOyB9XG5oNiB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDAuODU7IH0gLy8gfjEycHhcblxuaDEgc21hbGwgeyBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAxLjc1OyB9IC8vIH4yNHB4XG5oMiBzbWFsbCB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuMjU7IH0gLy8gfjE4cHhcbmgzIHNtYWxsIHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplOyB9XG5oNCBzbWFsbCB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTsgfVxuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoQGJhc2VMaW5lSGVpZ2h0IC8gMikgLSAxO1xuICBtYXJnaW46IEBiYXNlTGluZUhlaWdodCAwIChAYmFzZUxpbmVIZWlnaHQgKiAxLjUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xufVxuXG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsIG9sIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgQGJhc2VMaW5lSGVpZ2h0IC8gMiAyNXB4O1xufVxudWwgdWwsXG51bCBvbCxcbm9sIG9sLFxub2wgdWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxubGkge1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xufVxuXG4vLyBSZW1vdmUgZGVmYXVsdCBsaXN0IHN0eWxlc1xudWwudW5zdHlsZWQsXG5vbC51bnN0eWxlZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBTaW5nbGUtbGluZSBsaXN0IGl0ZW1zXG51bC5pbmxpbmUsXG5vbC5pbmxpbmUge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC5pZTctaW5saW5lLWJsb2NrKCk7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xufVxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IEBiYXNlTGluZUhlaWdodCAvIDI7XG59XG4vLyBIb3Jpem9udGFsIGxheW91dCAobGlrZSBmb3Jtcylcbi5kbC1ob3Jpem9udGFsIHtcbiAgLmNsZWFyZml4KCk7IC8vIEVuc3VyZSBkbCBjbGVhcnMgZmxvYXRzIGlmIGVtcHR5IGRkIGVsZW1lbnRzIHByZXNlbnRcbiAgZHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldCAtIDIwO1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIC50ZXh0LW92ZXJmbG93KCk7XG4gIH1cbiAgZGQge1xuICAgIG1hcmdpbi1sZWZ0OiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldDtcbiAgfVxufVxuXG4vLyBNSVNDXG4vLyAtLS0tXG5cbi8vIEhvcml6b250YWwgcnVsZXNcbmhyIHtcbiAgbWFyZ2luOiBAYmFzZUxpbmVIZWlnaHQgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQGhyQm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHdoaXRlO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGRlZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCBAZ3JheUxpZ2h0O1xufVxuYWJici5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgbWFyZ2luOiAwIDAgQGJhc2VMaW5lSGVpZ2h0O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIEBncmF5TGlnaHRlcjtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAxLjI1O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbiAgc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gICAgY29sb3I6IEBncmF5TGlnaHQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZsb2F0IHJpZ2h0IHdpdGggdGV4dC1hbGlnbjogcmlnaHRcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgQGdyYXlMaWdodGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHAsXG4gICAgc21hbGwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIHNtYWxsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBRdW90ZXNcbnE6YmVmb3JlLFxucTphZnRlcixcbmJsb2NrcXVvdGU6YmVmb3JlLFxuYmxvY2txdW90ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbn1cbiIsIi8vXG4vLyBDb2RlIChpbmxpbmUgYW5kIGJsb2NLKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxucHJlIHtcbiAgcGFkZGluZzogMCAzcHggMnB4O1xuICAjZm9udCA+ICNmYW1pbHkgPiAubW9ub3NwYWNlO1xuICBmb250LXNpemU6IEBiYXNlRm9udFNpemUgLSAyO1xuICBjb2xvcjogQGdyYXlEYXJrO1xuICAuYm9yZGVyLXJhZGl1cygzcHgpO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGNvbG9yOiAjZDE0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWU4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IChAYmFzZUxpbmVIZWlnaHQgLSAxKSAvIDI7XG4gIG1hcmdpbjogMCAwIEBiYXNlTGluZUhlaWdodCAvIDI7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAtIDE7IC8vIDE0cHggdG8gMTNweFxuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyAvLyBmYWxsYmFjayBmb3IgSUU3LThcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG5cbiAgLy8gTWFrZSBwcmV0dHlwcmludCBzdHlsZXMgbW9yZSBzcGFjZWQgb3V0IGZvciByZWFkYWJpbGl0eVxuICAmLnByZXR0eXByaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIH1cblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn0iLCIvL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEdsb2JhbCB2YWx1ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gR3JheXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBibGFjazogICAgICAgICAgICAgICAgICMwMDA7XG5AZ3JheURhcmtlcjogICAgICAgICAgICAjMjIyO1xuQGdyYXlEYXJrOiAgICAgICAgICAgICAgIzMzMztcbkBncmF5OiAgICAgICAgICAgICAgICAgICM1NTU7XG5AZ3JheUxpZ2h0OiAgICAgICAgICAgICAjOTk5O1xuQGdyYXlMaWdodGVyOiAgICAgICAgICAgI2VlZTtcbkB3aGl0ZTogICAgICAgICAgICAgICAgICNmZmY7XG5cblxuLy8gQWNjZW50IGNvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJsdWU6ICAgICAgICAgICAgICAgICAgIzA0OWNkYjtcbkBibHVlRGFyazogICAgICAgICAgICAgICMwMDY0Y2Q7XG5AZ3JlZW46ICAgICAgICAgICAgICAgICAjNDZhNTQ2O1xuQHJlZDogICAgICAgICAgICAgICAgICAgIzlkMjYxZDtcbkB5ZWxsb3c6ICAgICAgICAgICAgICAgICNmZmM0MGQ7XG5Ab3JhbmdlOiAgICAgICAgICAgICAgICAjZjg5NDA2O1xuQHBpbms6ICAgICAgICAgICAgICAgICAgI2MzMzI1ZjtcbkBwdXJwbGU6ICAgICAgICAgICAgICAgICM3YTQzYjY7XG5cblxuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBib2R5QmFja2dyb3VuZDogICAgICAgIEB3aGl0ZTtcbkB0ZXh0Q29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcblxuXG4vLyBMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGxpbmtDb2xvcjogICAgICAgICAgICAgIzA4YztcbkBsaW5rQ29sb3JIb3ZlcjogICAgICAgIGRhcmtlbihAbGlua0NvbG9yLCAxNSUpO1xuXG5cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBzYW5zRm9udEZhbWlseTogICAgICAgIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbkBzZXJpZkZvbnRGYW1pbHk6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbkBtb25vRm9udEZhbWlseTogICAgICAgIE1vbmFjbywgTWVubG8sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcblxuQGJhc2VGb250U2l6ZTogICAgICAgICAgMTRweDtcbkBiYXNlRm9udEZhbWlseTogICAgICAgIEBzYW5zRm9udEZhbWlseTtcbkBiYXNlTGluZUhlaWdodDogICAgICAgIDIwcHg7XG5AYWx0Rm9udEZhbWlseTogICAgICAgICBAc2VyaWZGb250RmFtaWx5O1xuXG5AaGVhZGluZ3NGb250RmFtaWx5OiAgICBpbmhlcml0OyAvLyBlbXB0eSB0byB1c2UgQlMgZGVmYXVsdCwgQGJhc2VGb250RmFtaWx5XG5AaGVhZGluZ3NGb250V2VpZ2h0OiAgICBib2xkOyAgICAvLyBpbnN0ZWFkIG9mIGJyb3dzZXIgZGVmYXVsdCwgYm9sZFxuQGhlYWRpbmdzQ29sb3I6ICAgICAgICAgaW5oZXJpdDsgLy8gZW1wdHkgdG8gdXNlIEJTIGRlZmF1bHQsIEB0ZXh0Q29sb3JcblxuXG4vLyBDb21wb25lbnQgc2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlZCBvbiAxNHB4IGZvbnQtc2l6ZSBhbmQgMjBweCBsaW5lLWhlaWdodFxuXG5AZm9udFNpemVMYXJnZTogICAgICAgICBAYmFzZUZvbnRTaXplICogMS4yNTsgLy8gfjE4cHhcbkBmb250U2l6ZVNtYWxsOiAgICAgICAgIEBiYXNlRm9udFNpemUgKiAwLjg1OyAvLyB+MTJweFxuQGZvbnRTaXplTWluaTogICAgICAgICAgQGJhc2VGb250U2l6ZSAqIDAuNzU7IC8vIH4xMXB4XG5cbkBwYWRkaW5nTGFyZ2U6ICAgICAgICAgIDExcHggMTlweDsgLy8gNDRweFxuQHBhZGRpbmdTbWFsbDogICAgICAgICAgMnB4IDEwcHg7ICAvLyAyNnB4XG5AcGFkZGluZ01pbmk6ICAgICAgICAgICAwIDZweDsgICAvLyAyMnB4XG5cbkBiYXNlQm9yZGVyUmFkaXVzOiAgICAgIDRweDtcbkBib3JkZXJSYWRpdXNMYXJnZTogICAgIDZweDtcbkBib3JkZXJSYWRpdXNTbWFsbDogICAgIDNweDtcblxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBvdmVyYWxsIGJhY2tncm91bmQtY29sb3JcbkB0YWJsZUJhY2tncm91bmRBY2NlbnQ6ICAgICAgICAgICAgICNmOWY5Zjk7IC8vIGZvciBzdHJpcGluZ1xuQHRhYmxlQmFja2dyb3VuZEhvdmVyOiAgICAgICAgICAgICAgI2Y1ZjVmNTsgLy8gZm9yIGhvdmVyXG5AdGFibGVCb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkOyAvLyB0YWJsZSBhbmQgY2VsbCBib3JkZXJcblxuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJ0bkJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgQHdoaXRlO1xuQGJ0bkJhY2tncm91bmRIaWdobGlnaHQ6ICAgICAgICAgICAgZGFya2VuKEB3aGl0ZSwgMTAlKTtcbkBidG5Cb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICNjY2M7XG5cbkBidG5QcmltYXJ5QmFja2dyb3VuZDogICAgICAgICAgICAgIEBsaW5rQ29sb3I7XG5AYnRuUHJpbWFyeUJhY2tncm91bmRIaWdobGlnaHQ6ICAgICBzcGluKEBidG5QcmltYXJ5QmFja2dyb3VuZCwgMjAlKTtcblxuQGJ0bkluZm9CYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgIzViYzBkZTtcbkBidG5JbmZvQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICMyZjk2YjQ7XG5cbkBidG5TdWNjZXNzQmFja2dyb3VuZDogICAgICAgICAgICAgICM2MmM0NjI7XG5AYnRuU3VjY2Vzc0JhY2tncm91bmRIaWdobGlnaHQ6ICAgICAjNTFhMzUxO1xuXG5AYnRuV2FybmluZ0JhY2tncm91bmQ6ICAgICAgICAgICAgICBsaWdodGVuKEBvcmFuZ2UsIDE1JSk7XG5AYnRuV2FybmluZ0JhY2tncm91bmRIaWdobGlnaHQ6ICAgICBAb3JhbmdlO1xuXG5AYnRuRGFuZ2VyQmFja2dyb3VuZDogICAgICAgICAgICAgICAjZWU1ZjViO1xuQGJ0bkRhbmdlckJhY2tncm91bmRIaWdobGlnaHQ6ICAgICAgI2JkMzYyZjtcblxuQGJ0bkludmVyc2VCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIzQ0NDtcbkBidG5JbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDogICAgIEBncmF5RGFya2VyO1xuXG5cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5wdXRCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIEB3aGl0ZTtcbkBpbnB1dEJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYztcbkBpbnB1dEJvcmRlclJhZGl1czogICAgICAgICAgICAgQGJhc2VCb3JkZXJSYWRpdXM7XG5AaW5wdXREaXNhYmxlZEJhY2tncm91bmQ6ICAgICAgIEBncmF5TGlnaHRlcjtcbkBmb3JtQWN0aW9uc0JhY2tncm91bmQ6ICAgICAgICAgI2Y1ZjVmNTtcbkBpbnB1dEhlaWdodDogICAgICAgICAgICAgICAgICAgQGJhc2VMaW5lSGVpZ2h0ICsgMTBweDsgLy8gYmFzZSBsaW5lLWhlaWdodCArIDhweCB2ZXJ0aWNhbCBwYWRkaW5nICsgMnB4IHRvcC9ib3R0b20gYm9yZGVyXG5cblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZHJvcGRvd25CYWNrZ3JvdW5kOiAgICAgICAgICAgIEB3aGl0ZTtcbkBkcm9wZG93bkJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMik7XG5AZHJvcGRvd25EaXZpZGVyVG9wOiAgICAgICAgICAgICNlNWU1ZTU7XG5AZHJvcGRvd25EaXZpZGVyQm90dG9tOiAgICAgICAgIEB3aGl0ZTtcblxuQGRyb3Bkb3duTGlua0NvbG9yOiAgICAgICAgICAgICBAZ3JheURhcms7XG5AZHJvcGRvd25MaW5rQ29sb3JIb3ZlcjogICAgICAgIEB3aGl0ZTtcbkBkcm9wZG93bkxpbmtDb2xvckFjdGl2ZTogICAgICAgQHdoaXRlO1xuXG5AZHJvcGRvd25MaW5rQmFja2dyb3VuZEFjdGl2ZTogIEBsaW5rQ29sb3I7XG5AZHJvcGRvd25MaW5rQmFja2dyb3VuZEhvdmVyOiAgIEBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kQWN0aXZlO1xuXG5cblxuLy8gQ09NUE9ORU5UIFZBUklBQkxFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVc2VkIGZvciBhIGJpcmQncyBleWUgdmlldyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzXG4vLyBUcnkgdG8gYXZvaWQgY3VzdG9taXppbmcgdGhlc2UgOilcbkB6aW5kZXhEcm9wZG93bjogICAgICAgICAgMTAwMDtcbkB6aW5kZXhQb3BvdmVyOiAgICAgICAgICAgMTAxMDtcbkB6aW5kZXhUb29sdGlwOiAgICAgICAgICAgMTAzMDtcbkB6aW5kZXhGaXhlZE5hdmJhcjogICAgICAgMTAzMDtcbkB6aW5kZXhNb2RhbEJhY2tkcm9wOiAgICAgMTA0MDtcbkB6aW5kZXhNb2RhbDogICAgICAgICAgICAgMTA1MDtcblxuXG4vLyBTcHJpdGUgaWNvbnMgcGF0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGljb25TcHJpdGVQYXRoOiAgICAgICAgICBcIi4uL2ltZy9nbHlwaGljb25zLWhhbGZsaW5ncy5wbmdcIjtcbkBpY29uV2hpdGVTcHJpdGVQYXRoOiAgICAgXCIuLi9pbWcvZ2x5cGhpY29ucy1oYWxmbGluZ3Mtd2hpdGUucG5nXCI7XG5cblxuLy8gSW5wdXQgcGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHBsYWNlaG9sZGVyVGV4dDogICAgICAgICBAZ3JheUxpZ2h0O1xuXG5cbi8vIEhyIGJvcmRlciBjb2xvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGhyQm9yZGVyOiAgICAgICAgICAgICAgICBAZ3JheUxpZ2h0ZXI7XG5cblxuLy8gSG9yaXpvbnRhbCBmb3JtcyAmIGxpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldDogICAgICAgMTgwcHg7XG5cblxuLy8gV2VsbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB3ZWxsQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAjZjVmNWY1O1xuXG5cbi8vIE5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG5hdmJhckNvbGxhcHNlV2lkdGg6ICAgICAgICAgICAgIDk3OXB4O1xuQG5hdmJhckNvbGxhcHNlRGVza3RvcFdpZHRoOiAgICAgIEBuYXZiYXJDb2xsYXBzZVdpZHRoICsgMTtcblxuQG5hdmJhckhlaWdodDogICAgICAgICAgICAgICAgICAgIDQwcHg7XG5AbmF2YmFyQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgI2ZmZmZmZjtcbkBuYXZiYXJCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQsIDUlKTtcbkBuYXZiYXJCb3JkZXI6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oQG5hdmJhckJhY2tncm91bmQsIDEyJSk7XG5cbkBuYXZiYXJUZXh0OiAgICAgICAgICAgICAgICAgICAgICAjNzc3O1xuQG5hdmJhckxpbmtDb2xvcjogICAgICAgICAgICAgICAgICM3Nzc7XG5AbmF2YmFyTGlua0NvbG9ySG92ZXI6ICAgICAgICAgICAgQGdyYXlEYXJrO1xuQG5hdmJhckxpbmtDb2xvckFjdGl2ZTogICAgICAgICAgIEBncmF5O1xuQG5hdmJhckxpbmtCYWNrZ3JvdW5kSG92ZXI6ICAgICAgIHRyYW5zcGFyZW50O1xuQG5hdmJhckxpbmtCYWNrZ3JvdW5kQWN0aXZlOiAgICAgIGRhcmtlbihAbmF2YmFyQmFja2dyb3VuZCwgNSUpO1xuXG5AbmF2YmFyQnJhbmRDb2xvcjogICAgICAgICAgICAgICAgQG5hdmJhckxpbmtDb2xvcjtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG5AbmF2YmFySW52ZXJzZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICMxMTExMTE7XG5AbmF2YmFySW52ZXJzZUJhY2tncm91bmRIaWdobGlnaHQ6ICAgICAgICMyMjIyMjI7XG5AbmF2YmFySW52ZXJzZUJvcmRlcjogICAgICAgICAgICAgICAgICAgICMyNTI1MjU7XG5cbkBuYXZiYXJJbnZlcnNlVGV4dDogICAgICAgICAgICAgICAgICAgICAgQGdyYXlMaWdodDtcbkBuYXZiYXJJbnZlcnNlTGlua0NvbG9yOiAgICAgICAgICAgICAgICAgQGdyYXlMaWdodDtcbkBuYXZiYXJJbnZlcnNlTGlua0NvbG9ySG92ZXI6ICAgICAgICAgICAgQHdoaXRlO1xuQG5hdmJhckludmVyc2VMaW5rQ29sb3JBY3RpdmU6ICAgICAgICAgICBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckhvdmVyO1xuQG5hdmJhckludmVyc2VMaW5rQmFja2dyb3VuZEhvdmVyOiAgICAgICB0cmFuc3BhcmVudDtcbkBuYXZiYXJJbnZlcnNlTGlua0JhY2tncm91bmRBY3RpdmU6ICAgICAgQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kO1xuXG5AbmF2YmFySW52ZXJzZVNlYXJjaEJhY2tncm91bmQ6ICAgICAgICAgIGxpZ2h0ZW4oQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kLCAyNSUpO1xuQG5hdmJhckludmVyc2VTZWFyY2hCYWNrZ3JvdW5kRm9jdXM6ICAgICBAd2hpdGU7XG5AbmF2YmFySW52ZXJzZVNlYXJjaEJvcmRlcjogICAgICAgICAgICAgIEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZDtcbkBuYXZiYXJJbnZlcnNlU2VhcmNoUGxhY2Vob2xkZXJDb2xvcjogICAgI2NjYztcblxuQG5hdmJhckludmVyc2VCcmFuZENvbG9yOiAgICAgICAgICAgICAgICBAbmF2YmFySW52ZXJzZUxpbmtDb2xvcjtcblxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGFnaW5hdGlvbkJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICNmZmY7XG5AcGFnaW5hdGlvbkJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQ7XG5AcGFnaW5hdGlvbkFjdGl2ZUJhY2tncm91bmQ6ICAgICAgICAgICNmNWY1ZjU7XG5cblxuLy8gSGVybyB1bml0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaGVyb1VuaXRCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgQGdyYXlMaWdodGVyO1xuQGhlcm9Vbml0SGVhZGluZ0NvbG9yOiAgICAgICAgICAgIGluaGVyaXQ7XG5AaGVyb1VuaXRMZWFkQ29sb3I6ICAgICAgICAgICAgICAgaW5oZXJpdDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ad2FybmluZ1RleHQ6ICAgICAgICAgICAgICNjMDk4NTM7XG5Ad2FybmluZ0JhY2tncm91bmQ6ICAgICAgICNmY2Y4ZTM7XG5Ad2FybmluZ0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEB3YXJuaW5nQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5AZXJyb3JUZXh0OiAgICAgICAgICAgICAgICNiOTRhNDg7XG5AZXJyb3JCYWNrZ3JvdW5kOiAgICAgICAgICNmMmRlZGU7XG5AZXJyb3JCb3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihzcGluKEBlcnJvckJhY2tncm91bmQsIC0xMCksIDMlKTtcblxuQHN1Y2Nlc3NUZXh0OiAgICAgICAgICAgICAjNDY4ODQ3O1xuQHN1Y2Nlc3NCYWNrZ3JvdW5kOiAgICAgICAjZGZmMGQ4O1xuQHN1Y2Nlc3NCb3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3VjY2Vzc0JhY2tncm91bmQsIC0xMCksIDUlKTtcblxuQGluZm9UZXh0OiAgICAgICAgICAgICAgICAjM2E4N2FkO1xuQGluZm9CYWNrZ3JvdW5kOiAgICAgICAgICAjZDllZGY3O1xuQGluZm9Cb3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oc3BpbihAaW5mb0JhY2tncm91bmQsIC0xMCksIDclKTtcblxuXG4vLyBUb29sdGlwcyBhbmQgcG9wb3ZlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB0b29sdGlwQ29sb3I6ICAgICAgICAgICAgI2ZmZjtcbkB0b29sdGlwQmFja2dyb3VuZDogICAgICAgIzAwMDtcbkB0b29sdGlwQXJyb3dXaWR0aDogICAgICAgNXB4O1xuQHRvb2x0aXBBcnJvd0NvbG9yOiAgICAgICBAdG9vbHRpcEJhY2tncm91bmQ7XG5cbkBwb3BvdmVyQmFja2dyb3VuZDogICAgICAgI2ZmZjtcbkBwb3BvdmVyQXJyb3dXaWR0aDogICAgICAgMTBweDtcbkBwb3BvdmVyQXJyb3dDb2xvcjogICAgICAgI2ZmZjtcbkBwb3BvdmVyVGl0bGVCYWNrZ3JvdW5kOiAgZGFya2VuKEBwb3BvdmVyQmFja2dyb3VuZCwgMyUpO1xuXG4vLyBTcGVjaWFsIGVuaGFuY2VtZW50IGZvciBwb3BvdmVyc1xuQHBvcG92ZXJBcnJvd091dGVyV2lkdGg6ICBAcG9wb3ZlckFycm93V2lkdGggKyAxO1xuQHBvcG92ZXJBcnJvd091dGVyQ29sb3I6ICByZ2JhKDAsMCwwLC4yNSk7XG5cblxuXG4vLyBHUklEXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERlZmF1bHQgOTQwcHggZ3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGdyaWRDb2x1bW5zOiAgICAgICAgICAgICAxMjtcbkBncmlkQ29sdW1uV2lkdGg6ICAgICAgICAgNjBweDtcbkBncmlkR3V0dGVyV2lkdGg6ICAgICAgICAgMjBweDtcbkBncmlkUm93V2lkdGg6ICAgICAgICAgICAgKEBncmlkQ29sdW1ucyAqIEBncmlkQ29sdW1uV2lkdGgpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGdyaWRDb2x1bW5zIC0gMSkpO1xuXG4vLyAxMjAwcHggbWluXG5AZ3JpZENvbHVtbldpZHRoMTIwMDogICAgIDcwcHg7XG5AZ3JpZEd1dHRlcldpZHRoMTIwMDogICAgIDMwcHg7XG5AZ3JpZFJvd1dpZHRoMTIwMDogICAgICAgIChAZ3JpZENvbHVtbnMgKiBAZ3JpZENvbHVtbldpZHRoMTIwMCkgKyAoQGdyaWRHdXR0ZXJXaWR0aDEyMDAgKiAoQGdyaWRDb2x1bW5zIC0gMSkpO1xuXG4vLyA3NjhweC05NzlweFxuQGdyaWRDb2x1bW5XaWR0aDc2ODogICAgICA0MnB4O1xuQGdyaWRHdXR0ZXJXaWR0aDc2ODogICAgICAyMHB4O1xuQGdyaWRSb3dXaWR0aDc2ODogICAgICAgICAoQGdyaWRDb2x1bW5zICogQGdyaWRDb2x1bW5XaWR0aDc2OCkgKyAoQGdyaWRHdXR0ZXJXaWR0aDc2OCAqIChAZ3JpZENvbHVtbnMgLSAxKSk7XG5cblxuLy8gRmx1aWQgZ3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZsdWlkR3JpZENvbHVtbldpZHRoOiAgICBwZXJjZW50YWdlKEBncmlkQ29sdW1uV2lkdGgvQGdyaWRSb3dXaWR0aCk7XG5AZmx1aWRHcmlkR3V0dGVyV2lkdGg6ICAgIHBlcmNlbnRhZ2UoQGdyaWRHdXR0ZXJXaWR0aC9AZ3JpZFJvd1dpZHRoKTtcblxuLy8gMTIwMHB4IG1pblxuQGZsdWlkR3JpZENvbHVtbldpZHRoMTIwMDogICAgIHBlcmNlbnRhZ2UoQGdyaWRDb2x1bW5XaWR0aDEyMDAvQGdyaWRSb3dXaWR0aDEyMDApO1xuQGZsdWlkR3JpZEd1dHRlcldpZHRoMTIwMDogICAgIHBlcmNlbnRhZ2UoQGdyaWRHdXR0ZXJXaWR0aDEyMDAvQGdyaWRSb3dXaWR0aDEyMDApO1xuXG4vLyA3NjhweC05NzlweFxuQGZsdWlkR3JpZENvbHVtbldpZHRoNzY4OiAgICAgIHBlcmNlbnRhZ2UoQGdyaWRDb2x1bW5XaWR0aDc2OC9AZ3JpZFJvd1dpZHRoNzY4KTtcbkBmbHVpZEdyaWRHdXR0ZXJXaWR0aDc2ODogICAgICBwZXJjZW50YWdlKEBncmlkR3V0dGVyV2lkdGg3NjgvQGdyaWRSb3dXaWR0aDc2OCk7XG4iLCIvL1xuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gR0VORVJBTCBTVFlMRVNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgYWxsIGZvcm1zIGhhdmUgc3BhY2UgYmVsb3cgdGhlbVxuZm9ybSB7XG4gIG1hcmdpbjogMCAwIEBiYXNlTGluZUhlaWdodDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gR3JvdXBzIG9mIGZpZWxkcyB3aXRoIGxhYmVscyBvbiB0b3AgKGxlZ2VuZHMpXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMS41O1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0ICogMjtcbiAgY29sb3I6IEBncmF5RGFyaztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcblxuICAvLyBTbWFsbFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiBAYmFzZUxpbmVIZWlnaHQgKiAuNzU7XG4gICAgY29sb3I6IEBncmF5TGlnaHQ7XG4gIH1cbn1cblxuLy8gU2V0IGZvbnQgZm9yIGZvcm1zXG5sYWJlbCxcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAjZm9udCA+IC5zaG9ydGhhbmQoQGJhc2VGb250U2l6ZSxub3JtYWwsQGJhc2VMaW5lSGVpZ2h0KTsgLy8gU2V0IHNpemUsIHdlaWdodCwgbGluZS1oZWlnaHQgaGVyZVxufVxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBAYmFzZUZvbnRGYW1pbHk7IC8vIEFuZCBvbmx5IHNldCBmb250LWZhbWlseSBoZXJlIGZvciB0aG9zZSB0aGF0IG5lZWQgaXQgKG5vdGUgdGhlIG1pc3NpbmcgbGFiZWwgZWxlbWVudClcbn1cblxuLy8gSWRlbnRpZnkgY29udHJvbHMgYnkgdGhlaXIgbGFiZWxzXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIEZvcm0gY29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzXG5zZWxlY3QsXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51bmVkaXRhYmxlLWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgcGFkZGluZzogNHB4IDZweDtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBjb2xvcjogQGdyYXk7XG4gIC5ib3JkZXItcmFkaXVzKEBpbnB1dEJvcmRlclJhZGl1cyk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc2V0IGFwcGVhcmFuY2UgcHJvcGVydGllcyBmb3IgdGV4dHVhbCBpbnB1dHMgYW5kIHRleHRhcmVhXG4vLyBEZWNsYXJlIHdpZHRoIGZvciBsZWdhY3kgKGNhbid0IGJlIG9uIGlucHV0W3R5cGU9Kl0gc2VsZWN0b3JzIG9yIGl0J3MgdG9vIHNwZWNpZmljKVxuaW5wdXQsXG50ZXh0YXJlYSxcbi51bmVkaXRhYmxlLWlucHV0IHtcbiAgd2lkdGg6IDIwNnB4OyAvLyBwbHVzIDEycHggcGFkZGluZyBhbmQgMnB4IGJvcmRlclxufVxuLy8gUmVzZXQgaGVpZ2h0IHNpbmNlIHRleHRhcmVhcyBoYXZlIHJvd3NcbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLy8gRXZlcnl0aGluZyBlbHNlXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi51bmVkaXRhYmxlLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0QmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0Qm9yZGVyO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7XG4gIC50cmFuc2l0aW9uKH5cImJvcmRlciBsaW5lYXIgLjJzLCBib3gtc2hhZG93IGxpbmVhciAuMnNcIik7XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDgyLDE2OCwyMzYsLjgpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQgXFw5OyAvKiBJRTYtOSAqL1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoODIsMTY4LDIzNiwuNilcIik7XG4gIH1cbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICAqbWFyZ2luLXRvcDogMDsgLyogSUU3ICovXG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8qIElFOC05ICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vIFJlc2V0IHdpZHRoIG9mIGlucHV0IGltYWdlcywgYnV0dG9ucywgcmFkaW9zLCBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgd2lkdGg6IGF1dG87IC8vIE92ZXJyaWRlIG9mIGdlbmVyaWMgaW5wdXQgc2VsZWN0b3Jcbn1cblxuLy8gU2V0IHRoZSBoZWlnaHQgb2Ygc2VsZWN0IGFuZCBmaWxlIGNvbnRyb2xzIHRvIG1hdGNoIHRleHQgaW5wdXRzXG5zZWxlY3QsXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGhlaWdodDogQGlucHV0SGVpZ2h0OyAvKiBJbiBJRTcsIHRoZSBoZWlnaHQgb2YgdGhlIHNlbGVjdCBlbGVtZW50IGNhbm5vdCBiZSBjaGFuZ2VkIGJ5IGhlaWdodCwgb25seSBmb250LXNpemUgKi9cbiAgKm1hcmdpbi10b3A6IDRweDsgLyogRm9yIElFNywgYWRkIHRvcCBtYXJnaW4gdG8gYWxpZ24gc2VsZWN0IHdpdGggbGFiZWxzICovXG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXRIZWlnaHQ7XG59XG5cbi8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIG9iZXkgaGVpZ2h0IGJ5IGFwcGx5aW5nIGEgYm9yZGVyXG5zZWxlY3Qge1xuICB3aWR0aDogMjIwcHg7IC8vIGRlZmF1bHQgaW5wdXQgd2lkdGggKyAxMHB4IG9mIHBhZGRpbmcgdGhhdCBkb2Vzbid0IGdldCBhcHBsaWVkXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dEJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0QmFja2dyb3VuZDsgLy8gQ2hyb21lIG9uIExpbnV4IGFuZCBNb2JpbGUgU2FmYXJpIG5lZWQgYmFja2dyb3VuZC1jb2xvclxufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3Igc2VsZWN0LCBmaWxlLCByYWRpbywgYW5kIGNoZWNrYm94XG5zZWxlY3Q6Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gIC50YWItZm9jdXMoKTtcbn1cblxuXG4vLyBVbmVkaXRhYmxlIGlucHV0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHVuZWRpdGFibGUgaW5wdXRzIGxvb2sgaW5hY3RpdmVcbi51bmVkaXRhYmxlLWlucHV0LFxuLnVuZWRpdGFibGUtdGV4dGFyZWEge1xuICBjb2xvcjogQGdyYXlMaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBpbnB1dEJhY2tncm91bmQsIDElKTtcbiAgYm9yZGVyLWNvbG9yOiBAaW5wdXRCb3JkZXI7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wMjUpKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8gRm9yIHRleHQgdGhhdCBuZWVkcyB0byBhcHBlYXIgYXMgYW4gaW5wdXQgYnV0IHNob3VsZCBub3QgYmUgYW4gaW5wdXRcbi51bmVkaXRhYmxlLWlucHV0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcsIGJ1dCBzdGlsbCBjdXQgaXQgb2ZmIGxpa2UgYW4gaW5wdXQgZG9lc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBNYWtlIHVuZWRpdGFibGUgdGV4dGFyZWFzIGJlaGF2ZSBsaWtlIGEgdGV4dGFyZWFcbi51bmVkaXRhYmxlLXRleHRhcmVhIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBQbGFjZWhvbGRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0IGdldHMgc3BlY2lhbCBzdHlsZXMgYmVjYXVzZSB3aGVuIGJyb3dzZXJzIGludmFsaWRhdGUgZW50aXJlIGxpbmVzIGlmIGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCBhIHNlbGVjdG9yXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgLnBsYWNlaG9sZGVyKCk7XG59XG5cblxuLy8gQ0hFQ0tCT1hFUyAmIFJBRElPU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBtaW4taGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7IC8vIGNsZWFyIHRoZSBmbG9hdGluZyBpbnB1dCBpZiB0aGVyZSBpcyBubyBsYWJlbCB0ZXh0XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuLy8gTW92ZSB0aGUgb3B0aW9ucyBsaXN0IGRvd24gdG8gYWxpZ24gd2l0aCBsYWJlbHNcbi5jb250cm9scyA+IC5yYWRpbzpmaXJzdC1jaGlsZCxcbi5jb250cm9scyA+IC5jaGVja2JveDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiA1cHg7IC8vIGhhcyB0byBiZSBwYWRkaW5nIGJlY2F1c2UgbWFyZ2luIGNvbGxhc3Blc1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4vLyBUT0RPIHYzOiBDb252ZXJ0IC5pbmxpbmUgdG8gLmNvbnRyb2wtaW5saW5lXG4ucmFkaW8uaW5saW5lLFxuLmNoZWNrYm94LmlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5yYWRpby5pbmxpbmUgKyAucmFkaW8uaW5saW5lLFxuLmNoZWNrYm94LmlubGluZSArIC5jaGVja2JveC5pbmxpbmUge1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG5cblxuLy8gSU5QVVQgU0laRVNcbi8vIC0tLS0tLS0tLS0tXG5cbi8vIEdlbmVyYWwgY2xhc3NlcyBmb3IgcXVpY2sgc2l6ZXNcbi5pbnB1dC1taW5pICAgICAgIHsgd2lkdGg6IDYwcHg7IH1cbi5pbnB1dC1zbWFsbCAgICAgIHsgd2lkdGg6IDkwcHg7IH1cbi5pbnB1dC1tZWRpdW0gICAgIHsgd2lkdGg6IDE1MHB4OyB9XG4uaW5wdXQtbGFyZ2UgICAgICB7IHdpZHRoOiAyMTBweDsgfVxuLmlucHV0LXhsYXJnZSAgICAgeyB3aWR0aDogMjcwcHg7IH1cbi5pbnB1dC14eGxhcmdlICAgIHsgd2lkdGg6IDUzMHB4OyB9XG5cbi8vIEdyaWQgc3R5bGUgaW5wdXQgc2l6ZXNcbmlucHV0W2NsYXNzKj1cInNwYW5cIl0sXG5zZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcbnRleHRhcmVhW2NsYXNzKj1cInNwYW5cIl0sXG4udW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLy8gUmVkZWNsYXJlIHNpbmNlIHRoZSBmbHVpZCByb3cgY2xhc3MgaXMgbW9yZSBzcGVjaWZpY1xuLnJvdy1mbHVpZCBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCBzZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgdGV4dGFyZWFbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPVwic3BhblwiXSB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIEVuc3VyZSBpbnB1dC1wcmVwZW5kL2FwcGVuZCBuZXZlciB3cmFwc1xuLmlucHV0LWFwcGVuZCBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLmlucHV0LWFwcGVuZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLmlucHV0LXByZXBlbmQgaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi5pbnB1dC1wcmVwZW5kIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIGlucHV0W2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIHNlbGVjdFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCB0ZXh0YXJlYVtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCAuaW5wdXQtcHJlcGVuZCBbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgLmlucHV0LWFwcGVuZCBbY2xhc3MqPVwic3BhblwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG5cbi8vIEdSSUQgU0laSU5HIEZPUiBJTlBVVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR3JpZCBzaXplc1xuI2dyaWQgPiAuaW5wdXQoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCk7XG5cbi8vIENvbnRyb2wgcm93IGZvciBtdWx0aXBsZSBpbnB1dHMgcGVyIGxpbmVcbi5jb250cm9scy1yb3cge1xuICAuY2xlYXJmaXgoKTsgLy8gQ2xlYXIgdGhlIGZsb2F0IGZyb20gY29udHJvbHNcbn1cblxuLy8gRmxvYXQgdG8gY29sbGFwc2Ugd2hpdGUtc3BhY2UgZm9yIHByb3BlciBncmlkIGFsaWdubWVudFxuLmNvbnRyb2xzLXJvdyBbY2xhc3MqPVwic3BhblwiXSxcbi8vIFJlZGVjbGFyZSB0aGUgZmx1aWQgZ3JpZCBjb2xsYXBzZSBzaW5jZSB3ZSB1bmRvIHRoZSBmbG9hdCBmb3IgaW5wdXRzXG4ucm93LWZsdWlkIC5jb250cm9scy1yb3cgW2NsYXNzKj1cInNwYW5cIl0ge1xuICBmbG9hdDogbGVmdDtcbn1cbi8vIEV4cGxpY2l0eSBzZXQgdG9wIHBhZGRpbmcgb24gYWxsIGNoZWNrYm94ZXMvcmFkaW9zLCBub3QganVzdCBmaXJzdC1jaGlsZFxuLmNvbnRyb2xzLXJvdyAuY2hlY2tib3hbY2xhc3MqPVwic3BhblwiXSxcbi5jb250cm9scy1yb3cgLnJhZGlvW2NsYXNzKj1cInNwYW5cIl0ge1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG5cblxuXG4vLyBESVNBQkxFRCBTVEFURVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbmlucHV0W2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG50ZXh0YXJlYVtkaXNhYmxlZF0sXG5pbnB1dFtyZWFkb25seV0sXG5zZWxlY3RbcmVhZG9ubHldLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0RGlzYWJsZWRCYWNrZ3JvdW5kO1xufVxuLy8gRXhwbGljaXRseSByZXNldCB0aGUgY29sb3JzIGhlcmVcbmlucHV0W3R5cGU9XCJyYWRpb1wiXVtkaXNhYmxlZF0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bZGlzYWJsZWRdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdW3JlYWRvbmx5XSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuXG5cblxuLy8gRk9STSBGSUVMRCBGRUVEQkFDSyBTVEFURVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdhcm5pbmdcbi5jb250cm9sLWdyb3VwLndhcm5pbmcge1xuICAuZm9ybUZpZWxkU3RhdGUoQHdhcm5pbmdUZXh0LCBAd2FybmluZ1RleHQsIEB3YXJuaW5nQmFja2dyb3VuZCk7XG59XG4vLyBFcnJvclxuLmNvbnRyb2wtZ3JvdXAuZXJyb3Ige1xuICAuZm9ybUZpZWxkU3RhdGUoQGVycm9yVGV4dCwgQGVycm9yVGV4dCwgQGVycm9yQmFja2dyb3VuZCk7XG59XG4vLyBTdWNjZXNzXG4uY29udHJvbC1ncm91cC5zdWNjZXNzIHtcbiAgLmZvcm1GaWVsZFN0YXRlKEBzdWNjZXNzVGV4dCwgQHN1Y2Nlc3NUZXh0LCBAc3VjY2Vzc0JhY2tncm91bmQpO1xufVxuLy8gU3VjY2Vzc1xuLmNvbnRyb2wtZ3JvdXAuaW5mbyB7XG4gIC5mb3JtRmllbGRTdGF0ZShAaW5mb1RleHQsIEBpbmZvVGV4dCwgQGluZm9CYWNrZ3JvdW5kKTtcbn1cblxuLy8gSFRNTDUgaW52YWxpZCBzdGF0ZXNcbi8vIFNoYXJlcyBzdHlsZXMgd2l0aCB0aGUgLmNvbnRyb2wtZ3JvdXAuZXJyb3IgYWJvdmVcbmlucHV0OmZvY3VzOmludmFsaWQsXG50ZXh0YXJlYTpmb2N1czppbnZhbGlkLFxuc2VsZWN0OmZvY3VzOmludmFsaWQge1xuICBjb2xvcjogI2I5NGE0ODtcbiAgYm9yZGVyLWNvbG9yOiAjZWU1ZjViO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigjZWU1ZjViLCAxMCUpO1xuICAgIEBzaGFkb3c6IDAgMCA2cHggbGlnaHRlbigjZWU1ZjViLCAyMCUpO1xuICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICB9XG59XG5cblxuXG4vLyBGT1JNIEFDVElPTlNcbi8vIC0tLS0tLS0tLS0tLVxuXG4uZm9ybS1hY3Rpb25zIHtcbiAgcGFkZGluZzogKEBiYXNlTGluZUhlaWdodCAtIDEpIDIwcHggQGJhc2VMaW5lSGVpZ2h0O1xuICBtYXJnaW4tdG9wOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGZvcm1BY3Rpb25zQmFja2dyb3VuZDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIC5jbGVhcmZpeCgpOyAvLyBBZGRpbmcgY2xlYXJmaXggdG8gYWxsb3cgZm9yIC5wdWxsLXJpZ2h0IGJ1dHRvbiBjb250YWluZXJzXG59XG5cblxuXG4vLyBIRUxQIFRFWFRcbi8vIC0tLS0tLS0tLVxuXG4uaGVscC1ibG9jayxcbi5oZWxwLWlubGluZSB7XG4gIGNvbG9yOiBsaWdodGVuKEB0ZXh0Q29sb3IsIDE1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgLy8gYWNjb3VudCBmb3IgYW55IGVsZW1lbnQgdXNpbmcgaGVscC1ibG9ja1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQgLyAyO1xufVxuXG4uaGVscC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5pZTctaW5saW5lLWJsb2NrKCk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG5cblxuLy8gSU5QVVQgR1JPVVBTXG4vLyAtLS0tLS0tLS0tLS1cblxuLy8gQWxsb3cgdXMgdG8gcHV0IHN5bWJvbHMgYW5kIHRleHQgd2l0aGluIHRoZSBpbnB1dCBmaWVsZCBmb3IgYSBjbGVhbmVyIGxvb2tcbi5pbnB1dC1hcHBlbmQsXG4uaW5wdXQtcHJlcGVuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAwOyAvLyB3aGl0ZSBzcGFjZSBjb2xsYXBzZSBoYWNrXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIFByZXZlbnQgc3BhbiBhbmQgaW5wdXQgZnJvbSBzZXBhcmF0aW5nXG5cbiAgLy8gUmVzZXQgdGhlIHdoaXRlIHNwYWNlIGNvbGxhcHNlIGhhY2tcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgLnVuZWRpdGFibGUtaW5wdXQsXG4gIC5kcm9wZG93bi1tZW51LFxuICAucG9wb3ZlciB7XG4gICAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplO1xuICB9XG5cbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gcGxhY2VkIGhlcmUgYnkgZGVmYXVsdCBzbyB0aGF0IG9uIDpmb2N1cyB3ZSBjYW4gcGxhY2UgdGhlIGlucHV0IGFib3ZlIHRoZSAuYWRkLW9uIGZvciBmdWxsIGJvcmRlciBhbmQgYm94LXNoYWRvdyBnb29kbmVzc1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIHByZXZlbnQgYm90dG9tIG1hcmdpbiBmcm9tIHNjcmV3aW5nIHVwIGFsaWdubWVudCBpbiBzdGFja2VkIGZvcm1zXG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLmJvcmRlci1yYWRpdXMoMCBAaW5wdXRCb3JkZXJSYWRpdXMgQGlucHV0Qm9yZGVyUmFkaXVzIDApO1xuICAgIC8vIE1ha2UgaW5wdXQgb24gdG9wIHdoZW4gZm9jdXNlZCBzbyBibHVlIGJvcmRlciBhbmQgc2hhZG93IGFsd2F5cyBzaG93XG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuICAuYWRkLW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gICAgbWluLXdpZHRoOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRweCA1cHg7XG4gICAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgQHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5TGlnaHRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB9XG4gIC5hZGQtb24sXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC5ib3JkZXItcmFkaXVzKDApO1xuICB9XG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGdyZWVuLCAzMCk7XG4gICAgYm9yZGVyLWNvbG9yOiBAZ3JlZW47XG4gIH1cbn1cblxuLmlucHV0LXByZXBlbmQge1xuICAuYWRkLW9uLFxuICAuYnRuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIH1cbiAgLmFkZC1vbjpmaXJzdC1jaGlsZCxcbiAgLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgLy8gRllJLCBgLmJ0bjpmaXJzdC1jaGlsZGAgYWNjb3VudHMgZm9yIGEgYnV0dG9uIGdyb3VwIHRoYXQncyBwcmVwZW5kZWRcbiAgICAuYm9yZGVyLXJhZGl1cyhAaW5wdXRCb3JkZXJSYWRpdXMgMCAwIEBpbnB1dEJvcmRlclJhZGl1cyk7XG4gIH1cbn1cblxuLmlucHV0LWFwcGVuZCB7XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIC51bmVkaXRhYmxlLWlucHV0IHtcbiAgICAuYm9yZGVyLXJhZGl1cyhAaW5wdXRCb3JkZXJSYWRpdXMgMCAwIEBpbnB1dEJvcmRlclJhZGl1cyk7XG4gICAgKyAuYnRuLWdyb3VwIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICAuYm9yZGVyLXJhZGl1cygwIEBpbnB1dEJvcmRlclJhZGl1cyBAaW5wdXRCb3JkZXJSYWRpdXMgMCk7XG4gICAgfVxuICB9XG4gIC5hZGQtb24sXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC5hZGQtb246bGFzdC1jaGlsZCxcbiAgLmJ0bjpsYXN0LWNoaWxkLFxuICAuYnRuLWdyb3VwOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLXJhZGl1cygwIEBpbnB1dEJvcmRlclJhZGl1cyBAaW5wdXRCb3JkZXJSYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGFsbCBib3JkZXItcmFkaXVzIGZvciBpbnB1dHMgd2l0aCBib3RoIHByZXBlbmQgYW5kIGFwcGVuZFxuLmlucHV0LXByZXBlbmQuaW5wdXQtYXBwZW5kIHtcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgIC5ib3JkZXItcmFkaXVzKDApO1xuICAgICsgLmJ0bi1ncm91cCAuYnRuIHtcbiAgICAgIC5ib3JkZXItcmFkaXVzKDAgQGlucHV0Qm9yZGVyUmFkaXVzIEBpbnB1dEJvcmRlclJhZGl1cyAwKTtcbiAgICB9XG4gIH1cbiAgLmFkZC1vbjpmaXJzdC1jaGlsZCxcbiAgLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIC5ib3JkZXItcmFkaXVzKEBpbnB1dEJvcmRlclJhZGl1cyAwIDAgQGlucHV0Qm9yZGVyUmFkaXVzKTtcbiAgfVxuICAuYWRkLW9uOmxhc3QtY2hpbGQsXG4gIC5idG46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgLmJvcmRlci1yYWRpdXMoMCBAaW5wdXRCb3JkZXJSYWRpdXMgQGlucHV0Qm9yZGVyUmFkaXVzIDApO1xuICB9XG4gIC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuXG5cbi8vIFNFQVJDSCBGT1JNXG4vLyAtLS0tLS0tLS0tLVxuXG5pbnB1dC5zZWFyY2gtcXVlcnkge1xuICBwYWRkaW5nLXJpZ2h0OiAxNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0cHggXFw5O1xuICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gIHBhZGRpbmctbGVmdDogNHB4IFxcOTsgLyogSUU3LTggZG9lc24ndCBoYXZlIGJvcmRlci1yYWRpdXMsIHNvIGRvbid0IGluZGVudCB0aGUgcGFkZGluZyAqL1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgbWFyZ2luIG9uIGFsbCBpbnB1dHNcbiAgLmJvcmRlci1yYWRpdXMoMTVweCk7XG59XG5cbi8qIEFsbG93IGZvciBpbnB1dCBwcmVwZW5kL2FwcGVuZCBpbiBzZWFyY2ggZm9ybXMgKi9cbi5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5zZWFyY2gtcXVlcnksXG4uZm9ybS1zZWFyY2ggLmlucHV0LXByZXBlbmQgLnNlYXJjaC1xdWVyeSB7XG4gIC5ib3JkZXItcmFkaXVzKDApOyAvLyBPdmVycmlkZSBkdWUgdG8gc3BlY2lmaWNpdHlcbn1cbi5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5zZWFyY2gtcXVlcnkge1xuICAuYm9yZGVyLXJhZGl1cygxNHB4IDAgMCAxNHB4KTtcbn1cbi5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5idG4ge1xuICAuYm9yZGVyLXJhZGl1cygwIDE0cHggMTRweCAwKTtcbn1cbi5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZCAuc2VhcmNoLXF1ZXJ5IHtcbiAgLmJvcmRlci1yYWRpdXMoMCAxNHB4IDE0cHggMCk7XG59XG4uZm9ybS1zZWFyY2ggLmlucHV0LXByZXBlbmQgLmJ0biB7XG4gIC5ib3JkZXItcmFkaXVzKDE0cHggMCAwIDE0cHgpO1xufVxuXG5cblxuXG4vLyBIT1JJWk9OVEFMICYgVkVSVElDQUwgRk9STVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb21tb24gcHJvcGVydGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvcm0tc2VhcmNoLFxuLmZvcm0taW5saW5lLFxuLmZvcm0taG9yaXpvbnRhbCB7XG4gIGlucHV0LFxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0LFxuICAuaGVscC1pbmxpbmUsXG4gIC51bmVkaXRhYmxlLWlucHV0LFxuICAuaW5wdXQtcHJlcGVuZCxcbiAgLmlucHV0LWFwcGVuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC5pZTctaW5saW5lLWJsb2NrKCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC8vIFJlLWhpZGUgaGlkZGVuIGVsZW1lbnRzIGR1ZSB0byBzcGVjaWZpdHlcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5mb3JtLXNlYXJjaCBsYWJlbCxcbi5mb3JtLWlubGluZSBsYWJlbCxcbi5mb3JtLXNlYXJjaCAuYnRuLWdyb3VwLFxuLmZvcm0taW5saW5lIC5idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vLyBSZW1vdmUgbWFyZ2luIGZvciBpbnB1dC1wcmVwZW5kLy1hcHBlbmRcbi5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kLFxuLmZvcm0taW5saW5lIC5pbnB1dC1hcHBlbmQsXG4uZm9ybS1zZWFyY2ggLmlucHV0LXByZXBlbmQsXG4uZm9ybS1pbmxpbmUgLmlucHV0LXByZXBlbmQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLy8gSW5saW5lIGNoZWNrYm94L3JhZGlvIGxhYmVscyAocmVtb3ZlIHBhZGRpbmcgb24gbGVmdClcbi5mb3JtLXNlYXJjaCAucmFkaW8sXG4uZm9ybS1zZWFyY2ggLmNoZWNrYm94LFxuLmZvcm0taW5saW5lIC5yYWRpbyxcbi5mb3JtLWlubGluZSAuY2hlY2tib3gge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vLyBSZW1vdmUgZmxvYXQgYW5kIG1hcmdpbiwgc2V0IHRvIGlubGluZS1ibG9ja1xuLmZvcm0tc2VhcmNoIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uZm9ybS1zZWFyY2ggLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmZvcm0taW5saW5lIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cbi8vIE1hcmdpbiB0byBzcGFjZSBvdXQgZmllbGRzZXRzXG4uY29udHJvbC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodCAvIDI7XG59XG5cbi8vIExlZ2VuZCBjb2xsYXBzZXMgbWFyZ2luLCBzbyBuZXh0IGVsZW1lbnQgaXMgcmVzcG9uc2libGUgZm9yIHNwYWNpbmdcbmxlZ2VuZCArIC5jb250cm9sLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogQGJhc2VMaW5lSGVpZ2h0O1xuICAtd2Via2l0LW1hcmdpbi10b3AtY29sbGFwc2U6IHNlcGFyYXRlO1xufVxuXG4vLyBIb3Jpem9udGFsLXNwZWNpZmljIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZvcm0taG9yaXpvbnRhbCB7XG4gIC8vIEluY3JlYXNlIHNwYWNpbmcgYmV0d2VlbiBncm91cHNcbiAgLmNvbnRyb2wtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgICAuY2xlYXJmaXgoKTtcbiAgfVxuICAvLyBGbG9hdCB0aGUgbGFiZWxzIGxlZnRcbiAgLmNvbnRyb2wtbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldCAtIDIwO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLy8gTW92ZSBvdmVyIGFsbCBpbnB1dCBjb250cm9scyBhbmQgY29udGVudFxuICAuY29udHJvbHMge1xuICAgIC8vIFN1cGVyIGphbmsgSUU3IGZpeCB0byBlbnN1cmUgdGhlIGlucHV0cyBpbiAuaW5wdXQtYXBwZW5kIGFuZCBpbnB1dC1wcmVwZW5kXG4gICAgLy8gZG9uJ3QgaW5oZXJpdCB0aGUgbWFyZ2luIG9mIHRoZSBwYXJlbnQsIGluIHRoaXMgY2FzZSAuY29udHJvbHNcbiAgICAqZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IEBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xuICAgICptYXJnaW4tbGVmdDogMDtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICpwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xuICAgIH1cbiAgfVxuICAvLyBSZW1vdmUgYm90dG9tIG1hcmdpbiBvbiBibG9jayBsZXZlbCBoZWxwIHRleHQgc2luY2UgdGhhdCdzIGFjY291bnRlZCBmb3Igb24gLmNvbnRyb2wtZ3JvdXBcbiAgLmhlbHAtYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLy8gQW5kIGFwcGx5IGl0IG9ubHkgdG8gLmhlbHAtYmxvY2sgaW5zdGFuY2VzIHRoYXQgZm9sbG93IGEgZm9ybSBjb250cm9sXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhLFxuICAudW5lZGl0YWJsZS1pbnB1dCxcbiAgLmlucHV0LXByZXBlbmQsXG4gIC5pbnB1dC1hcHBlbmQge1xuICAgICsgLmhlbHAtYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgICB9XG4gIH1cbiAgLy8gTW92ZSBvdmVyIGJ1dHRvbnMgaW4gLmZvcm0tYWN0aW9ucyB0byBhbGlnbiB3aXRoIC5jb250cm9sc1xuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xuICB9XG59XG4iLCIvL1xuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJBU0UgVEFCTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIEJBU0VMSU5FIFNUWUxFU1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIC8vIENlbGxzXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAdGFibGVCb3JkZXI7XG4gIH1cbiAgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNhcHRpb24gKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgQHRhYmxlQm9yZGVyO1xuICB9XG5cbiAgLy8gTmVzdGluZ1xuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBib2R5QmFja2dyb3VuZDtcbiAgfVxufVxuXG5cblxuLy8gQ09OREVOU0VEIFRBQkxFIFcvIEhBTEYgUEFERElOR1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4udGFibGUtY29uZGVuc2VkIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiA0cHggNXB4O1xuICB9XG59XG5cblxuLy8gQk9SREVSRUQgVkVSU0lPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGVCb3JkZXI7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIERvbmUgc28gd2UgY2FuIHJvdW5kIHRob3NlIGNvcm5lcnMhXG4gICpib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBJRTcgY2FuJ3Qgcm91bmQgY29ybmVycyBhbnl3YXlcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIEB0YWJsZUJvcmRlcjtcbiAgfVxuICAvLyBQcmV2ZW50IGEgZG91YmxlIGJvcmRlclxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNhcHRpb24gKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY2FwdGlvbiArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLFxuICBjb2xncm91cCArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICBjb2xncm91cCArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxuICBjb2xncm91cCArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLFxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIC8vIEZvciBmaXJzdCB0aC90ZCBpbiB0aGUgZmlyc3Qgcm93IGluIHRoZSBmaXJzdCB0aGVhZCBvciB0Ym9keVxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIH1cbiAgLy8gRm9yIGxhc3QgdGgvdGQgaW4gdGhlIGZpcnN0IHJvdyBpbiB0aGUgZmlyc3QgdGhlYWQgb3IgdGJvZHlcbiAgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRkOmxhc3QtY2hpbGQsXG4gIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgfVxuICAvLyBGb3IgZmlyc3QgdGgvdGQgKGNhbiBiZSBlaXRoZXIpIGluIHRoZSBsYXN0IHJvdyBpbiB0aGUgbGFzdCB0aGVhZCwgdGJvZHksIGFuZCB0Zm9vdFxuICB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCxcbiAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgfVxuICAvLyBGb3IgbGFzdCB0aC90ZCAoY2FuIGJlIGVpdGhlcikgaW4gdGhlIGxhc3Qgcm93IGluIHRoZSBsYXN0IHRoZWFkLCB0Ym9keSwgYW5kIHRmb290XG4gIHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQsXG4gIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmxhc3QtY2hpbGQsXG4gIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQsXG4gIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmxhc3QtY2hpbGQsXG4gIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIH1cblxuICAvLyBDbGVhciBib3JkZXItcmFkaXVzIGZvciBmaXJzdCBhbmQgbGFzdCB0ZCBpbiB0aGUgbGFzdCByb3cgaW4gdGhlIGxhc3QgdGJvZHkgZm9yIHRhYmxlIHdpdGggdGZvb3RcbiAgdGZvb3QgKyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKDApO1xuICB9XG4gIHRmb290ICsgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFNwZWNpYWwgZml4ZXMgdG8gcm91bmQgdGhlIGxlZnQgYm9yZGVyIG9uIHRoZSBmaXJzdCB0ZC90aFxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4gIGNhcHRpb24gKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICB9XG4gIGNhcHRpb24gKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuICBjYXB0aW9uICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuICBjb2xncm91cCArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIH1cblxufVxuXG5cblxuXG4vLyBaRUJSQS1TVFJJUElOR1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkge1xuICAgID4gdHI6bnRoLWNoaWxkKG9kZCkgPiB0ZCxcbiAgICA+IHRyOm50aC1jaGlsZChvZGQpID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlQmFja2dyb3VuZEFjY2VudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIT1ZFUiBFRkZFQ1Rcbi8vIC0tLS0tLS0tLS0tLVxuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkge1xuICAgIHRyOmhvdmVyID4gdGQsXG4gICAgdHI6aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGVCYWNrZ3JvdW5kSG92ZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVEFCTEUgQ0VMTCBTSVpJTkdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJlc2V0IGRlZmF1bHQgZ3JpZCBiZWhhdmlvclxudGFibGUgdGRbY2xhc3MqPVwic3BhblwiXSxcbnRhYmxlIHRoW2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIHRhYmxlIHRkW2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIHRhYmxlIHRoW2NsYXNzKj1cInNwYW5cIl0ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xuICBtYXJnaW4tbGVmdDogMDsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xufVxuXG4vLyBDaGFuZ2UgdGhlIGNvbHVtbiB3aWR0aHMgdG8gYWNjb3VudCBmb3IgdGQvdGggcGFkZGluZ1xuLnRhYmxlIHRkLFxuLnRhYmxlIHRoIHtcbiAgJi5zcGFuMSAgICAgeyAudGFibGVDb2x1bW5zKDEpOyB9XG4gICYuc3BhbjIgICAgIHsgLnRhYmxlQ29sdW1ucygyKTsgfVxuICAmLnNwYW4zICAgICB7IC50YWJsZUNvbHVtbnMoMyk7IH1cbiAgJi5zcGFuNCAgICAgeyAudGFibGVDb2x1bW5zKDQpOyB9XG4gICYuc3BhbjUgICAgIHsgLnRhYmxlQ29sdW1ucyg1KTsgfVxuICAmLnNwYW42ICAgICB7IC50YWJsZUNvbHVtbnMoNik7IH1cbiAgJi5zcGFuNyAgICAgeyAudGFibGVDb2x1bW5zKDcpOyB9XG4gICYuc3BhbjggICAgIHsgLnRhYmxlQ29sdW1ucyg4KTsgfVxuICAmLnNwYW45ICAgICB7IC50YWJsZUNvbHVtbnMoOSk7IH1cbiAgJi5zcGFuMTAgICAgeyAudGFibGVDb2x1bW5zKDEwKTsgfVxuICAmLnNwYW4xMSAgICB7IC50YWJsZUNvbHVtbnMoMTEpOyB9XG4gICYuc3BhbjEyICAgIHsgLnRhYmxlQ29sdW1ucygxMik7IH1cbn1cblxuXG5cbi8vIFRBQkxFIEJBQ0tHUk9VTkRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIC50YWJsZS1zdHJpcGVkXG5cbi50YWJsZSB0Ym9keSB0ciB7XG4gICYuc3VjY2VzcyA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzc0JhY2tncm91bmQ7XG4gIH1cbiAgJi5lcnJvciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZXJyb3JCYWNrZ3JvdW5kO1xuICB9XG4gICYud2FybmluZyA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2FybmluZ0JhY2tncm91bmQ7XG4gIH1cbiAgJi5pbmZvID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbmZvQmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLyBIb3ZlciBzdGF0ZXMgZm9yIC50YWJsZS1ob3ZlclxuLnRhYmxlLWhvdmVyIHRib2R5IHRyIHtcbiAgJi5zdWNjZXNzOmhvdmVyID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAc3VjY2Vzc0JhY2tncm91bmQsIDUlKTtcbiAgfVxuICAmLmVycm9yOmhvdmVyID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZXJyb3JCYWNrZ3JvdW5kLCA1JSk7XG4gIH1cbiAgJi53YXJuaW5nOmhvdmVyID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAd2FybmluZ0JhY2tncm91bmQsIDUlKTtcbiAgfVxuICAmLmluZm86aG92ZXIgPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBpbmZvQmFja2dyb3VuZCwgNSUpO1xuICB9XG59XG4iLCIvL1xuLy8gU3ByaXRlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJQ09OU1xuLy8gLS0tLS1cblxuLy8gQWxsIGljb25zIHJlY2VpdmUgdGhlIHN0eWxlcyBvZiB0aGUgPGk+IHRhZyB3aXRoIGEgYmFzZSBjbGFzc1xuLy8gb2YgLmkgYW5kIGFyZSB0aGVuIGdpdmVuIGEgdW5pcXVlIGNsYXNzIHRvIGFkZCB3aWR0aCwgaGVpZ2h0LFxuLy8gYW5kIGJhY2tncm91bmQtcG9zaXRpb24uIFlvdXIgcmVzdWx0aW5nIEhUTUwgd2lsbCBsb29rIGxpa2Vcbi8vIDxpIGNsYXNzPVwiaWNvbi1pbmJveFwiPjwvaT4uXG5cbi8vIEZvciB0aGUgd2hpdGUgdmVyc2lvbiBvZiB0aGUgaWNvbnMsIGp1c3QgYWRkIHRoZSAuaWNvbi13aGl0ZSBjbGFzczpcbi8vIDxpIGNsYXNzPVwiaWNvbi1pbmJveCBpY29uLXdoaXRlXCI+PC9pPlxuXG5bY2xhc3NePVwiaWNvbi1cIl0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICAuaWU3LXJlc3RvcmUtcmlnaHQtd2hpdGVzcGFjZSgpO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ljb25TcHJpdGVQYXRofVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTRweCAxNHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi8qIFdoaXRlIGljb25zIHdpdGggb3B0aW9uYWwgY2xhc3MsIG9yIG9uIGhvdmVyL2ZvY3VzL2FjdGl2ZSBzdGF0ZXMgb2YgY2VydGFpbiBlbGVtZW50cyAqL1xuLmljb24td2hpdGUsXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4ubmF2LWxpc3QgPiAuYWN0aXZlID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0sXG4ubmF2YmFyLWludmVyc2UgLm5hdiA+IC5hY3RpdmUgPiBhID4gW2NsYXNzXj1cImljb24tXCJdLFxuLm5hdmJhci1pbnZlcnNlIC5uYXYgPiAuYWN0aXZlID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0sXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzID4gW2NsYXNzXj1cImljb24tXCJdLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhID4gW2NsYXNzXj1cImljb24tXCJdLFxuLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXMgPiBhID4gW2NsYXNzXj1cImljb24tXCJdLFxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5kcm9wZG93bi1zdWJtZW51OmZvY3VzID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ljb25XaGl0ZVNwcml0ZVBhdGh9XCIpO1xufVxuXG4uaWNvbi1nbGFzcyAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICAgICAgMDsgfVxuLmljb24tbXVzaWMgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIDA7IH1cbi5pY29uLXNlYXJjaCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4ICAwOyB9XG4uaWNvbi1lbnZlbG9wZSAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAgMDsgfVxuLmljb24taGVhcnQgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIDA7IH1cbi5pY29uLXN0YXIgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAwOyB9XG4uaWNvbi1zdGFyLWVtcHR5ICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxuLmljb24tdXNlciAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IDA7IH1cbi5pY29uLWZpbG0gICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAwOyB9XG4uaWNvbi10aC1sYXJnZSAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE2cHggMDsgfVxuLmljb24tdGggICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IDA7IH1cbi5pY29uLXRoLWxpc3QgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAwOyB9XG4uaWNvbi1vayAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMDsgfVxuLmljb24tcmVtb3ZlICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMnB4IDA7IH1cbi5pY29uLXpvb20taW4gICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAwOyB9XG4uaWNvbi16b29tLW91dCAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwcHggMDsgfVxuLmljb24tb2ZmICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4NHB4IDA7IH1cbi5pY29uLXNpZ25hbCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAwOyB9XG4uaWNvbi1jb2cgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDMycHggMDsgfVxuLmljb24tdHJhc2ggICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NnB4IDA7IH1cblxuLmljb24taG9tZSAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC0yNHB4OyB9XG4uaWNvbi1maWxlICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjRweCAgLTI0cHg7IH1cbi5pY29uLXRpbWUgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4ICAtMjRweDsgfVxuLmljb24tcm9hZCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIC0yNHB4OyB9XG4uaWNvbi1kb3dubG9hZC1hbHQgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAgLTI0cHg7IH1cbi5pY29uLWRvd25sb2FkICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMjRweDsgfVxuLmljb24tdXBsb2FkICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0yNHB4OyB9XG4uaWNvbi1pbmJveCAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4cHggLTI0cHg7IH1cbi5pY29uLXBsYXktY2lyY2xlICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMjRweDsgfVxuLmljb24tcmVwZWF0ICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC0yNHB4OyB9XG4uaWNvbi1yZWZyZXNoICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTI0cHg7IH1cbi5pY29uLWxpc3QtYWx0ICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtMjRweDsgfVxuLmljb24tbG9jayAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4N3B4IC0yNHB4OyB9IC8vIDFweCBvZmZcbi5pY29uLWZsYWcgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMTJweCAtMjRweDsgfVxuLmljb24taGVhZHBob25lcyAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzNnB4IC0yNHB4OyB9XG4uaWNvbi12b2x1bWUtb2ZmICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwcHggLTI0cHg7IH1cbi5pY29uLXZvbHVtZS1kb3duICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zODRweCAtMjRweDsgfVxuLmljb24tdm9sdW1lLXVwICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwOHB4IC0yNHB4OyB9XG4uaWNvbi1xcmNvZGUgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDMycHggLTI0cHg7IH1cbi5pY29uLWJhcmNvZGUgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00NTZweCAtMjRweDsgfVxuXG4uaWNvbi10YWcgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICAgICAgLTQ4cHg7IH1cbi5pY29uLXRhZ3MgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNXB4ICAtNDhweDsgfSAvLyAxcHggb2ZmXG4uaWNvbi1ib29rICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTQ4cHg7IH1cbi5pY29uLWJvb2ttYXJrICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4ICAtNDhweDsgfVxuLmljb24tcHJpbnQgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC00OHB4OyB9XG4uaWNvbi1jYW1lcmEgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTQ4cHg7IH1cbi5pY29uLWZvbnQgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfVxuLmljb24tYm9sZCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2N3B4IC00OHB4OyB9IC8vIDFweCBvZmZcbi5pY29uLWl0YWxpYyAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNDhweDsgfVxuLmljb24tdGV4dC1oZWlnaHQgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC00OHB4OyB9XG4uaWNvbi10ZXh0LXdpZHRoICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH1cbi5pY29uLWFsaWduLWxlZnQgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtNDhweDsgfVxuLmljb24tYWxpZ24tY2VudGVyICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IC00OHB4OyB9XG4uaWNvbi1hbGlnbi1yaWdodCAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEycHggLTQ4cHg7IH1cbi5pY29uLWFsaWduLWp1c3RpZnkgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtNDhweDsgfVxuLmljb24tbGlzdCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IC00OHB4OyB9XG4uaWNvbi1pbmRlbnQtbGVmdCAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTQ4cHg7IH1cbi5pY29uLWluZGVudC1yaWdodCAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAtNDhweDsgfVxuLmljb24tZmFjZXRpbWUtdmlkZW8gICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IC00OHB4OyB9XG4uaWNvbi1waWN0dXJlICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTQ4cHg7IH1cblxuLmljb24tcGVuY2lsICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC03MnB4OyB9XG4uaWNvbi1tYXAtbWFya2VyICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjRweCAgLTcycHg7IH1cbi5pY29uLWFkanVzdCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4ICAtNzJweDsgfVxuLmljb24tdGludCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIC03MnB4OyB9XG4uaWNvbi1lZGl0ICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAgLTcycHg7IH1cbi5pY29uLXNoYXJlICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNzJweDsgfVxuLmljb24tY2hlY2sgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC03MnB4OyB9XG4uaWNvbi1tb3ZlICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4cHggLTcycHg7IH1cbi5pY29uLXN0ZXAtYmFja3dhcmQgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtNzJweDsgfVxuLmljb24tZmFzdC1iYWNrd2FyZCAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC03MnB4OyB9XG4uaWNvbi1iYWNrd2FyZCAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTcycHg7IH1cbi5pY29uLXBsYXkgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtNzJweDsgfVxuLmljb24tcGF1c2UgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IC03MnB4OyB9XG4uaWNvbi1zdG9wICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEycHggLTcycHg7IH1cbi5pY29uLWZvcndhcmQgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtNzJweDsgfVxuLmljb24tZmFzdC1mb3J3YXJkICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IC03MnB4OyB9XG4uaWNvbi1zdGVwLWZvcndhcmQgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTcycHg7IH1cbi5pY29uLWVqZWN0ICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAtNzJweDsgfVxuLmljb24tY2hldnJvbi1sZWZ0ICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IC03MnB4OyB9XG4uaWNvbi1jaGV2cm9uLXJpZ2h0ICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTcycHg7IH1cblxuLmljb24tcGx1cy1zaWduICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC05NnB4OyB9XG4uaWNvbi1taW51cy1zaWduICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjRweCAgLTk2cHg7IH1cbi5pY29uLXJlbW92ZS1zaWduICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4ICAtOTZweDsgfVxuLmljb24tb2stc2lnbiAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIC05NnB4OyB9XG4uaWNvbi1xdWVzdGlvbi1zaWduICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAgLTk2cHg7IH1cbi5pY29uLWluZm8tc2lnbiAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtOTZweDsgfVxuLmljb24tc2NyZWVuc2hvdCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4uaWNvbi1yZW1vdmUtY2lyY2xlICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4cHggLTk2cHg7IH1cbi5pY29uLW9rLWNpcmNsZSAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLmljb24tYmFuLWNpcmNsZSAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC05NnB4OyB9XG4uaWNvbi1hcnJvdy1sZWZ0ICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi5pY29uLWFycm93LXJpZ2h0ICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtOTZweDsgfVxuLmljb24tYXJyb3ctdXAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OXB4IC05NnB4OyB9IC8vIDFweCBvZmZcbi5pY29uLWFycm93LWRvd24gICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMTJweCAtOTZweDsgfVxuLmljb24tc2hhcmUtYWx0ICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzNnB4IC05NnB4OyB9XG4uaWNvbi1yZXNpemUtZnVsbCAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwcHggLTk2cHg7IH1cbi5pY29uLXJlc2l6ZS1zbWFsbCAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zODRweCAtOTZweDsgfVxuLmljb24tcGx1cyAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwOHB4IC05NnB4OyB9XG4uaWNvbi1taW51cyAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDMzcHggLTk2cHg7IH1cbi5pY29uLWFzdGVyaXNrICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00NTZweCAtOTZweDsgfVxuXG4uaWNvbi1leGNsYW1hdGlvbi1zaWduICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICAgICAgLTEyMHB4OyB9XG4uaWNvbi1naWZ0ICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjRweCAgLTEyMHB4OyB9XG4uaWNvbi1sZWFmICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTEyMHB4OyB9XG4uaWNvbi1maXJlICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAgLTEyMHB4OyB9XG4uaWNvbi1leWUtb3BlbiAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAgLTEyMHB4OyB9XG4uaWNvbi1leWUtY2xvc2UgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyMHB4OyB9XG4uaWNvbi13YXJuaW5nLXNpZ24gICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyMHB4OyB9XG4uaWNvbi1wbGFuZSAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4cHggLTEyMHB4OyB9XG4uaWNvbi1jYWxlbmRhciAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyMHB4OyB9XG4uaWNvbi1yYW5kb20gICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE2cHggLTEyMHB4OyB3aWR0aDogMTZweDsgfVxuLmljb24tY29tbWVudCAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjBweDsgfVxuLmljb24tbWFnbmV0ICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2NHB4IC0xMjBweDsgfVxuLmljb24tY2hldnJvbi11cCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IC0xMjBweDsgfVxuLmljb24tY2hldnJvbi1kb3duICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxM3B4IC0xMTlweDsgfSAvLyAxcHgsIDFweCBvZmZcbi5pY29uLXJldHdlZXQgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtMTIwcHg7IH1cbi5pY29uLXNob3BwaW5nLWNhcnQgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNjBweCAtMTIwcHg7IH1cbi5pY29uLWZvbGRlci1jbG9zZSAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zODRweCAtMTIwcHg7IHdpZHRoOiAxNnB4OyB9XG4uaWNvbi1mb2xkZXItb3BlbiAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggLTEyMHB4OyB3aWR0aDogMTZweDsgfVxuLmljb24tcmVzaXplLXZlcnRpY2FsICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IC0xMTlweDsgfSAvLyAxcHgsIDFweCBvZmZcbi5pY29uLXJlc2l6ZS1ob3Jpem9udGFsICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00NTZweCAtMTE4cHg7IH0gLy8gMXB4LCAycHggb2ZmXG5cbi5pY29uLWhkZCAgICAgICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC0xNDRweDsgfVxuLmljb24tYnVsbGhvcm4gICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjRweCAgLTE0NHB4OyB9XG4uaWNvbi1iZWxsICAgICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4ICAtMTQ0cHg7IH1cbi5pY29uLWNlcnRpZmljYXRlICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIC0xNDRweDsgfVxuLmljb24tdGh1bWJzLXVwICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAgLTE0NHB4OyB9XG4uaWNvbi10aHVtYnMtZG93biAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTQ0cHg7IH1cbi5pY29uLWhhbmQtcmlnaHQgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfVxuLmljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY4cHggLTE0NHB4OyB9XG4uaWNvbi1oYW5kLXVwICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTQ0cHg7IH1cbi5pY29uLWhhbmQtZG93biAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC0xNDRweDsgfVxuLmljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTE0NHB4OyB9XG4uaWNvbi1jaXJjbGUtYXJyb3ctbGVmdCAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtMTQ0cHg7IH1cbi5pY29uLWNpcmNsZS1hcnJvdy11cCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IC0xNDRweDsgfVxuLmljb24tY2lyY2xlLWFycm93LWRvd24gICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEycHggLTE0NHB4OyB9XG4uaWNvbi1nbG9iZSAgICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtMTQ0cHg7IH1cbi5pY29uLXdyZW5jaCAgICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IC0xNDRweDsgfVxuLmljb24tdGFza3MgICAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTE0NHB4OyB9XG4uaWNvbi1maWx0ZXIgICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAtMTQ0cHg7IH1cbi5pY29uLWJyaWVmY2FzZSAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IC0xNDRweDsgfVxuLmljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTE0NHB4OyB9XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gVXNlIHRoZSAubWVudSBjbGFzcyBvbiBhbnkgPGxpPiBlbGVtZW50IHdpdGhpbiB0aGUgdG9wYmFyIG9yIHVsLnRhYnMgYW5kIHlvdSdsbCBnZXQgc29tZSBzdXBlcmZhbmN5IGRyb3Bkb3duc1xuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBUaGUgY2FyZXQgbWFrZXMgdGhlIHRvZ2dsZSBhIGJpdCB0b28gdGFsbCBpbiBJRTdcbiAgKm1hcmdpbi1ib3R0b206IC0zcHg7XG59XG4uZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBEcm9wZG93biBhcnJvdy9jYXJldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogICA0cHggc29saWQgQGJsYWNrO1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi8vIFBsYWNlIHRoZSBjYXJldFxuLmRyb3Bkb3duIC5jYXJldCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleERyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyAvLyBGYWxsYmFjayBmb3IgSUU3LThcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duQm9yZGVyO1xuICAqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG4gICpib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gIC5ib3JkZXItcmFkaXVzKDZweCk7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLy8gQWxpZ25zIHRoZSBkcm9wZG93biBtZW51IHRvIHJpZ2h0XG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcihAZHJvcGRvd25EaXZpZGVyVG9wLCBAZHJvcGRvd25EaXZpZGVyQm90dG9tKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICAgIGNvbG9yOiBAZHJvcGRvd25MaW5rQ29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLy8gLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMsXG4uZHJvcGRvd24tc3VibWVudTpob3ZlciA+IGEsXG4uZHJvcGRvd24tc3VibWVudTpmb2N1cyA+IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBAZHJvcGRvd25MaW5rQ29sb3JIb3ZlcjtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kSG92ZXIsIGRhcmtlbihAZHJvcGRvd25MaW5rQmFja2dyb3VuZEhvdmVyLCA1JSkpO1xufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi8vIC0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6IEBkcm9wZG93bkxpbmtDb2xvckFjdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQGRyb3Bkb3duTGlua0JhY2tncm91bmRBY3RpdmUsIGRhcmtlbihAZHJvcGRvd25MaW5rQmFja2dyb3VuZEFjdGl2ZSwgNSUpKTtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGVcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLFxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgY29sb3I6IEBncmF5TGlnaHQ7XG59XG4vLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgLnJlc2V0LWZpbHRlcigpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ub3BlbiB7XG4gIC8vIElFNydzIHotaW5kZXggb25seSBnb2VzIHRvIHRoZSBuZWFyZXN0IHBvc2l0aW9uZWQgYW5jZXN0b3IsIHdoaWNoIHdvdWxkXG4gIC8vIG1ha2UgdGhlIG1lbnUgYXBwZWFyIGJlbG93IGJ1dHRvbnMgdGhhdCBhcHBlYXJlZCBsYXRlciBvbiB0aGUgcGFnZVxuICAqei1pbmRleDogQHppbmRleERyb3Bkb3duO1xuXG4gICYgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiBAemluZGV4RHJvcGRvd24gLSAxMDtcbn1cblxuLy8gUmlnaHQgYWxpZ25lZCBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LCBicm8uXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIEBibGFjaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICB9XG59XG5cbi8vIFN1YiBtZW51c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8vIERlZmF1bHQgZHJvcGRvd25zXG4uZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgLmJvcmRlci1yYWRpdXMoMCA2cHggNnB4IDZweCk7XG59XG4uZHJvcGRvd24tc3VibWVudTpob3ZlciA+IC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3B1cHNcbi5kcm9wdXAgLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAuYm9yZGVyLXJhZGl1cyg1cHggNXB4IDVweCAwKTtcbn1cblxuLy8gQ2FyZXQgdG8gaW5kaWNhdGUgdGhlcmUgaXMgYSBzdWJtZW51XG4uZHJvcGRvd24tc3VibWVudSA+IGE6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKEBkcm9wZG93bkJhY2tncm91bmQsIDIwJSk7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYTphZnRlciB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBAZHJvcGRvd25MaW5rQ29sb3JIb3Zlcjtcbn1cblxuLy8gTGVmdCBhbGlnbmVkIHN1Ym1lbnVzXG4uZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQge1xuICAvLyBVbmRvIHRoZSBmbG9hdFxuICAvLyBZZXMsIHRoaXMgaXMgYXdrd2FyZCBzaW5jZSAucHVsbC1sZWZ0IGFkZHMgYSBmbG9hdCwgYnV0IGl0IHN0aWNrcyB0byBvdXIgY29udmVudGlvbnMgZWxzZXdoZXJlLlxuICBmbG9hdDogbm9uZTtcblxuICAvLyBQb3NpdGlvbmluZyB0aGUgc3VibWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAuYm9yZGVyLXJhZGl1cyg2cHggMCA2cHggNnB4KTtcbiAgfVxufVxuXG4vLyBUd2VhayBuYXYgaGVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEluY3JlYXNlIHBhZGRpbmcgZnJvbSAxNXB4IHRvIDIwcHggb24gc2lkZXNcbi5kcm9wZG93biAuZHJvcGRvd24tbWVudSAubmF2LWhlYWRlciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLy8gVHlwZWFoZWFkXG4vLyAtLS0tLS0tLS1cbi50eXBlYWhlYWQge1xuICB6LWluZGV4OiAxMDUxO1xuICBtYXJnaW4tdG9wOiAycHg7IC8vIGdpdmUgaXQgc29tZSBzcGFjZSB0byBicmVhdGhlXG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3ZWxsQmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKEB3ZWxsQmFja2dyb3VuZCwgNyUpO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxhcmdlIHtcbiAgcGFkZGluZzogMjRweDtcbiAgLmJvcmRlci1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlKTtcbn1cbi53ZWxsLXNtYWxsIHtcbiAgcGFkZGluZzogOXB4O1xuICAuYm9yZGVyLXJhZGl1cyhAYm9yZGVyUmFkaXVzU21hbGwpO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLnRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG4gICYuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC50cmFuc2l0aW9uKGhlaWdodCAuMzVzIGVhc2UpO1xuICAmLmluIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vXG4vLyBDbG9zZSBpY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGNvbG9yOiBAYmxhY2s7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMSk7XG4gIC5vcGFjaXR5KDIwKTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5vcGFjaXR5KDQwKTtcbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59IiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENvcmVcbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5pZTctaW5saW5lLWJsb2NrKCk7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC5idXR0b25CYWNrZ3JvdW5kKEBidG5CYWNrZ3JvdW5kLCBAYnRuQmFja2dyb3VuZEhpZ2hsaWdodCwgQGdyYXlEYXJrLCAwIDFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNzUpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgQGJ0bkJvcmRlcjtcbiAgKmJvcmRlcjogMDsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgdG8gcHJldmVudCBJRTcncyBibGFjayBib3JkZXIgb24gaW5wdXQ6Zm9jdXNcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKEBidG5Cb3JkZXIsIDEwJSk7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgLmllNy1yZXN0b3JlLWxlZnQtd2hpdGVzcGFjZSgpOyAvLyBHaXZlIElFNyBzb21lIGxvdmVcbiAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4yKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KVwiKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGdyYXlEYXJrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4O1xuXG4gICAgLy8gdHJhbnNpdGlvbiBpcyBvbmx5IHdoZW4gZ29pbmcgdG8gaG92ZXIvZm9jdXMsIG90aGVyd2lzZSB0aGUgYmFja2dyb3VuZFxuICAgIC8vIGJlaGluZCB0aGUgZ3JhZGllbnQgKHRoZXJlIGZvciBJRTw9OSBmYWxsYmFjaykgZ2V0cyBtaXNtYXRjaGVkXG4gICAgLnRyYW5zaXRpb24oYmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyKTtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlIGZvciBrZXlib2FyZCBhbmQgYWNjZXNzaWJpbGl0eVxuICAmOmZvY3VzIHtcbiAgICAudGFiLWZvY3VzKCk7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAycHggNHB4IHJnYmEoMCwwLDAsLjE1KSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KVwiKTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAub3BhY2l0eSg2NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxufVxuXG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLmJ0bi1sYXJnZSB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nTGFyZ2U7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplTGFyZ2U7XG4gIC5ib3JkZXItcmFkaXVzKEBib3JkZXJSYWRpdXNMYXJnZSk7XG59XG4uYnRuLWxhcmdlIFtjbGFzc149XCJpY29uLVwiXSxcbi5idG4tbGFyZ2UgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLy8gU21hbGxcbi5idG4tc21hbGwge1xuICBwYWRkaW5nOiBAcGFkZGluZ1NtYWxsO1xuICBmb250LXNpemU6IEBmb250U2l6ZVNtYWxsO1xuICAuYm9yZGVyLXJhZGl1cyhAYm9yZGVyUmFkaXVzU21hbGwpO1xufVxuLmJ0bi1zbWFsbCBbY2xhc3NePVwiaWNvbi1cIl0sXG4uYnRuLXNtYWxsIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmJ0bi1taW5pIFtjbGFzc149XCJpY29uLVwiXSxcbi5idG4tbWluaSBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLy8gTWluaVxuLmJ0bi1taW5pIHtcbiAgcGFkZGluZzogQHBhZGRpbmdNaW5pO1xuICBmb250LXNpemU6IEBmb250U2l6ZU1pbmk7XG4gIC5ib3JkZXItcmFkaXVzKEBib3JkZXJSYWRpdXNTbWFsbCk7XG59XG5cblxuLy8gQmxvY2sgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJvdmlkZSAqc29tZSogZXh0cmEgY29udHJhc3QgZm9yIHRob3NlIHdobyBjYW4gZ2V0IGl0XG4uYnRuLXByaW1hcnkuYWN0aXZlLFxuLmJ0bi13YXJuaW5nLmFjdGl2ZSxcbi5idG4tZGFuZ2VyLmFjdGl2ZSxcbi5idG4tc3VjY2Vzcy5hY3RpdmUsXG4uYnRuLWluZm8uYWN0aXZlLFxuLmJ0bi1pbnZlcnNlLmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7XG59XG5cbi8vIFNldCB0aGUgYmFja2dyb3VuZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b25CYWNrZ3JvdW5kKEBidG5QcmltYXJ5QmFja2dyb3VuZCwgQGJ0blByaW1hcnlCYWNrZ3JvdW5kSGlnaGxpZ2h0KTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcmUgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICAuYnV0dG9uQmFja2dyb3VuZChAYnRuV2FybmluZ0JhY2tncm91bmQsIEBidG5XYXJuaW5nQmFja2dyb3VuZEhpZ2hsaWdodCk7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbkJhY2tncm91bmQoQGJ0bkRhbmdlckJhY2tncm91bmQsIEBidG5EYW5nZXJCYWNrZ3JvdW5kSGlnaGxpZ2h0KTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgLmJ1dHRvbkJhY2tncm91bmQoQGJ0blN1Y2Nlc3NCYWNrZ3JvdW5kLCBAYnRuU3VjY2Vzc0JhY2tncm91bmRIaWdobGlnaHQpO1xufVxuLy8gSW5mbyBhcHBlYXJzIGFzIGEgbmV1dHJhbCBibHVlXG4uYnRuLWluZm8ge1xuICAuYnV0dG9uQmFja2dyb3VuZChAYnRuSW5mb0JhY2tncm91bmQsIEBidG5JbmZvQmFja2dyb3VuZEhpZ2hsaWdodCk7XG59XG4vLyBJbnZlcnNlIGFwcGVhcnMgYXMgZGFyayBncmF5XG4uYnRuLWludmVyc2Uge1xuICAuYnV0dG9uQmFja2dyb3VuZChAYnRuSW52ZXJzZUJhY2tncm91bmQsIEBidG5JbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodCk7XG59XG5cblxuLy8gQ3Jvc3MtYnJvd3NlciBKYW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5idXR0b24uYnRuLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4ge1xuXG4gIC8vIEZpcmVmb3ggMy42IG9ubHkgSSBiZWxpZXZlXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gSUU3IGhhcyBzb21lIGRlZmF1bHQgcGFkZGluZyBvbiBidXR0b24gY29udHJvbHNcbiAgKnBhZGRpbmctdG9wOiAzcHg7XG4gICpwYWRkaW5nLWJvdHRvbTogM3B4O1xuXG4gICYuYnRuLWxhcmdlIHtcbiAgICAqcGFkZGluZy10b3A6IDdweDtcbiAgICAqcGFkZGluZy1ib3R0b206IDdweDtcbiAgfVxuICAmLmJ0bi1zbWFsbCB7XG4gICAgKnBhZGRpbmctdG9wOiAzcHg7XG4gICAgKnBhZGRpbmctYm90dG9tOiAzcHg7XG4gIH1cbiAgJi5idG4tbWluaSB7XG4gICAgKnBhZGRpbmctdG9wOiAxcHg7XG4gICAgKnBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmssXG4uYnRuLWxpbms6YWN0aXZlLFxuLmJ0bi1saW5rW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAuYm94LXNoYWRvdyhub25lKTtcbn1cbi5idG4tbGluayB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IEBsaW5rQ29sb3I7XG4gIC5ib3JkZXItcmFkaXVzKDApO1xufVxuLmJ0bi1saW5rOmhvdmVyLFxuLmJ0bi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IEBsaW5rQ29sb3JIb3ZlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1saW5rW2Rpc2FibGVkXTpob3Zlcixcbi5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogQGdyYXlEYXJrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIvL1xuLy8gQnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmllNy1pbmxpbmUtYmxvY2soKTtcbiAgZm9udC1zaXplOiAwOyAvLyByZW1vdmUgYXMgcGFydCAxIG9mIGZvbnQtc2l6ZSBpbmxpbmUtYmxvY2sgaGFja1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGJ1dHRvbnMgZnJvbSB3cmFwcGluZyB3aGVuIGluIHRpZ2h0IHNwYWNlcyAoZS5nLiwgdGhlIHRhYmxlIG9uIHRoZSB0ZXN0cyBwYWdlKVxuICAuaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCk7XG59XG5cbi8vIFNwYWNlIG91dCBzZXJpZXMgb2YgYnV0dG9uIGdyb3Vwc1xuLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBmb250LXNpemU6IDA7IC8vIEhhY2sgdG8gcmVtb3ZlIHdoaXRlc3BhY2UgdGhhdCByZXN1bHRzIGZyb20gdXNpbmcgaW5saW5lLWJsb2NrXG4gIG1hcmdpbi10b3A6IEBiYXNlTGluZUhlaWdodCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodCAvIDI7XG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLy8gRmxvYXQgdGhlbSwgcmVtb3ZlIGJvcmRlciByYWRpdXMsIHRoZW4gcmUtYWRkIHRvIGZpcnN0IGFuZCBsYXN0IGVsZW1lbnRzXG4uYnRuLWdyb3VwID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmJvcmRlci1yYWRpdXMoMCk7XG59XG4uYnRuLWdyb3VwID4gLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi1tZW51LFxuLmJ0bi1ncm91cCA+IC5wb3BvdmVyIHtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplOyAvLyByZWRlY2xhcmUgYXMgcGFydCAyIG9mIGZvbnQtc2l6ZSBpbmxpbmUtYmxvY2sgaGFja1xufVxuXG4vLyBSZXNldCBmb250cyBmb3Igb3RoZXIgc2l6ZXNcbi5idG4tZ3JvdXAgPiAuYnRuLW1pbmkge1xuICBmb250LXNpemU6IEBmb250U2l6ZU1pbmk7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplU21hbGw7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplTGFyZ2U7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG4vLyBSZXNldCBjb3JuZXJzIGZvciBsYXJnZSBidXR0b25zXG4uYnRuLWdyb3VwID4gLmJ0bi5sYXJnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAuYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UpO1xuICAuYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UpO1xufVxuLmJ0bi1ncm91cCA+IC5idG4ubGFyZ2U6bGFzdC1jaGlsZCxcbi5idG4tZ3JvdXAgPiAubGFyZ2UuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKEBib3JkZXJSYWRpdXNMYXJnZSk7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UpO1xufVxuXG4vLyBPbiBob3Zlci9mb2N1cy9hY3RpdmUsIGJyaW5nIHRoZSBwcm9wZXIgYnRuIHRvIGZyb250XG4uYnRuLWdyb3VwID4gLmJ0bjpob3Zlcixcbi5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLFxuLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLFxuLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlIHtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIC5ib3gtc2hhZG93KH5cImluc2V0IDFweCAwIDAgcmdiYSgyNTUsMjU1LDI1NSwuMTI1KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4yKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KVwiKTtcbiAgKnBhZGRpbmctdG9wOiA1cHg7XG4gICpwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tbWluaSArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICAqcGFkZGluZy10b3A6IDJweDtcbiAgKnBhZGRpbmctYm90dG9tOiAycHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1zbWFsbCArIC5kcm9wZG93bi10b2dnbGUge1xuICAqcGFkZGluZy10b3A6IDVweDtcbiAgKnBhZGRpbmctYm90dG9tOiA0cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sYXJnZSArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICpwYWRkaW5nLXRvcDogN3B4O1xuICAqcGFkZGluZy1ib3R0b206IDdweDtcbn1cblxuLmJ0bi1ncm91cC5vcGVuIHtcblxuICAvLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbiAgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMnB4IDRweCByZ2JhKDAsMCwwLC4xNSksIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSlcIik7XG4gIH1cblxuICAvLyBLZWVwIHRoZSBob3ZlcidzIGJhY2tncm91bmQgd2hlbiBkcm9wZG93biBpcyBvcGVuXG4gIC5idG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxuICAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuUHJpbWFyeUJhY2tncm91bmRIaWdobGlnaHQ7XG4gIH1cbiAgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJ0bldhcm5pbmdCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xuICB9XG4gIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJ0bkRhbmdlckJhY2tncm91bmRIaWdobGlnaHQ7XG4gIH1cbiAgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJ0blN1Y2Nlc3NCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xuICB9XG4gIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBidG5JbmZvQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxuICAuYnRuLWludmVyc2UuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuSW52ZXJzZUJhY2tncm91bmRIaWdobGlnaHQ7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sYXJnZSAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG4uYnRuLWxhcmdlIC5jYXJldCB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAgNXB4O1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDVweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogICA1cHg7XG59XG4uYnRuLW1pbmkgLmNhcmV0LFxuLmJ0bi1zbWFsbCAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sYXJnZSAuY2FyZXQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiA1cHg7XG59XG5cblxuXG4vLyBBY2NvdW50IGZvciBvdGhlciBjb2xvcnNcbi5idG4tcHJpbWFyeSxcbi5idG4td2FybmluZyxcbi5idG4tZGFuZ2VyLFxuLmJ0bi1pbmZvLFxuLmJ0bi1zdWNjZXNzLFxuLmJ0bi1pbnZlcnNlIHtcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHdoaXRlO1xuICB9XG59XG5cblxuXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIG1ha2VzIGJ1dHRvbnMgb25seSB0YWtlIHVwIHRoZSB3aWR0aCB0aGV5IG5lZWRcbiAgLmllNy1pbmxpbmUtYmxvY2soKTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC5ib3JkZXItcmFkaXVzKDApO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzIEBiYXNlQm9yZGVyUmFkaXVzIDAgMCk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpsYXN0LWNoaWxkIHtcbiAgLmJvcmRlci1yYWRpdXMoMCAwIEBiYXNlQm9yZGVyUmFkaXVzIEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWxhcmdlOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlIEBib3JkZXJSYWRpdXNMYXJnZSAwIDApO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tbGFyZ2U6bGFzdC1jaGlsZCB7XG4gIC5ib3JkZXItcmFkaXVzKDAgMCBAYm9yZGVyUmFkaXVzTGFyZ2UgQGJvcmRlclJhZGl1c0xhcmdlKTtcbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogOHB4IDM1cHggOHB4IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3YXJuaW5nQmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgQHdhcm5pbmdCb3JkZXI7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cbi5hbGVydCxcbi5hbGVydCBoNCB7XG4gIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nIEBoZWFkaW5nc0NvbG9yXG4gIGNvbG9yOiBAd2FybmluZ1RleHQ7XG59XG4uYWxlcnQgaDQge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4uYWxlcnQgLmNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIHJpZ2h0OiAtMjFweDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3NCYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBzdWNjZXNzQm9yZGVyO1xuICBjb2xvcjogQHN1Y2Nlc3NUZXh0O1xufVxuLmFsZXJ0LXN1Y2Nlc3MgaDQge1xuICBjb2xvcjogQHN1Y2Nlc3NUZXh0O1xufVxuLmFsZXJ0LWRhbmdlcixcbi5hbGVydC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBlcnJvckJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGVycm9yQm9yZGVyO1xuICBjb2xvcjogQGVycm9yVGV4dDtcbn1cbi5hbGVydC1kYW5nZXIgaDQsXG4uYWxlcnQtZXJyb3IgaDQge1xuICBjb2xvcjogQGVycm9yVGV4dDtcbn1cbi5hbGVydC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGluZm9CYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBpbmZvQm9yZGVyO1xuICBjb2xvcjogQGluZm9UZXh0O1xufVxuLmFsZXJ0LWluZm8gaDQge1xuICBjb2xvcjogQGluZm9UZXh0O1xufVxuXG5cbi8vIEJsb2NrIGFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQtYmxvY2sge1xuICBwYWRkaW5nLXRvcDogMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XG59XG4uYWxlcnQtYmxvY2sgPiBwLFxuLmFsZXJ0LWJsb2NrID4gdWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFsZXJ0LWJsb2NrIHAgKyBwIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQkFTRSBDTEFTU1xuLy8gLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gTWFrZSBsaW5rcyBibG9jayBsZXZlbFxuLm5hdiA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5hdiA+IGxpID4gYTpob3Zlcixcbi5uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmF5TGlnaHRlcjtcbn1cblxuLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4ubmF2ID4gbGkgPiBhID4gaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vLyBSZWRlY2xhcmUgcHVsbCBjbGFzc2VzIGJlY2F1c2Ugb2Ygc3BlY2lmaXR5XG4ubmF2ID4gLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8vIE5hdiBoZWFkZXJzIChmb3IgZHJvcGRvd25zIGFuZCBsaXN0cylcbi5uYXYtaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAxNXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBjb2xvcjogQGdyYXlMaWdodDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4vLyBTcGFjZSB0aGVtIG91dCB3aGVuIHRoZXkgZm9sbG93IGFub3RoZXIgbGlzdCBpdGVtIChsaW5rKVxuLm5hdiBsaSArIC5uYXYtaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogOXB4O1xufVxuXG5cblxuLy8gTkFWIExJU1Rcbi8vIC0tLS0tLS0tXG5cbi5uYXYtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5uYXYtbGlzdCA+IGxpID4gYSxcbi5uYXYtbGlzdCAubmF2LWhlYWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAgLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xufVxuLm5hdi1saXN0ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogM3B4IDE1cHg7XG59XG4ubmF2LWxpc3QgPiAuYWN0aXZlID4gYSxcbi5uYXYtbGlzdCA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogQHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMik7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaW5rQ29sb3I7XG59XG4ubmF2LWxpc3QgW2NsYXNzXj1cImljb24tXCJdLFxuLm5hdi1saXN0IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5uYXYtbGlzdCAuZGl2aWRlciB7XG4gIC5uYXYtZGl2aWRlcigpO1xufVxuXG5cblxuLy8gVEFCUyBBTkQgUElMTFNcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gQ29tbW9uIHN0eWxlc1xuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLm5hdi10YWJzID4gbGksXG4ubmF2LXBpbGxzID4gbGkge1xuICBmbG9hdDogbGVmdDtcbn1cbi5uYXYtdGFicyA+IGxpID4gYSxcbi5uYXYtcGlsbHMgPiBsaSA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgLy8ga2VlcHMgdGhlIG92ZXJhbGwgaGVpZ2h0IGFuIGV2ZW4gbnVtYmVyXG59XG5cbi8vIFRBQlNcbi8vIC0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbn1cbi8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuLm5hdi10YWJzID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLy8gQWN0dWFsIHRhYnMgKGFzIGxpbmtzKVxuLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5ib3JkZXItcmFkaXVzKDRweCA0cHggMCAwKTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAZ3JheUxpZ2h0ZXIgQGdyYXlMaWdodGVyICNkZGQ7XG4gIH1cbn1cbi8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0J3MgOmhvdmVyLzpmb2N1cyB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyLzpmb2N1c1xuLm5hdi10YWJzID4gLmFjdGl2ZSA+IGEsXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpob3Zlcixcbi5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6IEBncmF5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keUJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuLy8gUElMTFNcbi8vIC0tLS0tXG5cbi8vIExpbmtzIHJlbmRlcmVkIGFzIHBpbGxzXG4ubmF2LXBpbGxzID4gbGkgPiBhIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIC5ib3JkZXItcmFkaXVzKDVweCk7XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6IEB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtDb2xvcjtcbn1cblxuXG5cbi8vIFNUQUNLRUQgTkFWXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBTdGFja2VkIHRhYnMgYW5kIHBpbGxzXG4ubmF2LXN0YWNrZWQgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLm5hdi1zdGFja2VkID4gbGkgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyAvLyBubyBuZWVkIGZvciB0aGUgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG59XG5cbi8vIFRhYnNcbi5uYXYtdGFicy5uYXYtc3RhY2tlZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG4ubmF2LXRhYnMubmF2LXN0YWNrZWQgPiBsaSA+IGEge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAuYm9yZGVyLXJhZGl1cygwKTtcbn1cbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpOmZpcnN0LWNoaWxkID4gYSB7XG4gIC5ib3JkZXItdG9wLXJhZGl1cyg0cHgpO1xufVxuLm5hdi10YWJzLm5hdi1zdGFja2VkID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoNHB4KTtcbn1cbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpID4gYTpob3Zlcixcbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gUGlsbHNcbi5uYXYtcGlsbHMubmF2LXN0YWNrZWQgPiBsaSA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG4ubmF2LXBpbGxzLm5hdi1zdGFja2VkID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7IC8vIGRlY3JlYXNlIG1hcmdpbiB0byBtYXRjaCBzaXppbmcgb2Ygc3RhY2tlZCB0YWJzXG59XG5cblxuXG4vLyBEUk9QRE9XTlNcbi8vIC0tLS0tLS0tLVxuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAuYm9yZGVyLXJhZGl1cygwIDAgNnB4IDZweCk7IC8vIHJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG59XG4ubmF2LXBpbGxzIC5kcm9wZG93bi1tZW51IHtcbiAgLmJvcmRlci1yYWRpdXMoNnB4KTsgLy8gbWFrZSByb3VuZGVkIGNvcm5lcnMgbWF0Y2ggdGhlIHBpbGxzXG59XG5cbi8vIERlZmF1bHQgZHJvcGRvd24gbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1ha2UgY2FyZXRzIHVzZSBsaW5rQ29sb3IgdG8gc3RhcnRcbi5uYXYgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiBAbGlua0NvbG9yO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAbGlua0NvbG9yO1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG4ubmF2IC5kcm9wZG93bi10b2dnbGU6aG92ZXIgLmNhcmV0LFxuLm5hdiAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBsaW5rQ29sb3JIb3ZlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGxpbmtDb2xvckhvdmVyO1xufVxuLyogbW92ZSBkb3duIGNhcmV0cyBmb3IgdGFicyAqL1xuLm5hdi10YWJzIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4vLyBBY3RpdmUgZHJvcGRvd24gbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYgLmFjdGl2ZSAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG4ubmF2LXRhYnMgLmFjdGl2ZSAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBncmF5O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAZ3JheTtcbn1cblxuLy8gQWN0aXZlOmhvdmVyLzpmb2N1cyBkcm9wZG93biBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdiA+IC5kcm9wZG93bi5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdiA+IC5kcm9wZG93bi5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBPcGVuIGRyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi10YWJzIC5vcGVuIC5kcm9wZG93bi10b2dnbGUsXG4ubmF2LXBpbGxzIC5vcGVuIC5kcm9wZG93bi10b2dnbGUsXG4ubmF2ID4gbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdiA+IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmF5TGlnaHQ7XG4gIGJvcmRlci1jb2xvcjogQGdyYXlMaWdodDtcbn1cbi5uYXYgbGkuZHJvcGRvd24ub3BlbiAuY2FyZXQsXG4ubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlIC5jYXJldCxcbi5uYXYgbGkuZHJvcGRvd24ub3BlbiBhOmhvdmVyIC5jYXJldCxcbi5uYXYgbGkuZHJvcGRvd24ub3BlbiBhOmZvY3VzIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHdoaXRlO1xuICAub3BhY2l0eSgxMDApO1xufVxuXG4vLyBEcm9wZG93bnMgaW4gc3RhY2tlZCB0YWJzXG4udGFicy1zdGFja2VkIC5vcGVuID4gYTpob3Zlcixcbi50YWJzLXN0YWNrZWQgLm9wZW4gPiBhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JheUxpZ2h0O1xufVxuXG5cblxuLy8gVEFCQkFCTEVcbi8vIC0tLS0tLS0tXG5cblxuLy8gQ09NTU9OIFNUWUxFU1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhciBhbnkgZmxvYXRzXG4udGFiYmFibGUge1xuICAuY2xlYXJmaXgoKTtcbn1cbi50YWItY29udGVudCB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBwcmV2ZW50IGNvbnRlbnQgZnJvbSBydW5uaW5nIGJlbG93IHRhYnNcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBvbiBib3R0b20sIGxlZnQsIHJpZ2h0XG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyxcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzLFxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi8vIFNob3cvaGlkZSB0YWJiYWJsZSBhcmVhc1xuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lLFxuLnBpbGwtY29udGVudCA+IC5waWxsLXBhbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSxcbi5waWxsLWNvbnRlbnQgPiAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLy8gQk9UVE9NXG4vLyAtLS0tLS1cblxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbn1cbi50YWJzLWJlbG93ID4gLm5hdi10YWJzID4gbGkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiBsaSA+IGEge1xuICAuYm9yZGVyLXJhZGl1cygwIDAgNHB4IDRweCk7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkZGQ7XG4gIH1cbn1cbi50YWJzLWJlbG93ID4gLm5hdi10YWJzID4gLmFjdGl2ZSA+IGEsXG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2RkZCAjZGRkICNkZGQ7XG59XG5cbi8vIExFRlQgJiBSSUdIVFxuLy8gLS0tLS0tLS0tLS0tXG5cbi8vIENvbW1vbiBzdHlsZXNcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgPiBsaSxcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkge1xuICBmbG9hdDogbm9uZTtcbn1cbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgPiBsaSA+IGEsXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyA+IGxpID4gYSB7XG4gIG1pbi13aWR0aDogNzRweDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG5cbi8vIFRhYnMgb24gdGhlIGxlZnRcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xufVxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYSB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbiAgLmJvcmRlci1yYWRpdXMoNHB4IDAgMCA0cHgpO1xufVxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYTpob3Zlcixcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgPiBsaSA+IGE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IEBncmF5TGlnaHRlciAjZGRkIEBncmF5TGlnaHRlciBAZ3JheUxpZ2h0ZXI7XG59XG4udGFicy1sZWZ0ID4gLm5hdi10YWJzIC5hY3RpdmUgPiBhLFxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyAuYWN0aXZlID4gYTpob3Zlcixcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNkZGQgdHJhbnNwYXJlbnQgI2RkZCAjZGRkO1xuICAqYm9yZGVyLXJpZ2h0LWNvbG9yOiBAd2hpdGU7XG59XG5cbi8vIFRhYnMgb24gdGhlIHJpZ2h0XG4udGFicy1yaWdodCA+IC5uYXYtdGFicyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDE5cHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbn1cbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIC5ib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcbn1cbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyLFxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgPiBsaSA+IGE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IEBncmF5TGlnaHRlciBAZ3JheUxpZ2h0ZXIgQGdyYXlMaWdodGVyICNkZGQ7XG59XG4udGFicy1yaWdodCA+IC5uYXYtdGFicyAuYWN0aXZlID4gYSxcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzIC5hY3RpdmUgPiBhOmhvdmVyLFxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNkZGQgI2RkZCAjZGRkIHRyYW5zcGFyZW50O1xuICAqYm9yZGVyLWxlZnQtY29sb3I6IEB3aGl0ZTtcbn1cblxuXG5cbi8vIERJU0FCTEVEIFNUQVRFU1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdyYXkgb3V0IHRleHRcbi5uYXYgPiAuZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6IEBncmF5TGlnaHQ7XG59XG4vLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbi5uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLm5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4iLCIvL1xuLy8gTmF2YmFycyAoUmVkdXgpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENPTU1PTiBTVFlMRVNcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBjbGFzcyBhbmQgd3JhcHBlclxuLm5hdmJhciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG5cbiAgLy8gRml4IGZvciBJRTcncyBiYWQgei1pbmRleGluZyBzbyBkcm9wZG93bnMgZG9uJ3QgYXBwZWFyIGJlbG93IGNvbnRlbnQgdGhhdCBmb2xsb3dzIHRoZSBuYXZiYXJcbiAgKnBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgKnotaW5kZXg6IDI7XG59XG5cbi8vIElubmVyIGZvciBiYWNrZ3JvdW5kIGVmZmVjdHNcbi8vIEdyYWRpZW50IGlzIGFwcGxpZWQgdG8gaXRzIG93biBlbGVtZW50IGJlY2F1c2Ugb3ZlcmZsb3cgdmlzaWJsZSBpcyBub3QgaG9ub3JlZCBieSBJRSB3aGVuIGZpbHRlciBpcyBwcmVzZW50XG4ubmF2YmFyLWlubmVyIHtcbiAgbWluLWhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAgMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBuYXZiYXJCYWNrZ3JvdW5kSGlnaGxpZ2h0LCBAbmF2YmFyQmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBuYXZiYXJCb3JkZXI7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgLmJveC1zaGFkb3coMCAxcHggNHB4IHJnYmEoMCwwLDAsLjA2NSkpO1xuXG4gIC8vIFByZXZlbnQgZmxvYXRzIGZyb20gYnJlYWtpbmcgdGhlIG5hdmJhclxuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gU2V0IHdpZHRoIHRvIGF1dG8gZm9yIGRlZmF1bHQgY29udGFpbmVyXG4vLyBXZSB0aGVuIHJlc2V0IGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIHRoZSAjZ3JpZFN5c3RlbSBtaXhpblxuLm5hdmJhciAuY29udGFpbmVyIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0IGNvbGxhcHNlZCBzdGF0ZVxuLm5hdi1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cblxuLy8gQnJhbmQ6IHdlYnNpdGUgb3IgcHJvamVjdCBuYW1lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyIC5icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gVmVydGljYWxseSBjZW50ZXIgdGhlIHRleHQgZ2l2ZW4gQG5hdmJhckhlaWdodFxuICBwYWRkaW5nOiAoKEBuYXZiYXJIZWlnaHQgLSBAYmFzZUxpbmVIZWlnaHQpIC8gMikgMjBweCAoKEBuYXZiYXJIZWlnaHQgLSBAYmFzZUxpbmVIZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDsgLy8gbmVnYXRpdmUgaW5kZW50IHRvIGxlZnQtYWxpZ24gdGhlIHRleHQgZG93biB0aGUgcGFnZVxuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGNvbG9yOiBAbmF2YmFyQnJhbmRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQ7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBQbGFpbiB0ZXh0IGluIHRvcGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdmJhci10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IEBuYXZiYXJIZWlnaHQ7XG4gIGNvbG9yOiBAbmF2YmFyVGV4dDtcbn1cblxuLy8gSmFua3kgc29sdXRpb24gZm9yIG5vdyB0byBhY2NvdW50IGZvciBsaW5rcyBvdXRzaWRlIHRoZSAubmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyLWxpbmsge1xuICBjb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgfVxufVxuXG4vLyBEaXZpZGVycyBpbiBuYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXZiYXIgLmRpdmlkZXItdmVydGljYWwge1xuICBoZWlnaHQ6IEBuYXZiYXJIZWlnaHQ7XG4gIG1hcmdpbjogMCA5cHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgQG5hdmJhckJhY2tncm91bmQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBuYXZiYXJCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xufVxuXG4vLyBCdXR0b25zIGluIG5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdmJhciAuYnRuLFxuLm5hdmJhciAuYnRuLWdyb3VwIHtcbiAgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7IC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIG5hdmJhclxufVxuLm5hdmJhciAuYnRuLWdyb3VwIC5idG4sXG4ubmF2YmFyIC5pbnB1dC1wcmVwZW5kIC5idG4sXG4ubmF2YmFyIC5pbnB1dC1hcHBlbmQgLmJ0bixcbi5uYXZiYXIgLmlucHV0LXByZXBlbmQgLmJ0bi1ncm91cCxcbi5uYXZiYXIgLmlucHV0LWFwcGVuZCAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gdGhlbiB1bmRvIHRoZSBtYXJnaW4gaGVyZSBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkgZG91YmxlIGl0XG59XG5cbi8vIE5hdmJhciBmb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdmJhci1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gcmVtb3ZlIGRlZmF1bHQgYm90dG9tIG1hcmdpblxuICAuY2xlYXJmaXgoKTtcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIC5uYXZiYXJWZXJ0aWNhbEFsaWduKDMwcHgpOyAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBuYXZiYXJcbiAgfVxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICAuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbiAgLmlucHV0LWFwcGVuZCxcbiAgLmlucHV0LXByZXBlbmQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW4gdHdvICBpdGVtcyBmcm9tIHNlcGFyYXRpbmcgd2l0aGluIGEgLm5hdmJhci1mb3JtIHRoYXQgaGFzIC5wdWxsLWxlZnRcbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyAvLyByZW1vdmUgdGhlIG1hcmdpbiBvbiB0b3Agc2luY2UgaXQncyBvbiB0aGUgcGFyZW50XG4gICAgfVxuICB9XG59XG5cbi8vIE5hdmJhciBzZWFyY2hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXZiYXItc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7IC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIG5hdmJhclxuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuc2VhcmNoLXF1ZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICNmb250ID4gLnNhbnMtc2VyaWYoMTNweCwgbm9ybWFsLCAxKTtcbiAgICAuYm9yZGVyLXJhZGl1cygxNXB4KTsgLy8gcmVkZWNsYXJlIGJlY2F1c2Ugb2Ygc3BlY2lmaWNpdHkgb2YgdGhlIHR5cGUgYXR0cmlidXRlXG4gIH1cbn1cblxuXG5cbi8vIFN0YXRpYyBuYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gcmVtb3ZlIDE4cHggbWFyZ2luIGZvciBkZWZhdWx0IG5hdmJhclxuICAubmF2YmFyLWlubmVyIHtcbiAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cblxuLy8gRml4ZWQgbmF2YmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNoYXJlZCAodG9wL2JvdHRvbSkgc3R5bGVzXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleEZpeGVkTmF2YmFyO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyByZW1vdmUgMThweCBtYXJnaW4gZm9yIGRlZmF1bHQgbmF2YmFyXG59XG4ubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWlubmVyLFxuLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItaW5uZXIge1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWlubmVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1pbm5lcixcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItaW5uZXIge1xuICBwYWRkaW5nLWxlZnQ6ICAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAuYm9yZGVyLXJhZGl1cygwKTtcbn1cblxuLy8gUmVzZXQgY29udGFpbmVyIHdpZHRoXG4vLyBSZXF1aXJlZCBoZXJlIGFzIHdlIHJlc2V0IHRoZSB3aWR0aCBlYXJsaWVyIG9uIGFuZCB0aGUgZ3JpZCBtaXhpbnMgZG9uJ3Qgb3ZlcnJpZGUgZWFybHkgZW5vdWdoXG4ubmF2YmFyLXN0YXRpYy10b3AgLmNvbnRhaW5lcixcbi5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyIHtcbiAgI2dyaWQgPiAuY29yZSA+IC5zcGFuKEBncmlkQ29sdW1ucyk7XG59XG5cbi8vIEZpeGVkIHRvIHRvcFxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG59XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIC5uYXZiYXItaW5uZXIge1xuICAgIC5ib3gtc2hhZG93KH5cIjAgMXB4IDEwcHggcmdiYSgwLDAsMCwuMSlcIik7XG4gIH1cbn1cblxuLy8gRml4ZWQgdG8gYm90dG9tXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgLm5hdmJhci1pbm5lciB7XG4gICAgLmJveC1zaGFkb3coflwiMCAtMXB4IDEwcHggcmdiYSgwLDAsMCwuMSlcIik7XG4gIH1cbn1cblxuXG5cbi8vIE5BVklHQVRJT05cbi8vIC0tLS0tLS0tLS1cblxuLm5hdmJhciAubmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbi5uYXZiYXIgLm5hdi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyAvLyByZWRlY2xhcmUgZHVlIHRvIHNwZWNpZmljaXR5XG4gIG1hcmdpbi1yaWdodDogMDsgLy8gcmVtb3ZlIG1hcmdpbiBvbiBmbG9hdCByaWdodCBuYXZcbn1cbi5uYXZiYXIgLm5hdiA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vIExpbmtzXG4ubmF2YmFyIC5uYXYgPiBsaSA+IGEge1xuICBmbG9hdDogbm9uZTtcbiAgLy8gVmVydGljYWxseSBjZW50ZXIgdGhlIHRleHQgZ2l2ZW4gQG5hdmJhckhlaWdodFxuICBwYWRkaW5nOiAoKEBuYXZiYXJIZWlnaHQgLSBAYmFzZUxpbmVIZWlnaHQpIC8gMikgMTVweCAoKEBuYXZiYXJIZWlnaHQgLSBAYmFzZUxpbmVIZWlnaHQpIC8gMik7XG4gIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwIEBuYXZiYXJCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xufVxuLm5hdmJhciAubmF2IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4vLyBIb3Zlci9mb2N1c1xuLm5hdmJhciAubmF2ID4gbGkgPiBhOmZvY3VzLFxuLm5hdmJhciAubmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhckxpbmtCYWNrZ3JvdW5kSG92ZXI7IC8vIFwidHJhbnNwYXJlbnRcIiBpcyBkZWZhdWx0IHRvIGRpZmZlcmVudGlhdGUgOmhvdmVyLzpmb2N1cyBmcm9tIC5hY3RpdmVcbiAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vLyBBY3RpdmUgbmF2IGl0ZW1zXG4ubmF2YmFyIC5uYXYgPiAuYWN0aXZlID4gYSxcbi5uYXZiYXIgLm5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdmJhciAubmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogQG5hdmJhckxpbmtDb2xvckFjdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyTGlua0JhY2tncm91bmRBY3RpdmU7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDhweCByZ2JhKDAsMCwwLC4xMjUpKTtcbn1cblxuLy8gTmF2YmFyIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgbmF2YmFyIGl0ZW1zIGluIHJlc3BvbnNpdmUgbGF5b3V0c1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgbmVlZCB0byBjb21lIGFmdGVyICcubmF2YmFyIC5idG4nXG4ubmF2YmFyIC5idG4tbmF2YmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiA3cHggMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIC5idXR0b25CYWNrZ3JvdW5kKGRhcmtlbihAbmF2YmFyQmFja2dyb3VuZEhpZ2hsaWdodCwgNSUpLCBkYXJrZW4oQG5hdmJhckJhY2tncm91bmQsIDUlKSk7XG4gIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMDc1KVwiKTtcbn1cbi5uYXZiYXIgLmJ0bi1uYXZiYXIgLmljb24tYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgLmJvcmRlci1yYWRpdXMoMXB4KTtcbiAgLmJveC1zaGFkb3coMCAxcHggMCByZ2JhKDAsMCwwLC4yNSkpO1xufVxuLmJ0bi1uYXZiYXIgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG5cblxuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXRzXG4ubmF2YmFyIC5uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAgN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBkcm9wZG93bkJvcmRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtN3B4O1xuICAgIGxlZnQ6IDlweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6ICAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogIDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNnB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgI2NjYztcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAZHJvcGRvd25Cb3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3R0b206IC03cHg7XG4gICAgdG9wOiBhdXRvO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm90dG9tOiAtNnB4O1xuICAgIHRvcDogYXV0bztcbiAgfVxufVxuXG4vLyBDYXJldCBzaG91bGQgbWF0Y2ggdGV4dCBjb2xvciBvbiBob3Zlci9mb2N1c1xuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duID4gYTpob3ZlciAuY2FyZXQsXG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24gPiBhOmZvY3VzIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xufVxuXG4vLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbi5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5hY3RpdmUgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJMaW5rQmFja2dyb3VuZEFjdGl2ZTtcbiAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JBY3RpdmU7XG59XG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24gPiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG59XG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0LFxuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0LFxuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlID4gLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBib3JkZXItdG9wLWNvbG9yOiBAbmF2YmFyTGlua0NvbG9yQWN0aXZlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2YmFyTGlua0NvbG9yQWN0aXZlO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIG1lbnVzIG5lZWQgYWx0IHBvc2l0aW9uXG4ubmF2YmFyIC5wdWxsLXJpZ2h0ID4gbGkgPiAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXIgLm5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICAmOmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTJweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxM3B4O1xuICB9XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAuYm9yZGVyLXJhZGl1cyg2cHggMCA2cHggNnB4KTtcbiAgfVxufVxuXG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2YmFyLWludmVyc2Uge1xuXG4gIC5uYXZiYXItaW5uZXIge1xuICAgICNncmFkaWVudCA+IC52ZXJ0aWNhbChAbmF2YmFySW52ZXJzZUJhY2tncm91bmRIaWdobGlnaHQsIEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFySW52ZXJzZUJvcmRlcjtcbiAgfVxuXG4gIC5icmFuZCxcbiAgLm5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC5icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlQnJhbmRDb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlVGV4dDtcbiAgfVxuXG4gIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gIC5uYXYgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0JhY2tncm91bmRIb3ZlcjtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3JIb3ZlcjtcbiAgfVxuXG4gIC5uYXYgLmFjdGl2ZSA+IGEsXG4gIC5uYXYgLmFjdGl2ZSA+IGE6aG92ZXIsXG4gIC5uYXYgLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtCYWNrZ3JvdW5kQWN0aXZlO1xuICB9XG5cbiAgLy8gSW5saW5lIHRleHQgbGlua3NcbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpdmlkZXJzIGluIG5hdmJhclxuICAuZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAubmF2IGxpLmRyb3Bkb3duLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLFxuICAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUsXG4gIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtCYWNrZ3JvdW5kQWN0aXZlO1xuICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgfVxuICAubmF2IGxpLmRyb3Bkb3duID4gYTpob3ZlciAuY2FyZXQsXG4gIC5uYXYgbGkuZHJvcGRvd24gPiBhOmZvY3VzIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3JBY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3JBY3RpdmU7XG4gIH1cbiAgLm5hdiBsaS5kcm9wZG93biA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvcjtcbiAgfVxuICAubmF2IGxpLmRyb3Bkb3duLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCxcbiAgLm5hdiBsaS5kcm9wZG93bi5hY3RpdmUgPiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCxcbiAgLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgfVxuXG4gIC8vIE5hdmJhciBzZWFyY2hcbiAgLm5hdmJhci1zZWFyY2gge1xuICAgIC5zZWFyY2gtcXVlcnkge1xuICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJJbnZlcnNlU2VhcmNoQmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogQG5hdmJhckludmVyc2VTZWFyY2hCb3JkZXI7XG4gICAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMTUpXCIpO1xuICAgICAgLnRyYW5zaXRpb24obm9uZSk7XG4gICAgICAucGxhY2Vob2xkZXIoQG5hdmJhckludmVyc2VTZWFyY2hQbGFjZWhvbGRlckNvbG9yKTtcblxuICAgICAgLy8gRm9jdXMgc3RhdGVzICh3ZSB1c2UgLmZvY3VzZWQgc2luY2UgSUU3LTggYW5kIGRvd24gZG9lc24ndCBzdXBwb3J0IDpmb2N1cylcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmLmZvY3VzZWQge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgY29sb3I6IEBncmF5RGFyaztcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgQHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFySW52ZXJzZVNlYXJjaEJhY2tncm91bmRGb2N1cztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAuYm94LXNoYWRvdygwIDAgM3B4IHJnYmEoMCwwLDAsLjE1KSk7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2YmFyIGNvbGxhcHNlIGJ1dHRvblxuICAuYnRuLW5hdmJhciB7XG4gICAgLmJ1dHRvbkJhY2tncm91bmQoZGFya2VuKEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodCwgNSUpLCBkYXJrZW4oQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kLCA1JSkpO1xuICB9XG5cbn1cbiIsIi8vXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xuICBtYXJnaW46IDAgMCBAYmFzZUxpbmVIZWlnaHQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC5pZTctaW5saW5lLWJsb2NrKCk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgQHdoaXRlO1xuICAgID4gLmRpdmlkZXIge1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBjb2xvcjogI2NjYztcbiAgICB9XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBjb2xvcjogQGdyYXlMaWdodDtcbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BhY2Ugb3V0IHBhZ2luYXRpb24gZnJvbSBzdXJyb3VuZGluZyBjb250ZW50XG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogQGJhc2VMaW5lSGVpZ2h0IDA7XG59XG5cbi5wYWdpbmF0aW9uIHVsIHtcbiAgLy8gQWxsb3cgZm9yIHRleHQtYmFzZWQgYWxpZ25tZW50XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmllNy1pbmxpbmUtYmxvY2soKTtcbiAgLy8gUmVzZXQgZGVmYXVsdCB1bCBzdHlsZXNcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8vIFZpc3VhbHNcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICAuYm94LXNoYWRvdygwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpKTtcbn1cbi5wYWdpbmF0aW9uIHVsID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaSA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IGxpID4gc3BhbiB7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbkJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uQm9yZGVyO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gbGkgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gdWwgPiBsaSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiB1bCA+IC5hY3RpdmUgPiBhLFxuLnBhZ2luYXRpb24gdWwgPiAuYWN0aXZlID4gc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlQmFja2dyb3VuZDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gLmFjdGl2ZSA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgY29sb3I6IEBncmF5TGlnaHQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gc3Bhbixcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYSxcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaTpmaXJzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uIHVsID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG5cblxuLy8gQWxpZ25tZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYWdpbmF0aW9uLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGFyZ2Uge1xuICB1bCA+IGxpID4gYSxcbiAgdWwgPiBsaSA+IHNwYW4ge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nTGFyZ2U7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemVMYXJnZTtcbiAgfVxuICB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbiAgdWwgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlKTtcbiAgfVxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBhLFxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UpO1xuICB9XG59XG5cbi8vIFNtYWxsIGFuZCBtaW5pXG4ucGFnaW5hdGlvbi1taW5pLFxuLnBhZ2luYXRpb24tc21hbGwge1xuICB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbiAgdWwgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlclJhZGl1c1NtYWxsKTtcbiAgfVxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBhLFxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyUmFkaXVzU21hbGwpO1xuICB9XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbWFsbCB7XG4gIHVsID4gbGkgPiBhLFxuICB1bCA+IGxpID4gc3BhbiB7XG4gICAgcGFkZGluZzogQHBhZGRpbmdTbWFsbDtcbiAgICBmb250LXNpemU6IEBmb250U2l6ZVNtYWxsO1xuICB9XG59XG4vLyBNaW5pXG4ucGFnaW5hdGlvbi1taW5pIHtcbiAgdWwgPiBsaSA+IGEsXG4gIHVsID4gbGkgPiBzcGFuIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZ01pbmk7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemVNaW5pO1xuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBtYXJnaW46IEBiYXNlTGluZUhlaWdodCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5jbGVhcmZpeCgpO1xufVxuLnBhZ2VyIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2VyIGxpID4gYSxcbi5wYWdlciBsaSA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAuYm9yZGVyLXJhZGl1cygxNXB4KTtcbn1cbi5wYWdlciBsaSA+IGE6aG92ZXIsXG4ucGFnZXIgbGkgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLnBhZ2VyIC5uZXh0ID4gYSxcbi5wYWdlciAubmV4dCA+IHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucGFnZXIgLnByZXZpb3VzID4gYSxcbi5wYWdlciAucHJldmlvdXMgPiBzcGFuIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucGFnZXIgLmRpc2FibGVkID4gYSxcbi5wYWdlciAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLnBhZ2VyIC5kaXNhYmxlZCA+IGE6Zm9jdXMsXG4ucGFnZXIgLmRpc2FibGVkID4gc3BhbiB7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59IiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXhNb2RhbEJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuLm1vZGFsLWJhY2tkcm9wLFxuLm1vZGFsLWJhY2tkcm9wLmZhZGUuaW4ge1xuICAub3BhY2l0eSg4MCk7XG59XG5cbi8vIEJhc2UgbW9kYWxcbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogQHppbmRleE1vZGFsO1xuICB3aWR0aDogNTYwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7XG4gICpib3JkZXI6IDFweCBzb2xpZCAjOTk5OyAvKiBJRTYtNyAqL1xuICAuYm9yZGVyLXJhZGl1cyg2cHgpO1xuICAuYm94LXNoYWRvdygwIDNweCA3cHggcmdiYSgwLDAsMCwwLjMpKTtcbiAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJi5mYWRlIHtcbiAgICAudHJhbnNpdGlvbihlKCdvcGFjaXR5IC4zcyBsaW5lYXIsIHRvcCAuM3MgZWFzZS1vdXQnKSk7XG4gICAgdG9wOiAtMjUlO1xuICB9XG4gICYuZmFkZS5pbiB7IHRvcDogMTAlOyB9XG59XG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAvLyBDbG9zZSBpY29uXG4gIC5jbG9zZSB7IG1hcmdpbi10b3A6IDJweDsgfVxuICAvLyBIZWFkaW5nXG4gIGgzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLy8gQm9keSAod2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcylcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgcGFkZGluZzogMTVweDtcbn1cbi8vIFJlbW92ZSBib3R0b20gbWFyZ2luIGlmIG5lZWQgYmVcbi5tb2RhbC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNHB4IDE1cHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIC5ib3JkZXItcmFkaXVzKDAgMCA2cHggNnB4KTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMCBAd2hpdGUpO1xuICAuY2xlYXJmaXgoKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IEB6aW5kZXhUb29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICAub3BhY2l0eSgwKTtcbiAgJi5pbiAgICAgeyAub3BhY2l0eSg4MCk7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogNXB4IDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCA1cHg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDNweDsgcGFkZGluZzogNXB4IDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCA1cHg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcENvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRvb2x0aXBCYWNrZ3JvdW5kO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG5cbi8vIEFycm93c1xuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHRvb2x0aXBBcnJvd1dpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXBBcnJvd1dpZHRoIEB0b29sdGlwQXJyb3dXaWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwQXJyb3dDb2xvcjtcbiAgfVxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcEFycm93V2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcEFycm93V2lkdGggQHRvb2x0aXBBcnJvd1dpZHRoIEB0b29sdGlwQXJyb3dXaWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHRvb2x0aXBBcnJvd0NvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwQXJyb3dXaWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwQXJyb3dXaWR0aCAwIEB0b29sdGlwQXJyb3dXaWR0aCBAdG9vbHRpcEFycm93V2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEB0b29sdGlwQXJyb3dDb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwQXJyb3dXaWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXBBcnJvd1dpZHRoIEB0b29sdGlwQXJyb3dXaWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcEFycm93Q29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4UG9wb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3ZlckJhY2tncm91bmQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gIC5ib3JkZXItcmFkaXVzKDZweCk7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG4gIC8vIE92ZXJyaWRlcyBmb3IgcHJvcGVyIGluc2VydGlvblxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAmLnJpZ2h0ICAgeyBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICYubGVmdCAgICB7IG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxufVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIG1hcmdpbjogMDsgLy8gcmVzZXQgaGVhZGluZyBtYXJnaW5cbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyVGl0bGVCYWNrZ3JvdW5kO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKEBwb3BvdmVyVGl0bGVCYWNrZ3JvdW5kLCA1JSk7XG4gIC5ib3JkZXItcmFkaXVzKDVweCA1cHggMCAwKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cblxuLy8gQXJyb3dzXG4vL1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgLmFycm93LFxuLnBvcG92ZXIgLmFycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5wb3BvdmVyIC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG59XG4ucG9wb3ZlciAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IEBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgYm90dG9tOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXJBcnJvd1dpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyQXJyb3dPdXRlckNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXJBcnJvd1dpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5ib3R0b20gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyQXJyb3dPdXRlckNvbG9yO1xuICAgIHRvcDogLUBwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3ZlckFycm93Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5OyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICAgIGJvdHRvbTogLUBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy9cbi8vIFRodW1ibmFpbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTm90ZTogYC50aHVtYm5haWxzYCBhbmQgYC50aHVtYm5haWxzID4gbGlgIGFyZSBvdmVycmlkZW4gaW4gcmVzcG9uc2l2ZSBmaWxlc1xuXG4vLyBNYWtlIHdyYXBwZXIgdWwgYmVoYXZlIGxpa2UgdGhlIGdyaWRcbi50aHVtYm5haWxzIHtcbiAgbWFyZ2luLWxlZnQ6IC1AZ3JpZEd1dHRlcldpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAuY2xlYXJmaXgoKTtcbn1cbi8vIEZsdWlkIHJvd3MgaGF2ZSBubyBsZWZ0IG1hcmdpblxuLnJvdy1mbHVpZCAudGh1bWJuYWlscyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLyBGbG9hdCBsaSB0byBtYWtlIHRodW1ibmFpbHMgYXBwZWFyIGluIGEgcm93XG4udGh1bWJuYWlscyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7IC8vIEV4cGxpY2l0eSBzZXQgdGhlIGZsb2F0IHNpbmNlIHdlIGRvbid0IHJlcXVpcmUgLnNwYW4qIGNsYXNzZXNcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aDtcbn1cblxuLy8gVGhlIGFjdHVhbCB0aHVtYm5haWwgKGNhbiBiZSBgYWAgb3IgYGRpdmApXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICAuYm94LXNoYWRvdygwIDFweCAzcHggcmdiYSgwLDAsMCwuMDU1KSk7XG4gIC50cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xufVxuLy8gQWRkIGEgaG92ZXIvZm9jdXMgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG5hLnRodW1ibmFpbDpob3ZlcixcbmEudGh1bWJuYWlsOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBAbGlua0NvbG9yO1xuICAuYm94LXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDEwNSwyMTQsLjI1KSk7XG59XG5cbi8vIEltYWdlcyBhbmQgY2FwdGlvbnNcbi50aHVtYm5haWwgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnRodW1ibmFpbCAuY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDlweDtcbiAgY29sb3I6IEBncmF5O1xufVxuIiwiLy8gTWVkaWEgb2JqZWN0c1xuLy8gU291cmNlOiBodHRwOi8vc3R1YmJvcm5lbGxhLm9yZy9jb250ZW50Lz9wPTQ5N1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb21tb24gc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENsZWFyIHRoZSBmbG9hdHNcbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICB6b29tOiAxO1xufVxuXG4vLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbi5tZWRpYSxcbi5tZWRpYSAubWVkaWEge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuLm1lZGlhOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gRm9yIGltYWdlcyBhbmQgdmlkZW9zLCBzZXQgdG8gYmxvY2tcbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBoZWFkaW5ncyBmb3IgdGlnaHRlciBkZWZhdWx0IHNwYWNpbmdcbi5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIDAgNXB4O1xufVxuXG5cbi8vIE1lZGlhIGltYWdlIGFsaWdubWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbmRvIGRlZmF1bHQgdWwvb2wgc3R5bGVzXG4ubWVkaWEtbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy9cbi8vIExhYmVscyBhbmQgYmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Nlc1xuLmxhYmVsLFxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAuODQ2O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7IC8vIGVuc3VyZSBwcm9wZXIgbGluZS1oZWlnaHQgaWYgZmxvYXRlZFxuICBjb2xvcjogQHdoaXRlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmF5TGlnaHQ7XG59XG4vLyBTZXQgdW5pcXVlIHBhZGRpbmcgYW5kIGJvcmRlci1yYWRpaVxuLmxhYmVsIHtcbiAgLmJvcmRlci1yYWRpdXMoM3B4KTtcbn1cbi5iYWRnZSB7XG4gIHBhZGRpbmctbGVmdDogOXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA5cHg7XG4gIC5ib3JkZXItcmFkaXVzKDlweCk7XG59XG5cbi8vIEVtcHR5IGxhYmVscy9iYWRnZXMgY29sbGFwc2Vcbi5sYWJlbCxcbi5iYWRnZSB7XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gSG92ZXIvZm9jdXMgc3RhdGUsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYSB7XG4gICYubGFiZWw6aG92ZXIsXG4gICYubGFiZWw6Zm9jdXMsXG4gICYuYmFkZ2U6aG92ZXIsXG4gICYuYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBDb2xvcnNcbi8vIE9ubHkgZ2l2ZSBiYWNrZ3JvdW5kLWNvbG9yIGRpZmZlcmVuY2UgdG8gbGlua3MgKGFuZCB0byBzaW1wbGlmeSwgd2UgZG9uJ3QgcXVhbGlmdHkgd2l0aCBgYWAgYnV0IFtocmVmXSBhdHRyaWJ1dGUpXG4ubGFiZWwsXG4uYmFkZ2Uge1xuICAvLyBJbXBvcnRhbnQgKHJlZClcbiAgJi1pbXBvcnRhbnQgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IEBlcnJvclRleHQ7IH1cbiAgJi1pbXBvcnRhbnRbaHJlZl0gICB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZXJyb3JUZXh0LCAxMCUpOyB9XG4gIC8vIFdhcm5pbmdzIChvcmFuZ2UpXG4gICYtd2FybmluZyAgICAgICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlOyB9XG4gICYtd2FybmluZ1tocmVmXSAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQG9yYW5nZSwgMTAlKTsgfVxuICAvLyBTdWNjZXNzIChncmVlbilcbiAgJi1zdWNjZXNzICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IEBzdWNjZXNzVGV4dDsgfVxuICAmLXN1Y2Nlc3NbaHJlZl0gICAgIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBzdWNjZXNzVGV4dCwgMTAlKTsgfVxuICAvLyBJbmZvICh0dXJxdW9pc2UpXG4gICYtaW5mbyAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5mb1RleHQ7IH1cbiAgJi1pbmZvW2hyZWZdICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW5mb1RleHQsIDEwJSk7IH1cbiAgLy8gSW52ZXJzZSAoYmxhY2spXG4gICYtaW52ZXJzZSAgICAgICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheURhcms7IH1cbiAgJi1pbnZlcnNlW2hyZWZdICAgICB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZ3JheURhcmssIDEwJSk7IH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBsYWJlbHMvYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4ge1xuICAubGFiZWwsXG4gIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuLmJ0bi1taW5pIHtcbiAgLmxhYmVsLFxuICAuYmFkZ2Uge1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQU5JTUFUSU9OU1xuLy8gLS0tLS0tLS0tLVxuXG4vLyBXZWJraXRcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIEZpcmVmb3hcbkAtbW96LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIElFOVxuQC1tcy1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBPcGVyYVxuQC1vLWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG59XG5cbi8vIFNwZWNcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cblxuLy8gVEhFIEJBUlNcbi8vIC0tLS0tLS0tXG5cbi8vIE91dGVyIGNvbnRhaW5lclxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKCNmNWY1ZjUsICNmOWY5ZjkpO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSkpO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG5cbi8vIEJhciBvZiBwcm9ncmVzc1xuLnByb2dyZXNzIC5iYXIge1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IEB3aGl0ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoIzE0OWJkZiwgIzA0ODBiZSk7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KSk7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAudHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG4ucHJvZ3Jlc3MgLmJhciArIC5iYXIge1xuICAuYm94LXNoYWRvdyh+XCJpbnNldCAxcHggMCAwIHJnYmEoMCwwLDAsLjE1KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpXCIpO1xufVxuXG4vLyBTdHJpcGVkIGJhcnNcbi5wcm9ncmVzcy1zdHJpcGVkIC5iYXIge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgjMTQ5YmRmKTtcbiAgLmJhY2tncm91bmQtc2l6ZSg0MHB4IDQwcHgpO1xufVxuXG4vLyBDYWxsIGFuaW1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBvbmVcbi5wcm9ncmVzcy5hY3RpdmUgLmJhciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgIC1tb3otYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAtbXMtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgLW8tYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cblxuXG4vLyBDT0xPUlNcbi8vIC0tLS0tLVxuXG4vLyBEYW5nZXIgKHJlZClcbi5wcm9ncmVzcy1kYW5nZXIgLmJhciwgLnByb2dyZXNzIC5iYXItZGFuZ2VyIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKCNlZTVmNWIsICNjNDNjMzUpO1xufVxuLnByb2dyZXNzLWRhbmdlci5wcm9ncmVzcy1zdHJpcGVkIC5iYXIsIC5wcm9ncmVzcy1zdHJpcGVkIC5iYXItZGFuZ2VyIHtcbiAgI2dyYWRpZW50ID4gLnN0cmlwZWQoI2VlNWY1Yik7XG59XG5cbi8vIFN1Y2Nlc3MgKGdyZWVuKVxuLnByb2dyZXNzLXN1Y2Nlc3MgLmJhciwgLnByb2dyZXNzIC5iYXItc3VjY2VzcyB7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbCgjNjJjNDYyLCAjNTdhOTU3KTtcbn1cbi5wcm9ncmVzcy1zdWNjZXNzLnByb2dyZXNzLXN0cmlwZWQgLmJhciwgLnByb2dyZXNzLXN0cmlwZWQgLmJhci1zdWNjZXNzIHtcbiAgI2dyYWRpZW50ID4gLnN0cmlwZWQoIzYyYzQ2Mik7XG59XG5cbi8vIEluZm8gKHRlYWwpXG4ucHJvZ3Jlc3MtaW5mbyAuYmFyLCAucHJvZ3Jlc3MgLmJhci1pbmZvIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKCM1YmMwZGUsICMzMzliYjkpO1xufVxuLnByb2dyZXNzLWluZm8ucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLCAucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLWluZm8ge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgjNWJjMGRlKTtcbn1cblxuLy8gV2FybmluZyAob3JhbmdlKVxuLnByb2dyZXNzLXdhcm5pbmcgLmJhciwgLnByb2dyZXNzIC5iYXItd2FybmluZyB7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChsaWdodGVuKEBvcmFuZ2UsIDE1JSksIEBvcmFuZ2UpO1xufVxuLnByb2dyZXNzLXdhcm5pbmcucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLCAucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLXdhcm5pbmcge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZChsaWdodGVuKEBvcmFuZ2UsIDE1JSkpO1xufVxuIiwiLy9cbi8vIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBQYXJlbnQgY29udGFpbmVyXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xufVxuXG4vLyBHcm91cCA9PSBoZWFkaW5nICsgYm9keVxuLmFjY29yZGlvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLmFjY29yZGlvbi1oZWFkaW5nIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5hY2NvcmRpb24taGVhZGluZyAuYWNjb3JkaW9uLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTVweDtcbn1cblxuLy8gR2VuZXJhbCB0b2dnbGUgc3R5bGVzXG4uYWNjb3JkaW9uLXRvZ2dsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gSW5uZXIgbmVlZHMgdGhlIHN0eWxlcyBiZWNhdXNlIHlvdSBjYW4ndCBhbmltYXRlIHByb3Blcmx5IHdpdGggYW55IHN0eWxlcyBvbiB0aGUgZWxlbWVudFxuLmFjY29yZGlvbi1pbm5lciB7XG4gIHBhZGRpbmc6IDlweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLm5leHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgPiAucHJldiB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAubmV4dC5sZWZ0LFxuICA+IC5wcmV2LnJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLmFjdGl2ZS5yaWdodCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG59XG5cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwJTtcbiAgbGVmdDogMTVweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiBAd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogQGdyYXlEYXJrZXI7XG4gIGJvcmRlcjogM3B4IHNvbGlkIEB3aGl0ZTtcbiAgLmJvcmRlci1yYWRpdXMoMjNweCk7XG4gIC5vcGFjaXR5KDUwKTtcblxuICAvLyB3ZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlXG4gIC8vIGJlY2F1c2Ugd2Via2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlXG4gIC8vIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb25cbiAgLy8gO187XG4gIC8vIC50cmFuc2l0aW9uKG9wYWNpdHkgLjJzIGxpbmVhcik7XG5cbiAgLy8gUmVwb3NpdGlvbiB0aGUgcmlnaHQgb25lXG4gICYucmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAub3BhY2l0eSg5MCk7XG4gIH1cbn1cblxuLy8gQ2Fyb3VzZWwgaW5kaWNhdG9yIHBpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8vIENhcHRpb24gZm9yIHRleHQgYmVsb3cgaW1hZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogQGdyYXlEYXJrO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC43NSk7XG59XG4uY2Fyb3VzZWwtY2FwdGlvbiBoNCxcbi5jYXJvdXNlbC1jYXB0aW9uIHAge1xuICBjb2xvcjogQHdoaXRlO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xufVxuLmNhcm91c2VsLWNhcHRpb24gaDQge1xuICBtYXJnaW46IDAgMCA1cHg7XG59XG4uY2Fyb3VzZWwtY2FwdGlvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIi8vXG4vLyBIZXJvIHVuaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmhlcm8tdW5pdCB7XG4gIHBhZGRpbmc6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodCAqIDEuNTtcbiAgY29sb3I6IEBoZXJvVW5pdExlYWRDb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGhlcm9Vbml0QmFja2dyb3VuZDtcbiAgLmJvcmRlci1yYWRpdXMoNnB4KTtcbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAaGVyb1VuaXRIZWFkaW5nQ29sb3I7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIH1cbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQgKiAxLjU7IC8vIFJlc2V0IHNpbmNlIHdlIHNwZWNpZnkgaW4gdHlwZS5sZXNzXG4gIH1cbn1cbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUXVpY2sgZmxvYXRzXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gVmlzaWJpbGl0eVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy9cbi8vIFJlc3BvbnNpdmU6IFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJRTEwIE1ldHJvIHJlc3BvbnNpdmVcbi8vIFJlcXVpcmVkIGZvciBXaW5kb3dzIDggTWV0cm8gc3BsaXQtc2NyZWVuIHNuYXBwaW5nIHdpdGggSUUxMFxuLy8gU291cmNlOiBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi9cbkAtbXMtdmlld3BvcnR7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcblxuLy8gRm9yIGRlc2t0b3BzXG4udmlzaWJsZS1waG9uZSAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbi52aXNpYmxlLXRhYmxldCAgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuLmhpZGRlbi1waG9uZSAgICAgIHsgfVxuLmhpZGRlbi10YWJsZXQgICAgIHsgfVxuLmhpZGRlbi1kZXNrdG9wICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4udmlzaWJsZS1kZXNrdG9wICAgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuLy8gVGFibGV0cyAmIHNtYWxsIGRlc2t0b3BzIG9ubHlcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8vIEhpZGUgZXZlcnl0aGluZyBlbHNlXG4gIC5oaWRkZW4tZGVza3RvcCAgICB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudmlzaWJsZS1kZXNrdG9wICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQgOyB9XG4gIC8vIFNob3dcbiAgLnZpc2libGUtdGFibGV0ICAgIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC8vIEhpZGVcbiAgLmhpZGRlbi10YWJsZXQgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFBob25lcyBvbmx5XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLy8gSGlkZSBldmVyeXRoaW5nIGVsc2VcbiAgLmhpZGRlbi1kZXNrdG9wICAgIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLWRlc2t0b3AgICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvLyBTaG93XG4gIC52aXNpYmxlLXBob25lICAgICB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfSAvLyBVc2UgaW5oZXJpdCB0byByZXN0b3JlIHByZXZpb3VzIGJlaGF2aW9yXG4gIC8vIEhpZGVcbiAgLmhpZGRlbi1waG9uZSAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFByaW50IHV0aWxpdGllc1xuLnZpc2libGUtcHJpbnQgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbi5oaWRkZW4tcHJpbnQgICAgIHsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAudmlzaWJsZS1wcmludCAgeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1wcmludCAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogTGFyZ2UgZGVza3RvcCBhbmQgdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXG4gIC8vIEZpeGVkIGdyaWRcbiAgI2dyaWQgPiAuY29yZShAZ3JpZENvbHVtbldpZHRoMTIwMCwgQGdyaWRHdXR0ZXJXaWR0aDEyMDApO1xuXG4gIC8vIEZsdWlkIGdyaWRcbiAgI2dyaWQgPiAuZmx1aWQoQGZsdWlkR3JpZENvbHVtbldpZHRoMTIwMCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoMTIwMCk7XG5cbiAgLy8gSW5wdXQgZ3JpZFxuICAjZ3JpZCA+IC5pbnB1dChAZ3JpZENvbHVtbldpZHRoMTIwMCwgQGdyaWRHdXR0ZXJXaWR0aDEyMDApO1xuXG4gIC8vIFRodW1ibmFpbHNcbiAgLnRodW1ibmFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtQGdyaWRHdXR0ZXJXaWR0aDEyMDA7XG4gIH1cbiAgLnRodW1ibmFpbHMgPiBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGgxMjAwO1xuICB9XG4gIC5yb3ctZmx1aWQgLnRodW1ibmFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBUYWJsZXQgdG8gZGVza3RvcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuXG4gIC8vIEZpeGVkIGdyaWRcbiAgI2dyaWQgPiAuY29yZShAZ3JpZENvbHVtbldpZHRoNzY4LCBAZ3JpZEd1dHRlcldpZHRoNzY4KTtcblxuICAvLyBGbHVpZCBncmlkXG4gICNncmlkID4gLmZsdWlkKEBmbHVpZEdyaWRDb2x1bW5XaWR0aDc2OCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoNzY4KTtcblxuICAvLyBJbnB1dCBncmlkXG4gICNncmlkID4gLmlucHV0KEBncmlkQ29sdW1uV2lkdGg3NjgsIEBncmlkR3V0dGVyV2lkdGg3NjgpO1xuXG4gIC8vIE5vIG5lZWQgdG8gcmVzZXQgLnRodW1ibmFpbHMgaGVyZSBzaW5jZSBpdCdzIHRoZSBzYW1lIEBncmlkR3V0dGVyV2lkdGhcblxufVxuIiwiLy9cbi8vIFJlc3BvbnNpdmU6IExhbmRzY2FwZSBwaG9uZSB0byBkZXNrdG9wL3RhYmxldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAvLyBQYWRkaW5nIHRvIHNldCBjb250ZW50IGluIGEgYml0XG4gIGJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC8vIE5lZ2F0aXZlIGluZGVudCB0aGUgbm93IHN0YXRpYyBcImZpeGVkXCIgbmF2YmFyXG4gIC5uYXZiYXItZml4ZWQtdG9wLFxuICAubmF2YmFyLWZpeGVkLWJvdHRvbSxcbiAgLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgfVxuICAvLyBSZW1vdmUgcGFkZGluZyBvbiBjb250YWluZXIgZ2l2ZW4gZXhwbGljaXQgcGFkZGluZyBzZXQgb24gYm9keVxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gVFlQT0dSQVBIWVxuICAvLyAtLS0tLS0tLS0tXG4gIC8vIFJlc2V0IGhvcml6b250YWwgZGxcbiAgLmRsLWhvcml6b250YWwge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdSSUQgJiBDT05UQUlORVJTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlbW92ZSB3aWR0aCBmcm9tIGNvbnRhaW5lcnNcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLy8gRmx1aWQgcm93c1xuICAucm93LWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbiBvbiByb3dzIGFuZCB0aHVtYm5haWxzXG4gIC5yb3csXG4gIC50aHVtYm5haWxzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAudGh1bWJuYWlscyA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgbWFyZ2luIGZvciBhbGwgbGkgZWxlbWVudHMgd2hlbiBubyAuc3BhbiogY2xhc3NlcyBhcmUgcHJlc2VudFxuICB9XG4gIC8vIE1ha2UgYWxsIGdyaWQtc2l6ZWQgZWxlbWVudHMgYmxvY2sgbGV2ZWwgYWdhaW5cbiAgW2NsYXNzKj1cInNwYW5cIl0sXG4gIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0sIC8vIE1ha2VzIHVuZWRpdGFibGUgaW5wdXRzIGZ1bGwtd2lkdGggd2hlbiB1c2luZyBncmlkIHNpemluZ1xuICAucm93LWZsdWlkIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgfVxuICAuc3BhbjEyLFxuICAucm93LWZsdWlkIC5zcGFuMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICB9XG4gIC5yb3ctZmx1aWQgW2NsYXNzKj1cIm9mZnNldFwiXTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBGT1JNIEZJRUxEU1xuICAvLyAtLS0tLS0tLS0tLVxuICAvLyBNYWtlIHNwYW4qIGNsYXNzZXMgZnVsbCB3aWR0aFxuICAuaW5wdXQtbGFyZ2UsXG4gIC5pbnB1dC14bGFyZ2UsXG4gIC5pbnB1dC14eGxhcmdlLFxuICBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuICBzZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcbiAgdGV4dGFyZWFbY2xhc3MqPVwic3BhblwiXSxcbiAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgIC5pbnB1dC1ibG9jay1sZXZlbCgpO1xuICB9XG4gIC8vIEJ1dCBkb24ndCBsZXQgaXQgc2NyZXcgdXAgcHJlcGVuZC9hcHBlbmQgaW5wdXRzXG4gIC5pbnB1dC1wcmVwZW5kIGlucHV0LFxuICAuaW5wdXQtYXBwZW5kIGlucHV0LFxuICAuaW5wdXQtcHJlcGVuZCBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuICAuaW5wdXQtYXBwZW5kIGlucHV0W2NsYXNzKj1cInNwYW5cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gcmVkZWNsYXJlIHNvIHRoZXkgZG9uJ3Qgd3JhcCB0byBuZXcgbGluZXNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuY29udHJvbHMtcm93IFtjbGFzcyo9XCJzcGFuXCJdICsgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTW9kYWxzXG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogICAyMHB4O1xuICAgIGxlZnQ6ICAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICAmLmZhZGUgIHsgdG9wOiAtMTAwcHg7IH1cbiAgICAmLmZhZGUuaW4geyB0b3A6IDIwcHg7IH1cbiAgfVxuXG59XG5cblxuXG4vLyBVUCBUTyBMQU5EU0NBUEUgUEhPTkVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblxuICAvLyBTbW9vdGggb3V0IHRoZSBjb2xsYXBzaW5nL2V4cGFuZGluZyBuYXZcbiAgLm5hdi1jb2xsYXBzZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyAvLyBhY3RpdmF0ZSB0aGUgR1BVXG4gIH1cblxuICAvLyBCbG9jayBsZXZlbCB0aGUgcGFnZSBoZWFkZXIgc21hbGwgdGFnIGZvciByZWFkYWJpbGl0eVxuICAucGFnZS1oZWFkZXIgaDEgc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIH1cblxuICAvLyBVcGRhdGUgY2hlY2tib3hlcyBmb3IgaU9TXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBob3Jpem9udGFsIGZvcm0gc3R5bGVzXG4gIC5mb3JtLWhvcml6b250YWwge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC8vIE1vdmUgb3ZlciBhbGwgaW5wdXQgY29udHJvbHMgYW5kIGNvbnRlbnRcbiAgICAuY29udHJvbHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIC8vIE1vdmUgdGhlIG9wdGlvbnMgbGlzdCBkb3duIHRvIGFsaWduIHdpdGggbGFiZWxzXG4gICAgLmNvbnRyb2wtbGlzdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgLy8gaGFzIHRvIGJlIHBhZGRpbmcgYmVjYXVzZSBtYXJnaW4gY29sbGFzcGVzXG4gICAgfVxuICAgIC8vIE1vdmUgb3ZlciBidXR0b25zIGluIC5mb3JtLWFjdGlvbnMgdG8gYWxpZ24gd2l0aCAuY29udHJvbHNcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gTWVkaWFzXG4gIC8vIFJlc2V0IGZsb2F0IGFuZCBzcGFjaW5nIHRvIHN0YWNrXG4gIC5tZWRpYSAucHVsbC1sZWZ0LFxuICAubWVkaWEgLnB1bGwtcmlnaHQgIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC8vIFJlbW92ZSBzaWRlIG1hcmdpbnMgc2luY2Ugd2Ugc3RhY2sgaW5zdGVhZCBvZiBpbmRlbnRcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTW9kYWxzXG4gIC5tb2RhbCB7XG4gICAgdG9wOiAgIDEwcHg7XG4gICAgbGVmdDogIDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAtMTBweDtcbiAgfVxuXG4gIC8vIENhcm91c2VsXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBOYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gVEFCTEVUUyBBTkQgQkVMT1dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgKG1heC13aWR0aDogQG5hdmJhckNvbGxhcHNlV2lkdGgpIHtcblxuICAvLyBVTkZJWCBUSEUgVE9QQkFSXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVtb3ZlIGFueSBwYWRkaW5nIGZyb20gdGhlIGJvZHlcbiAgYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLy8gVW5maXggdGhlIG5hdmJhcnNcbiAgLm5hdmJhci1maXhlZC10b3AsXG4gIC5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5uYXZiYXItZml4ZWQtdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIH1cbiAgLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IEBiYXNlTGluZUhlaWdodDtcbiAgfVxuICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWlubmVyLFxuICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWlubmVyIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gIH1cbiAgLm5hdmJhciAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC8vIEFjY291bnQgZm9yIGJyYW5kIG5hbWVcbiAgLm5hdmJhciAuYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDAgLTVweDtcbiAgfVxuXG4gIC8vIENPTExBUFNJQkxFIE5BVkJBUlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2IGNvbGxhcHNlIGNsZWFycyBicmFuZFxuICAubmF2LWNvbGxhcHNlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAvLyBCbG9jay1sZXZlbCB0aGUgbmF2XG4gIC5uYXYtY29sbGFwc2UgLm5hdiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgKEBiYXNlTGluZUhlaWdodCAvIDIpO1xuICB9XG4gIC5uYXYtY29sbGFwc2UgLm5hdiA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuICAubmF2LWNvbGxhcHNlIC5uYXYgPiBsaSA+IGEge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuICAubmF2LWNvbGxhcHNlIC5uYXYgPiAuZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2LWNvbGxhcHNlIC5uYXYgLm5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiBAbmF2YmFyVGV4dDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvLyBOYXYgYW5kIGRyb3Bkb3duIGxpbmtzIGluIG5hdmJhclxuICAubmF2LWNvbGxhcHNlIC5uYXYgPiBsaSA+IGEsXG4gIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYSB7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gICAgLmJvcmRlci1yYWRpdXMoM3B4KTtcbiAgfVxuICAvLyBCdXR0b25zXG4gIC5uYXYtY29sbGFwc2UgLmJ0biB7XG4gICAgcGFkZGluZzogNHB4IDEwcHggNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICB9XG4gIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgbGkgKyBsaSBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbiAgLm5hdi1jb2xsYXBzZSAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAubmF2LWNvbGxhcHNlIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpob3ZlcixcbiAgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyQmFja2dyb3VuZDtcbiAgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2ID4gbGkgPiBhLFxuICAubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSBhIHtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3I7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpob3ZlcixcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kO1xuICB9XG4gIC8vIEJ1dHRvbnMgaW4gdGhlIG5hdmJhclxuICAubmF2LWNvbGxhcHNlLmluIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC8vIERyb3Bkb3ducyBpbiB0aGUgbmF2YmFyXG4gIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLmJvcmRlci1yYWRpdXMoMCk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgLm5hdi1jb2xsYXBzZSAub3BlbiA+IC5kcm9wZG93bi1tZW51IHsgXG4gICAgZGlzcGxheTogYmxvY2s7IFxuICB9XG5cbiAgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudTpiZWZvcmUsXG4gIC5uYXYtY29sbGFwc2UgLmRyb3Bkb3duLW1lbnU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdi1jb2xsYXBzZSAuZHJvcGRvd24tbWVudSAuZGl2aWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubmF2LWNvbGxhcHNlIC5uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC8vIEZvcm1zIGluIG5hdmJhclxuICAubmF2LWNvbGxhcHNlIC5uYXZiYXItZm9ybSxcbiAgLm5hdi1jb2xsYXBzZSAubmF2YmFyLXNlYXJjaCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogKEBiYXNlTGluZUhlaWdodCAvIDIpIDE1cHg7XG4gICAgbWFyZ2luOiAoQGJhc2VMaW5lSGVpZ2h0IC8gMikgMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQG5hdmJhckJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXZiYXJCYWNrZ3JvdW5kO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSlcIik7XG4gIH1cbiAgLm5hdmJhci1pbnZlcnNlIC5uYXYtY29sbGFwc2UgLm5hdmJhci1mb3JtLFxuICAubmF2YmFyLWludmVyc2UgLm5hdi1jb2xsYXBzZSAubmF2YmFyLXNlYXJjaCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZDtcbiAgfVxuICAvLyBQdWxsIHJpZ2h0IChzZWNvbmRhcnkpIG5hdiBjb250ZW50XG4gIC5uYXZiYXIgLm5hdi1jb2xsYXBzZSAubmF2LnB1bGwtcmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC8vIEhpZGUgZXZlcnl0aGluZyBpbiB0aGUgbmF2YmFyIHNhdmUgLmJyYW5kIGFuZCB0b2dnbGUgYnV0dG9uICovXG4gIC5uYXYtY29sbGFwc2UsXG4gIC5uYXYtY29sbGFwc2UuY29sbGFwc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC8vIE5hdmJhciBidXR0b25cbiAgLm5hdmJhciAuYnRuLW5hdmJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBTVEFUSUMgTkFWQkFSXG4gIC8vIC0tLS0tLS0tLS0tLS1cbiAgLm5hdmJhci1zdGF0aWMgLm5hdmJhci1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAgMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG5cblxufVxuXG5cbi8vIERFRkFVTFQgREVTS1RPUFxuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAbmF2YmFyQ29sbGFwc2VEZXNrdG9wV2lkdGgpIHtcblxuICAvLyBSZXF1aXJlZCB0byBtYWtlIHRoZSBjb2xsYXBzaW5nIG5hdmJhciB3b3JrIG9uIHJlZ3VsYXIgZGVza3RvcHNcbiAgLm5hdi1jb2xsYXBzZS5jb2xsYXBzZSB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vbGliL2Jvb3RzdHJhcC9sZXNzL2Jvb3RzdHJhcC5sZXNzXCI7XG5AaW1wb3J0IFwiLi4vbGliL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUubGVzc1wiO1xuXG5AaW1wb3J0IFwidmFyaWFibGVzLmxlc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMubGVzc1wiO1xuXG5odG1sLFxuYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cblxuLyogVHlwb2dyYXBoeSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgbGVnZW5kLCB0aGVhZCB7XG4gICAgY29sb3I6IEB2bUdyZWVuO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkaW5nc0ZvbnRGYW1pbHk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAzLjRlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xZW07XG4gICAgd29yZC1zcGFjaW5nOiAwLjFlbTtcbn1cblxuaDEgPiBzbWFsbCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbn1cblxuaDIsIGg0LCBoNiwgdGhlYWQge1xuICAgIGNvbG9yOiBAZGFya2VzdEdyZXk7XG59XG5cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiBGbGF0IGJ1dHRvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0biB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBmaWx0ZXI6bm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRlckdyZXk7XG59XG5cbi5idG4tcHJpbWFyeSB7YmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnlCbHVlO31cbi5idG4taW5mbyB7YmFja2dyb3VuZC1jb2xvcjogQGluZm9CbHVlO31cbi5idG4tc3VjY2VzcyB7YmFja2dyb3VuZC1jb2xvcjogQHZtR3JlZW47fVxuLmJ0bi13YXJuaW5nIHtiYWNrZ3JvdW5kLWNvbG9yOiBAd2FybmluZ09yYW5nZTt9XG4uYnRuLWRhbmdlciB7YmFja2dyb3VuZC1jb2xvcjogQGRhbmdlclJlZDt9XG4uYnRuLWludmVyc2Uge2JhY2tncm91bmQtY29sb3I6IEBkYXJrZXN0R3JleTt9XG5cbi8qIE1pbWljcyBmb3JtLmZvcm0taW5saW5lOyB1c2Ugd2l0aCBkaXYuaW5wdXQtYXBwZW5kIHRvIHNwcmVhZCBvdXQgb3VyIGZsYXRcbiAqIGJ1dHRvbnMgYW5kIGRpc3Rpbmd1aXNoIHRoZW0uXG4gKlxuICogSW5zaWRlIGEgZm9ybSwgaW5wdXQgdGFncyB3aXRoIHR5cGUgXCJwYXNzd29yZFwiIHRyaWdnZXIgdGhlIGJyb3dzZXInc1xuICogcGFzc3dvcmQgbWFuYWdlci4gV2UgZG9uJ3Qgd2FudCB0aGlzIGJlaGF2aW91ciBvbiB0aGUgQVBJIHBhZ2UsIHNvIHdlIHVzZVxuICogZGl2LmlucHV0LWFwcGVuZCBpbnN0ZWFkLlxuICovXG4uaW5saW5lLWZsYXQgLmJ0biB7XG4gIG1hcmdpbjogMCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG4uaW5saW5lLWZsYXQgLmJ0bjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiAwIDRweCAwIDhweDtcbn1cblxuI2FwaS10b2tlbiB7XG4gIGZvbnQtZmFtaWx5OiBAbW9ub0ZvbnRGYW1pbHk7XG59XG5cbi8qIEN1c3RvbSBjb2xvcnMgZm9yIGxhYmVscyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxhYmVsIHsgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0ZXJHcmV5OyB9XG4ubGFiZWwtcHJpbWFyeSB7YmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnlCbHVlO31cbi5sYWJlbC1pbmZvIHtiYWNrZ3JvdW5kLWNvbG9yOiBAaW5mb0JsdWU7fVxuLmxhYmVsLXN1Y2Nlc3Mge2JhY2tncm91bmQtY29sb3I6IEB2bUdyZWVuO31cbi5sYWJlbC13YXJuaW5nIHtiYWNrZ3JvdW5kLWNvbG9yOiBAd2FybmluZ09yYW5nZTt9XG4ubGFiZWwtZGFuZ2VyIHtiYWNrZ3JvdW5kLWNvbG9yOiBAZGFuZ2VyUmVkO31cbi5sYWJlbC1pbnZlcnNlIHtiYWNrZ3JvdW5kLWNvbG9yOiBAZGFya2VzdEdyZXk7fVxuXG5cbi8qIEdlbmVyYWwgU2lkZWJhciBOYXYgQ1NTID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXYge3dvcmQtd3JhcDogYnJlYWstd29yZDt9XG4ubWVudS1jb2xvdXIge2JhY2tncm91bmQtY29sb3I6IEBsaWdodGVyR3JleTt9XG4ubmF2IGxpIHtmb250LXNpemU6IDFlbTt9XG4ubmF2LXRhYnMge291dGxpbmU6IG5vbmU7fVxuXG4jc2lkZWJhci1yb3cge1xuICAgIC5mbGV4LWRpc3BsYXk7XG59XG5cbi8qIHJvdyBzcGFuIGhvbGRpbmcgdGhlIGNvbnRhaW5lciBob2xkaW5nIHRoZSBzaWRlYmFyIG1lbnVzICovXG4jc2lkZWJhci1zcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxOCU7XG59XG5cbi8qIGNvbnRhaW5lciBob2xkaW5nIHRoZSBzaWRlYmFyIG1lbnVzICovXG4jc2lkZWJhci1jb250YWluZXIge1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgIHBhZGRpbmc6IDBlbSAwZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cblxuLyogYWxsIHVsIG1lbnVzIGluIHNpZGViYXIsIG1pbnVzIHRvcCBMb2dvICovXG4ubWFpbm1lbnUge1xuICAgIG1hcmdpbjogMGVtO1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICYgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVlbSAxLjJlbTtcbiAgICAgICAgICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgICAgICAgICBvcGFjaXR5OjAuNjU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiA+IC5uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6IEBkYXJrR3JleTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgfVxufVxuXG5cbi8qIGZvciBub24tdG9wLWxldmVsIGxpbmtzICovXG5saSA+IGEuc3VibWVudS1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbn1cblxuLmFkbWlub25seSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFkbWluR29sZDtcbiAgICBjb2xvcjogQGFkbWluRGFya0dvbGQ7XG4gICAgJi5jb250cm9sLWdyb3VwIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG59XG5cbi5uYXYgPiBsaS5hZG1pbm9ubHkgPiBhOmhvdmVyLCAubmF2ID4gbGkuYWRtaW5vbmx5ID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGFkbWluR29sZEhpZ2hsaWdodDtcbn1cblxuLm5hdi10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xufVxuXG4ubmF2LXRleHQtcGFkZGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjNlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG59XG5cbnNwYW4ubmF2LXRleHQtYXJyb3cge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbn1cblxuLyogTG9naW4gc3BlY2lmaWMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5icmFuZCA+IC5sb2dvIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmZvcm0tc2lnbmluIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDE5cHggMjlweCAyOXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBsaWdodGVyR3JleTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpO1xufVxuXG4uZm9ybS1zaWduaW4gLmZvcm0tc2lnbmluLWhlYWRpbmcsXG4uZm9ybS1zaWduaW4gLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9ybS1zaWduaW4gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZm9ybS1zaWduaW4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogN3B4IDlweDtcbn1cblxuLyogU3BlY2lmaWMgbWVudSBDU1MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBWTUZBUk1zIHRvcCBsb2dvIGxpbmsgKi9cbiNsb2dvIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4jbG9nbyBhIHtib3JkZXI6IDA7fVxuXG5cbi8qIERyb3Bkb3duIGxpbmsgdG8gc3dpdGNoIGNvbXBhbnkgYWNjb3VudHMgKi9cbiNjb21wYW55IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtNC43ZW07XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbiNjb21wYW55ID4gLmRyb3Bkb3duLW1lbnUgbGl7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xufVxuXG4jY29tcGFueSAuZHJvcGRvd24tbWVudSBsaSA+IGE6aG92ZXIsXG4jY29tcGFueSAuZHJvcGRvd24tbWVudSBsaSA+IGE6Zm9jdXMsXG4jY29tcGFueSAuZHJvcGRvd24tbWVudTpob3ZlciA+IGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHZtR3JlZW47XG59XG5cbi8qIFVzZXIgKyBMb2dvdXQgSWNvbiBDU1MgKi9cbi5pY29uIGltZyB7XG4gICAgaGVpZ2h0OiAxLjdlbTtcbiAgICB3aWR0aDogMS43ZW07XG59XG5cbi8qIENvbnRlbnQgYmxvY2sgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiNtYWluLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDgyJTtcbn1cblxuI3N0YXR1cy1jb2RlIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N0YXR1cy1jb2RlIHByZSB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4jc2lkZS1leHRlbnNpb24ge1xuICAgIHdpZHRoOiAxOCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBTdGlja3kgZm9vdGVyID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5kaXYud3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogTmVnYXRpdmUgaW5kZW50IGZvb3RlciBieSBpdCdzIGhlaWdodCAqL1xuICAgIG1hcmdpbjogMCBhdXRvIC02NHB4O1xufVxuXG4jcHVzaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xufVxuXG4jcHVzaCxcbi5mb290ZXIge1xuICAgIGhlaWdodDogNjRweDtcbn1cblxuLmZvb3RlciB7XG4gIGNvbG9yOiBAbGlnaHRHcmV5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMTglO1xuXG4gICYgPiB1bCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgJiA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbjogMHB4IDAuNWVtO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmIGEge1xuICAgIGNvbG9yOiBAbGlnaHRHcmV5O1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBkYXJrR3JleTtcbiAgICB9XG4gIH1cblxuICAmIGEubG9nbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvc3RhdGljL2ltZy9sb2dvcy9sb2dvbWFyay1pbnZlcnRlZC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcyg5MCUpO1xuICAgIGhlaWdodDogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41ZXg7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBicmlnaHRuZXNzKDgwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qIENhcmV0cyAvIFRyaWFuZ2xlIGFycm93cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5hcnJvdy1kb3duIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIEBsaWdodEdyZXk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7XG4gICAgb3BhY2l0eTowLjc1O1xufVxuXG4uYXJyb3ctZG93bjpob3ZlciwgLmFycm93LWRvd246Zm9jdXMge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIG9wYWNpdHk6MTtcbn1cblxuLmFycm93LXVwIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIEBsaWdodEdyZXk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7XG4gICAgb3BhY2l0eTowLjc1O1xufVxuXG4uYXJyb3ctcmlnaHQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBAbGlnaHRHcmV5O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7XG4gICAgb3BhY2l0eTowLjc1O1xufVxuXG4uYXJyb3ctbGVmdCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBAbGlnaHRHcmV5O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTc1KTtcbiAgICBvcGFjaXR5OjAuNzU7XG59XG5cblxuLm5hdi1saW5rcyB7XG4gICAgZm9udC1zaXplOiAxMHB0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogQGJsYWNrO1xufVxuXG4ubmF2LWxpbmtzOmhvdmVyLFxuLm5hdi1saW5rczpmb2N1cyB7XG4gICAgY29sb3I6IGdyZWVuO1xufVxuXG4vKiBEZXBsb3lzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI2RlcGxveS1mb3JtIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBpbnB1dCwgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxufVxuXG50YWJsZS5kZXBsb3ktbGlzdCB7XG4gICAgJi5kZXBsb3ktZGFzaGJvYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLyogVGhpcyBpcyB0byBhIGdldCBzZW1pLWNvbnNpc3RlbnQgbGF5b3V0IGZvciBhbGwgdGFibGVzIGluIGRhc2hib2FyZCB2aWV3ICovXG4gICAgICAgIC5lbnZpcm9ubWVudCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyb3VwIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1aWxkLWdyb3VwIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIHRyLmxpdmUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB0ZC5zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjhlOTtcbiAgICB9XG5cbiAgICB0ZC5lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmNkZDI7XG4gICAgfVxuXG4gICAgdGQuaW5mbyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZkZTc7XG4gICAgfVxuXG4gICAgLnRpbWUtdG9vbHRpcCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgZ3JleTtcbiAgICB9XG59XG5cbmFydGljbGUuYXBwIHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcblxuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG59XG5cbi8qIExvYWRpbmcgR0lGID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxvYWRpbmcge1xuICAgIGJhY2tncm91bmQ6IHVybCgnL3N0YXRpYy9pbWcvbG9hZGluZy1zcGlubmVyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA1ZW07XG59XG5cbiNzZWxlY3Rvci1sb2FkaW5nIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxpbmthYmxle1xuICAgIGN1cnNvcjpwb2ludGVyO1xufVxuXG4vKiBGb3Igc2VsZWN0MiAqL1xuLmNvbnRyb2wtZ3JvdXAuZXJyb3IgW2NsYXNzXj1cInNlbGVjdDItY2hvaWNlXCJdIHtcbiAgICBib3JkZXItY29sb3I6IEBkYW5nZXJSZWQ7XG59XG5cbi5sZWZ0LXF1b3RlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbnRhYmxlLnRhYmxlLXJldmlldy1hcHBseSA+IHRib2R5ID4gdHIgPiB0ZCA+IGNvZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogQGluZm9CbHVlO1xufVxuXG4udGFibGUtcmV2aWV3LWFwcGx5IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxudGFibGUudGFibGUtcmV2aWV3LWFwcGx5IHRyLnN1Y2Nlc3MgY29kZSB7XG4gICAgY29sb3I6IEB2bUdyZWVuO1xufVxuXG50YWJsZS50YWJsZS1yZXZpZXctYXBwbHkgdHIuZXJyb3IgY29kZSB7XG4gICAgY29sb3I6IEBkYW5nZXJSZWQ7XG59XG5cbnRhYmxlLnRhYmxlLXJldmlldy1hcHBseSB0ci5pbmZvIGNvZGUge1xuICAgIGNvbG9yOiBAaW5mb0JsdWU7XG59XG5cbi5yZXZpZXctaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRlc3RHcmV5O1xufVxuXG4vKiB3aWRnZXRzICovXG5cbi5pbnB1dC10YWxsIHtcbiAgICBoZWlnaHQ6IDQycHg7XG59XG5cbi53aWRnZXQtdGFidWxhci1zZWxlY3QtbXVsdGlwbGUgPiBkaXYuY29udHJvbHMgPiBkaXYuaGVscC1ibG9jayA+IHB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLndpZGdldC10YWJ1bGFyLXNlbGVjdC1tdWx0aXBsZSA+IGxhYmVsIHtcbiAgICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IDFlbTtcbiAgICAtd2Via2l0LW1hcmdpbi1zdGFydDogMHB4O1xuICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMHB4O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7XG4gICAgZm9udC1zaXplOiAyNC41cHg7XG4gICAgY29sb3I6IEB2bUdyZWVuO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEBoZWFkaW5nc0ZvbnRGYW1pbHk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xufVxuXG4ubWFya2Rvd24tbGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLm1hcmtkb3duLWxlYWQgPiBwID4gY29kZSxcbi5icy1jYWxsb3V0ID4gcCA+IGNvZGUsXG4uYnMtY2FsbG91dCA+IGg0ID4gcCA+IGNvZGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxubGFiZWwuY2hlY2tib3ggPiBkaXYuaGVscC1ibG9jayB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxudGFibGUuaW5saW5lLW0ybSB0Ym9keSB0ZCBwLFxudGFibGUuaW5saW5lLW8ybSB0Ym9keSB0ZCBwIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG59XG5cbmRpdi5jb250cm9sLWdyb3VwID4gZGl2LmNvbnRyb2xzLmZpZWxkLWtleSA+ICNpZF9rZXkge1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xufVxuXG5kaXYuY29udHJvbC1ncm91cCA+IGRpdi5jb250cm9scy5maWVsZC1vd25lciA+ICNpZF9vd25lciB7XG4gICAgd2lkdGg6IDcwMHB4O1xufVxuXG4uc2VsZWN0MiB7XG4gICAgd2lkdGg6IDI1MHB4O1xufVxuXG4vKiBDb21tb24gc3R5bGVzIGZvciBhbGwgdHlwZXMgKi9cbi5icy1jYWxsb3V0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYnMtY2FsbG91dCBoNCxcbi5icy1jYWxsb3V0IGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5icy1jYWxsb3V0IHA6bGFzdC1jaGlsZCxcbi5icy1jYWxsb3V0IC5tYXJrZG93bi1sZWFkLFxuLmJzLWNhbGxvdXQgdWw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5icy1jYWxsb3V0IGNvZGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLyogVGlnaHRlbiB1cCBzcGFjZSBiZXR3ZWVuIG11bHRpcGxlIGNhbGxvdXRzICovXG4uYnMtY2FsbG91dCArIC5icy1jYWxsb3V0IHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4vKiBWYXJpYXRpb25zICovXG4uYnMtY2FsbG91dC1kYW5nZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAZGFuZ2VyUmVkO1xufVxuLmJzLWNhbGxvdXQtZGFuZ2VyIGg0LFxuLmJzLWNhbGxvdXQtZGFuZ2VyIGgzIHtcbiAgICBjb2xvcjogQGRhbmdlclJlZDtcbn1cbi5icy1jYWxsb3V0LXdhcm5pbmcge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAd2FybmluZ09yYW5nZTtcbn1cbi5icy1jYWxsb3V0LXdhcm5pbmcgaDQsXG4uYnMtY2FsbG91dC13YXJuaW5nIGgzIHtcbiAgICBjb2xvcjogQHdhcm5pbmdPcmFuZ2U7XG59XG4uYnMtY2FsbG91dC1pbmZvIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQGluZm9CbHVlO1xufVxuLmJzLWNhbGxvdXQtaW5mbyBoNCxcbi5icy1jYWxsb3V0LWluZm8gaDMge1xuICAgIGNvbG9yOiBAaW5mb0JsdWU7XG59XG4uYnMtY2FsbG91dC1zdWNjZXNzIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHZtR3JlZW47XG59XG4uYnMtY2FsbG91dC1zdWNjZXNzIGg0LFxuLmJzLWNhbGxvdXQtc3VjY2VzcyBoMyB7XG4gICAgY29sb3I6IEB2bUdyZWVuO1xufVxuXG4uaGVscC1ibG9jayB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiN0b3Atc3BhbiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiN0b3Atc3BhbiAubG9nbyB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyogQnVpbGQgbG9nICovXG4jbG9nIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpbmU7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpbmUpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgICAgICAgd2lkdGg6IDIuNWVtOyAvKiBGaXhlZCB3aWR0aCAqL1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIFNlY3JldCBtZXNzYWdlICovXG4jc2VjcmV0LW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBwYWRkaW5nOiAxMDtcbn1cblxuLnNlY3JldC1tZXNzYWdlLXRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gICAgcGFkZGluZzogNnB4IDEwcHggNnB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuXG4vKiBNaXNjICovXG4ucG9wb3ZlciB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLm1vZGFsIHtcbiAgICB3aWR0aDogODQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00MjBweDtcbn1cblxuLnBhZ2UtaGVhZGVyID4gLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vKiBTb3J0dGFibGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogaHR0cDovL3d3dy5rcnlvZ2VuaXgub3JnL2NvZGUvYnJvd3Nlci9zb3J0dGFibGUvI2N1c3RvbWtleXMgKi9cbi8qIEFkZHMgVXAvRG93biBhcnJvd3MgdG8gc29ydGFibGUgdGFibGUgY29sdW1ucywgcHJvdmlkaW5nIGEgVUkgaGludC4gKi9cbnRhYmxlLnNvcnRhYmxlIHRoOm5vdCguc29ydHRhYmxlX3NvcnRlZCk6bm90KC5zb3J0dGFibGVfc29ydGVkX3JldmVyc2UpOm5vdCguc29ydHRhYmxlX25vc29ydCk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFxcMjVCNFxcMjVCRVwiXG59XG5cbiIsIi5mbGV4LWRpc3BsYXkoQGRpc3BsYXk6IGZsZXgpIHtcbiAgICBkaXNwbGF5OiB+Jy13ZWJraXQtQHtkaXNwbGF5fSc7XG4gICAgZGlzcGxheTogfictbW96LUB7ZGlzcGxheX0nO1xuICAgIGRpc3BsYXk6IH4nLW1zLUB7ZGlzcGxheX1ib3gnOyAvLyBJRTEwIHVzZXMgLW1zLWZsZXhib3hcbiAgICBkaXNwbGF5OiB+Jy1tcy1Ae2Rpc3BsYXl9JzsgLy8gSUUxMVxuICAgIGRpc3BsYXk6IEBkaXNwbGF5O1xufVxuIl19 */