/* iReserve v4.6.0 */
@charset "UTF-8";
.loading-spinner {
  display: none;
  width: 28px;
  height: 28px;
  margin: 8em auto; }

.loading > .loading-spinner,
.loading + .loading-spinner {
  display: block; }

.loading > * {
  display: none; }

.loading ~ #ac-globalfooter .ac-gf-sosumi {
  display: none; }

#ac-globalfooter .ac-gf-footer {
  border-top: 0; }

.dropdown.loading::before,
.dropdown.loading::after,
.dropdown.loading .selected::before,
.dropdown.loading .selected::after,
.dropdown.loading .default::before,
.dropdown.loading .default::after {
  content: ''; }

.dropdown-loading-spinner {
  background: url("https://reserve.cdn-apple.com/staticContent/iPhone/JP/157372de34a/images/spinner_2x.gif") no-repeat;
  background-size: 18px 18px;
  position: absolute;
  z-index: 10;
  width: 18px;
  height: 18px;
  top: 9px;
  right: 72px; }

select.loading-select + .icon-chevrondown::before {
  content: '';
  background: url("https://reserve.cdn-apple.com/staticContent/iPhone/JP/157372de34a/images/spinner_2x.gif") no-repeat;
  background-size: 18px 18px;
  width: 18px;
  height: 18px;
  top: 4px;
  right: -4px;
  position: absolute;
  display: inline-block;
  -webkit-transition: opacity .2s ease-in-out;
          transition: opacity .2s ease-in-out;
  opacity: 0; }
select.loading-select + .icon-chevrondown::after {
  -webkit-transition: opacity .2s ease-in-out;
          transition: opacity .2s ease-in-out; }
select.loading-select + .icon-chevrondown.fade-in::before {
  opacity: 1; }
select.loading-select + .icon-chevrondown.fade-in::after {
  opacity: 0; }
select.loading-select + .icon-chevrondown.fade-out::before {
  opacity: 0; }
select.loading-select + .icon-chevrondown.fade-out::after {
  opacity: 1; }

@media only screen and (max-width: 767px) {
  .dropdown-loading-spinner {
    right: 7px; } }
.with-fade {
  opacity: 0; }
  .with-fade.fade-in {
    opacity: 1;
    -webkit-transition: opacity .2s ease-in-out;
            transition: opacity .2s ease-in-out; }
  .with-fade.fade-out {
    opacity: 0;
    -webkit-transition: opacity .2s ease-in-out;
            transition: opacity .2s ease-in-out; }

.ipp .is-not-ipp {
  display: none; }
.ipp .is-ipp {
  display: block; }
.ipp span.is-ipp {
  display: inline; }
.ipp li.is-ipp {
  display: list-item; }

.is-ipp,
.today .is-preorder,
.preorder .is-today {
  display: none; }

html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0; }

ul,
ol,
li,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hgroup,
p,
blockquote,
figure,
form,
fieldset,
input,
legend,
pre,
abbr,
button {
  margin: 0;
  padding: 0; }

pre,
code,
address,
caption,
th,
figcaption {
  font-size: 1em;
  font-weight: normal;
  font-style: normal; }

fieldset,
iframe,
img {
  border: 0; }

caption,
th {
  text-align: left; }

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

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

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

button {
  background: none;
  border: 0;
  box-sizing: content-box;
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  overflow: visible;
  vertical-align: inherit; }
  button:disabled {
    cursor: default; }

a:focus, .page-reservation button.more:focus,
input:focus,
textarea:focus,
select:focus,
button:focus,
[tabindex]:focus {
  outline: 3px solid #c1e0fe;
  outline: 3px solid rgba(131, 192, 253, 0.5);
  outline-offset: 1px; }
  a:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select), .page-reservation button.more:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select), a:focus[data-focus-method="touch"]:not(input):not(textarea):not(select), .page-reservation button.more:focus[data-focus-method="touch"]:not(input):not(textarea):not(select),
  input:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select),
  input:focus[data-focus-method="touch"]:not(input):not(textarea):not(select),
  textarea:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select),
  textarea:focus[data-focus-method="touch"]:not(input):not(textarea):not(select),
  select:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select),
  select:focus[data-focus-method="touch"]:not(input):not(textarea):not(select),
  button:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select),
  button:focus[data-focus-method="touch"]:not(input):not(textarea):not(select),
  [tabindex]:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select),
  [tabindex]:focus[data-focus-method="touch"]:not(input):not(textarea):not(select) {
    outline: none; }
a::-moz-focus-inner, .page-reservation button.more::-moz-focus-inner,
input::-moz-focus-inner,
textarea::-moz-focus-inner,
select::-moz-focus-inner,
button::-moz-focus-inner,
[tabindex]::-moz-focus-inner {
  border: 0;
  padding: 0; }

@media print {
  body,
  #main,
  #content {
    color: #000; }

  a, .page-reservation button.more,
  a:link,
  .page-reservation button.more:link,
  a:visited,
  .page-reservation button.more:visited {
    color: #000;
    text-decoration: none; }

  #globalheader,
  #globalfooter,
  #directorynav,
  #tabs,
  .noprint,
  .hide {
    display: none; } }
html {
  font-family: "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 112.5%;
  quotes: "“" "”"; }

:lang(ar) {
  font-family: "Gulf", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }

:lang(ja-JP) {
  font-family: "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(ko-KR) {
  font-family: "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(th-TH) {
  font-family: "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(zh-CN) {
  font-family: "HanHei SC", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(zh-HK) {
  font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(zh-MO) {
  font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(zh-TW) {
  font-family: "HanHei TC", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

:lang(de) {
  quotes: "„" "“"; }

:lang(fr) {
  quotes: "« " " »"; }

:lang(es-ES) {
  quotes: "«" "»"; }

:lang(ja-JP) {
  quotes: "「" "」"; }

:lang(no-NO) {
  quotes: "«" "»"; }

:lang(zh) {
  quotes: "「" "」"; }

:lang(zh-CN) {
  quotes: "“" "”"; }

body {
  font-size: 18px;
  line-height: 1.4446;
  font-weight: 400;
  letter-spacing: 0em;
  background-color: white;
  color: #333333;
  font-style: normal; }
  body:lang(zh) {
    font-size: 16px; }

body,
input,
textarea,
select,
button {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: 'liga', 'kern';
  direction: ltr;
  text-align: left; }
  body:lang(tr-TR),
  input:lang(tr-TR),
  textarea:lang(tr-TR),
  select:lang(tr-TR),
  button:lang(tr-TR) {
    -webkit-font-variant-ligatures: no-common-ligatures;
            font-variant-ligatures: no-common-ligatures;
    -moz-font-feature-settings: 'kern'; }

a, .page-reservation button.more {
  color: #0070c9; }
  a:link, .page-reservation button.more:link, a:visited, .page-reservation button.more:visited {
    text-decoration: none; }
  a:hover, .page-reservation button.more:hover {
    text-decoration: underline; }
  a:active, .page-reservation button.more:active {
    text-decoration: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.45em 0; }
  h1 img,
  h2 img,
  h3 img,
  h4 img,
  h5 img,
  h6 img {
    display: block;
    margin: 0; }

b,
strong {
  font-weight: 700; }
  b html.ie8 b, html.ie8 b b, b html.ie8 strong, html.ie8 b strong,
  strong html.ie8 b,
  html.ie8 strong b,
  strong html.ie8 strong,
  html.ie8 strong strong {
    font-family: "Myriad Set Pro 700", "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  html.ie8 b, html.ie8 strong {
    font-weight: normal; }
  b:lang(ar) html.ie8 b:lang(ar), html.ie8 b:lang(ar) b:lang(ar), b:lang(ar) html.ie8 strong:lang(ar), html.ie8 b:lang(ar) strong:lang(ar),
  strong:lang(ar) html.ie8 b:lang(ar),
  html.ie8 strong:lang(ar) b:lang(ar),
  strong:lang(ar) html.ie8 strong:lang(ar),
  html.ie8 strong:lang(ar) strong:lang(ar) {
    font-family: "Gulf 700", "Gulf", "Myriad Set Pro 700", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
  b:lang(ja-JP) html.ie8 b:lang(ja-JP), html.ie8 b:lang(ja-JP) b:lang(ja-JP), b:lang(ja-JP) html.ie8 strong:lang(ja-JP), html.ie8 b:lang(ja-JP) strong:lang(ja-JP),
  strong:lang(ja-JP) html.ie8 b:lang(ja-JP),
  html.ie8 strong:lang(ja-JP) b:lang(ja-JP),
  strong:lang(ja-JP) html.ie8 strong:lang(ja-JP),
  html.ie8 strong:lang(ja-JP) strong:lang(ja-JP) {
    font-family: "Apple TP 700", "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(ko-KR) html.ie8 b:lang(ko-KR), html.ie8 b:lang(ko-KR) b:lang(ko-KR), b:lang(ko-KR) html.ie8 strong:lang(ko-KR), html.ie8 b:lang(ko-KR) strong:lang(ko-KR),
  strong:lang(ko-KR) html.ie8 b:lang(ko-KR),
  html.ie8 strong:lang(ko-KR) b:lang(ko-KR),
  strong:lang(ko-KR) html.ie8 strong:lang(ko-KR),
  html.ie8 strong:lang(ko-KR) strong:lang(ko-KR) {
    font-family: "Yoon Gothic 700", "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(th-TH) html.ie8 b:lang(th-TH), html.ie8 b:lang(th-TH) b:lang(th-TH), b:lang(th-TH) html.ie8 strong:lang(th-TH), html.ie8 b:lang(th-TH) strong:lang(th-TH),
  strong:lang(th-TH) html.ie8 b:lang(th-TH),
  html.ie8 strong:lang(th-TH) b:lang(th-TH),
  strong:lang(th-TH) html.ie8 strong:lang(th-TH),
  html.ie8 strong:lang(th-TH) strong:lang(th-TH) {
    font-family: "Sukhumvit Set 700", "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(zh-CN) html.ie8 b:lang(zh-CN), html.ie8 b:lang(zh-CN) b:lang(zh-CN), b:lang(zh-CN) html.ie8 strong:lang(zh-CN), html.ie8 b:lang(zh-CN) strong:lang(zh-CN),
  strong:lang(zh-CN) html.ie8 b:lang(zh-CN),
  html.ie8 strong:lang(zh-CN) b:lang(zh-CN),
  strong:lang(zh-CN) html.ie8 strong:lang(zh-CN),
  html.ie8 strong:lang(zh-CN) strong:lang(zh-CN) {
    font-family: "HanHei SC 700", "HanHei SC", "PingHei 700", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(zh-HK) html.ie8 b:lang(zh-HK), html.ie8 b:lang(zh-HK) b:lang(zh-HK), b:lang(zh-HK) html.ie8 strong:lang(zh-HK), html.ie8 b:lang(zh-HK) strong:lang(zh-HK),
  strong:lang(zh-HK) html.ie8 b:lang(zh-HK),
  html.ie8 strong:lang(zh-HK) b:lang(zh-HK),
  strong:lang(zh-HK) html.ie8 strong:lang(zh-HK),
  html.ie8 strong:lang(zh-HK) strong:lang(zh-HK) {
    font-family: "HanHei TC 700", "HanHei TC", "MHei 700", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(zh-MO) html.ie8 b:lang(zh-MO), html.ie8 b:lang(zh-MO) b:lang(zh-MO), b:lang(zh-MO) html.ie8 strong:lang(zh-MO), html.ie8 b:lang(zh-MO) strong:lang(zh-MO),
  strong:lang(zh-MO) html.ie8 b:lang(zh-MO),
  html.ie8 strong:lang(zh-MO) b:lang(zh-MO),
  strong:lang(zh-MO) html.ie8 strong:lang(zh-MO),
  html.ie8 strong:lang(zh-MO) strong:lang(zh-MO) {
    font-family: "HanHei TC 700", "HanHei TC", "MHei 700", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  b:lang(zh-TW) html.ie8 b:lang(zh-TW), html.ie8 b:lang(zh-TW) b:lang(zh-TW), b:lang(zh-TW) html.ie8 strong:lang(zh-TW), html.ie8 b:lang(zh-TW) strong:lang(zh-TW),
  strong:lang(zh-TW) html.ie8 b:lang(zh-TW),
  html.ie8 strong:lang(zh-TW) b:lang(zh-TW),
  strong:lang(zh-TW) html.ie8 strong:lang(zh-TW),
  html.ie8 strong:lang(zh-TW) strong:lang(zh-TW) {
    font-family: "HanHei TC 700", "HanHei TC", "MHei 700", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

em,
i,
cite,
dfn {
  font-style: italic; }
  em :lang(ja),
  em :lang(ko),
  em :lang(th),
  em :lang(zh),
  i :lang(ja),
  i :lang(ko),
  i :lang(th),
  i :lang(zh),
  cite :lang(ja),
  cite :lang(ko),
  cite :lang(th),
  cite :lang(zh),
  dfn :lang(ja),
  dfn :lang(ko),
  dfn :lang(th),
  dfn :lang(zh) {
    font-style: normal; }

p {
  margin: 0 0 1em 0; }

li li {
  font-size: 1em; }

ul,
ol {
  margin: 1em 0 1em 1.11111em; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-top: 0;
    margin-bottom: 0; }
  nav ul, nav
  ol {
    list-style: none;
    margin: 0; }

sup {
  font-size: .6em;
  opacity: .8;
  vertical-align: top;
  position: relative;
  bottom: -.2em; }
  h1 sup, h2 sup, h3 sup {
    font-size: .4em; }
  html.ie8 h4 sup, html.ie8 h5 sup, html.ie8 h6 sup {
    font-size: .8em;
    font-weight: normal;
    line-height: 1;
    bottom: auto; }
  sup a, sup .page-reservation button.more, .page-reservation sup button.more {
    color: #333333; }
    sup a:hover, sup .page-reservation button.more:hover, .page-reservation sup button.more:hover {
      color: #0070c9;
      text-decoration: none; }

sub {
  line-height: 1; }

abbr {
  border: 0; }

.selfclear:before, .selfclear:after {
  content: ' ';
  display: table; }
.selfclear:after {
  clear: both; }

.visuallyhidden {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
          clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0; }

.imagereplace {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

.nowrap {
  display: inline-block;
  text-decoration: inherit;
  white-space: nowrap; }

.clear {
  clear: both; }

#top {
  position: absolute;
  top: 0; }

.cursor-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.cursor-grabbing {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.row {
  position: relative;
  z-index: 1; }
  .row:before, .row:after {
    content: ' ';
    display: table; }
  .row:after {
    clear: both; }

.column {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  float: left;
  min-height: 2px; }

.large-offset-0 {
  margin-left: 0; }

.large-push-0, .page-check-availability .product-top.hidden {
  left: auto;
  right: auto; }

.large-pull-0, .page-check-availability .product-top.hidden + .column {
  right: auto;
  left: auto; }

.large-1 {
  width: 8.33333%; }
  html.ie8 .large-1 {
    width: 8.325%; }

.large-offset-1 {
  margin-left: 8.33333%; }
  html.ie8 .large-offset-1 {
    margin-left: 8.325%; }

.large-push-1 {
  left: 8.33333%;
  right: auto; }

.large-pull-1 {
  right: 8.33333%;
  left: auto; }

.large-2 {
  width: 16.66667%; }
  html.ie8 .large-2 {
    width: 16.65%; }

.large-offset-2 {
  margin-left: 16.66667%; }
  html.ie8 .large-offset-2 {
    margin-left: 16.65%; }

.large-push-2 {
  left: 16.66667%;
  right: auto; }

.large-pull-2 {
  right: 16.66667%;
  left: auto; }

.large-3 {
  width: 25%; }
  html.ie8 .large-3 {
    width: 24.975%; }

.large-offset-3 {
  margin-left: 25%; }
  html.ie8 .large-offset-3 {
    margin-left: 24.975%; }

.large-push-3 {
  left: 25%;
  right: auto; }

.large-pull-3 {
  right: 25%;
  left: auto; }

.large-4 {
  width: 33.33333%; }
  html.ie8 .large-4 {
    width: 33.3%; }

.large-offset-4 {
  margin-left: 33.33333%; }
  html.ie8 .large-offset-4 {
    margin-left: 33.3%; }

.large-push-4 {
  left: 33.33333%;
  right: auto; }

.large-pull-4 {
  right: 33.33333%;
  left: auto; }

.large-5 {
  width: 41.66667%; }
  html.ie8 .large-5 {
    width: 41.625%; }

.large-offset-5 {
  margin-left: 41.66667%; }
  html.ie8 .large-offset-5 {
    margin-left: 41.625%; }

.large-push-5 {
  left: 41.66667%;
  right: auto; }

.large-pull-5 {
  right: 41.66667%;
  left: auto; }

.large-6 {
  width: 50%; }
  html.ie8 .large-6 {
    width: 49.95%; }

.large-offset-6 {
  margin-left: 50%; }
  html.ie8 .large-offset-6 {
    margin-left: 49.95%; }

.large-push-6, .page-check-availability .product-top {
  left: 50%;
  right: auto; }

.large-pull-6, .page-check-availability .product-top + .column {
  right: 50%;
  left: auto; }

.large-7 {
  width: 58.33333%; }
  html.ie8 .large-7 {
    width: 58.275%; }

.large-offset-7 {
  margin-left: 58.33333%; }
  html.ie8 .large-offset-7 {
    margin-left: 58.275%; }

.large-push-7 {
  left: 58.33333%;
  right: auto; }

.large-pull-7 {
  right: 58.33333%;
  left: auto; }

.large-8 {
  width: 66.66667%; }
  html.ie8 .large-8 {
    width: 66.6%; }

.large-offset-8 {
  margin-left: 66.66667%; }
  html.ie8 .large-offset-8 {
    margin-left: 66.6%; }

.large-push-8 {
  left: 66.66667%;
  right: auto; }

.large-pull-8 {
  right: 66.66667%;
  left: auto; }

.large-9 {
  width: 75%; }
  html.ie8 .large-9 {
    width: 74.925%; }

.large-offset-9 {
  margin-left: 75%; }
  html.ie8 .large-offset-9 {
    margin-left: 74.925%; }

.large-push-9 {
  left: 75%;
  right: auto; }

.large-pull-9 {
  right: 75%;
  left: auto; }

.large-10 {
  width: 83.33333%; }
  html.ie8 .large-10 {
    width: 83.25%; }

.large-offset-10 {
  margin-left: 83.33333%; }
  html.ie8 .large-offset-10 {
    margin-left: 83.25%; }

.large-push-10 {
  left: 83.33333%;
  right: auto; }

.large-pull-10 {
  right: 83.33333%;
  left: auto; }

.large-11 {
  width: 91.66667%; }
  html.ie8 .large-11 {
    width: 91.575%; }

.large-offset-11 {
  margin-left: 91.66667%; }
  html.ie8 .large-offset-11 {
    margin-left: 91.575%; }

.large-push-11 {
  left: 91.66667%;
  right: auto; }

.large-pull-11 {
  right: 91.66667%;
  left: auto; }

.large-12 {
  width: 100%; }
  html.ie8 .large-12 {
    width: 99.9%; }

.large-offset-12 {
  margin-left: 100%; }
  html.ie8 .large-offset-12 {
    margin-left: 99.9%; }

.large-push-12 {
  left: 100%;
  right: auto; }

.large-pull-12 {
  right: 100%;
  left: auto; }

.large-centered {
  margin-left: auto;
  margin-right: auto;
  float: none; }

.large-uncentered {
  margin-left: 0;
  margin-right: 0; }

.large-last {
  float: right; }

.large-notlast {
  float: left; }

@media only screen and (min-width: 1442px) {
  .xlarge-offset-0 {
    margin-left: 0; }

  .xlarge-push-0 {
    left: auto;
    right: auto; }

  .xlarge-pull-0 {
    right: auto;
    left: auto; }

  .xlarge-1 {
    width: 8.33333%; }

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

  .xlarge-push-1 {
    left: 8.33333%;
    right: auto; }

  .xlarge-pull-1 {
    right: 8.33333%;
    left: auto; }

  .xlarge-2 {
    width: 16.66667%; }

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

  .xlarge-push-2 {
    left: 16.66667%;
    right: auto; }

  .xlarge-pull-2 {
    right: 16.66667%;
    left: auto; }

  .xlarge-3 {
    width: 25%; }

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

  .xlarge-push-3 {
    left: 25%;
    right: auto; }

  .xlarge-pull-3 {
    right: 25%;
    left: auto; }

  .xlarge-4 {
    width: 33.33333%; }

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

  .xlarge-push-4 {
    left: 33.33333%;
    right: auto; }

  .xlarge-pull-4 {
    right: 33.33333%;
    left: auto; }

  .xlarge-5 {
    width: 41.66667%; }

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

  .xlarge-push-5 {
    left: 41.66667%;
    right: auto; }

  .xlarge-pull-5 {
    right: 41.66667%;
    left: auto; }

  .xlarge-6 {
    width: 50%; }

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

  .xlarge-push-6 {
    left: 50%;
    right: auto; }

  .xlarge-pull-6 {
    right: 50%;
    left: auto; }

  .xlarge-7 {
    width: 58.33333%; }

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

  .xlarge-push-7 {
    left: 58.33333%;
    right: auto; }

  .xlarge-pull-7 {
    right: 58.33333%;
    left: auto; }

  .xlarge-8 {
    width: 66.66667%; }

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

  .xlarge-push-8 {
    left: 66.66667%;
    right: auto; }

  .xlarge-pull-8 {
    right: 66.66667%;
    left: auto; }

  .xlarge-9 {
    width: 75%; }

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

  .xlarge-push-9 {
    left: 75%;
    right: auto; }

  .xlarge-pull-9 {
    right: 75%;
    left: auto; }

  .xlarge-10 {
    width: 83.33333%; }

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

  .xlarge-push-10 {
    left: 83.33333%;
    right: auto; }

  .xlarge-pull-10 {
    right: 83.33333%;
    left: auto; }

  .xlarge-11 {
    width: 91.66667%; }

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

  .xlarge-push-11 {
    left: 91.66667%;
    right: auto; }

  .xlarge-pull-11 {
    right: 91.66667%;
    left: auto; }

  .xlarge-12 {
    width: 100%; }

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

  .xlarge-push-12 {
    left: 100%;
    right: auto; }

  .xlarge-pull-12 {
    right: 100%;
    left: auto; }

  .xlarge-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }

  .xlarge-uncentered {
    margin-left: 0;
    margin-right: 0; }

  .xlarge-last {
    float: right; }

  .xlarge-notlast {
    float: left; } }
@media only screen and (max-width: 1068px) {
  .medium-offset-0 {
    margin-left: 0; }

  .medium-push-0 {
    left: auto;
    right: auto; }

  .medium-pull-0 {
    right: auto;
    left: auto; }

  .medium-1 {
    width: 8.33333%; }

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

  .medium-push-1 {
    left: 8.33333%;
    right: auto; }

  .medium-pull-1 {
    right: 8.33333%;
    left: auto; }

  .medium-2 {
    width: 16.66667%; }

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

  .medium-push-2 {
    left: 16.66667%;
    right: auto; }

  .medium-pull-2 {
    right: 16.66667%;
    left: auto; }

  .medium-3 {
    width: 25%; }

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

  .medium-push-3 {
    left: 25%;
    right: auto; }

  .medium-pull-3 {
    right: 25%;
    left: auto; }

  .medium-4 {
    width: 33.33333%; }

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

  .medium-push-4 {
    left: 33.33333%;
    right: auto; }

  .medium-pull-4 {
    right: 33.33333%;
    left: auto; }

  .medium-5 {
    width: 41.66667%; }

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

  .medium-push-5 {
    left: 41.66667%;
    right: auto; }

  .medium-pull-5 {
    right: 41.66667%;
    left: auto; }

  .medium-6 {
    width: 50%; }

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

  .medium-push-6 {
    left: 50%;
    right: auto; }

  .medium-pull-6 {
    right: 50%;
    left: auto; }

  .medium-7 {
    width: 58.33333%; }

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

  .medium-push-7 {
    left: 58.33333%;
    right: auto; }

  .medium-pull-7 {
    right: 58.33333%;
    left: auto; }

  .medium-8 {
    width: 66.66667%; }

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

  .medium-push-8 {
    left: 66.66667%;
    right: auto; }

  .medium-pull-8 {
    right: 66.66667%;
    left: auto; }

  .medium-9 {
    width: 75%; }

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

  .medium-push-9 {
    left: 75%;
    right: auto; }

  .medium-pull-9 {
    right: 75%;
    left: auto; }

  .medium-10 {
    width: 83.33333%; }

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

  .medium-push-10 {
    left: 83.33333%;
    right: auto; }

  .medium-pull-10 {
    right: 83.33333%;
    left: auto; }

  .medium-11 {
    width: 91.66667%; }

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

  .medium-push-11 {
    left: 91.66667%;
    right: auto; }

  .medium-pull-11 {
    right: 91.66667%;
    left: auto; }

  .medium-12 {
    width: 100%; }

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

  .medium-push-12 {
    left: 100%;
    right: auto; }

  .medium-pull-12 {
    right: 100%;
    left: auto; }

  .medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }

  .medium-uncentered {
    margin-left: 0;
    margin-right: 0; }

  .medium-last {
    float: right; }

  .medium-notlast {
    float: left; } }
@media only screen and (max-width: 735px) {
  .small-offset-0 {
    margin-left: 0; }

  .small-push-0, .page-check-availability .product-top.small-push-0 {
    left: auto;
    right: auto; }

  .small-pull-0, .page-check-availability .product-top.small-push-0 + .small-pull-0 {
    right: auto;
    left: auto; }

  .small-1 {
    width: 8.33333%; }

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

  .small-push-1 {
    left: 8.33333%;
    right: auto; }

  .small-pull-1 {
    right: 8.33333%;
    left: auto; }

  .small-2 {
    width: 16.66667%; }

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

  .small-push-2 {
    left: 16.66667%;
    right: auto; }

  .small-pull-2 {
    right: 16.66667%;
    left: auto; }

  .small-3 {
    width: 25%; }

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

  .small-push-3 {
    left: 25%;
    right: auto; }

  .small-pull-3 {
    right: 25%;
    left: auto; }

  .small-4 {
    width: 33.33333%; }

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

  .small-push-4 {
    left: 33.33333%;
    right: auto; }

  .small-pull-4 {
    right: 33.33333%;
    left: auto; }

  .small-5 {
    width: 41.66667%; }

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

  .small-push-5 {
    left: 41.66667%;
    right: auto; }

  .small-pull-5 {
    right: 41.66667%;
    left: auto; }

  .small-6 {
    width: 50%; }

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

  .small-push-6 {
    left: 50%;
    right: auto; }

  .small-pull-6 {
    right: 50%;
    left: auto; }

  .small-7 {
    width: 58.33333%; }

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

  .small-push-7 {
    left: 58.33333%;
    right: auto; }

  .small-pull-7 {
    right: 58.33333%;
    left: auto; }

  .small-8 {
    width: 66.66667%; }

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

  .small-push-8 {
    left: 66.66667%;
    right: auto; }

  .small-pull-8 {
    right: 66.66667%;
    left: auto; }

  .small-9 {
    width: 75%; }

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

  .small-push-9 {
    left: 75%;
    right: auto; }

  .small-pull-9 {
    right: 75%;
    left: auto; }

  .small-10 {
    width: 83.33333%; }

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

  .small-push-10 {
    left: 83.33333%;
    right: auto; }

  .small-pull-10 {
    right: 83.33333%;
    left: auto; }

  .small-11 {
    width: 91.66667%; }

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

  .small-push-11 {
    left: 91.66667%;
    right: auto; }

  .small-pull-11 {
    right: 91.66667%;
    left: auto; }

  .small-12 {
    width: 100%; }

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

  .small-push-12 {
    left: 100%;
    right: auto; }

  .small-pull-12 {
    right: 100%;
    left: auto; }

  .small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }

  .small-uncentered {
    margin-left: 0;
    margin-right: 0; }

  .small-last {
    float: right; }

  .small-notlast {
    float: left; } }
.icon:before, .icon:after,
.more:before,
.more:after {
  font-family: "Apple Icons";
  color: inherit;
  display: inline-block;
  font-style: normal;
  font-weight: inherit;
  font-size: inherit;
  line-height: 1;
  text-decoration: underline;
  position: relative;
  z-index: 1;
  alt: ''; }
.icon:before, .icon:after,
.more:before,
.more:after {
  text-decoration: none; }
.icon:before,
.more:before {
  display: none; }

.icon-after:after,
.more:after {
  padding-left: 0.3em;
  top: 0; }

.icon-before:before {
  padding-right: 0.3em;
  display: inline-block;
  top: -0.125em; }
.icon-before:after {
  display: none; }

.icon-apple:before, .icon-apple:after {
  content: ""; }
.icon-chevrondown:before, .icon-chevrondown:after {
  content: ""; }
.icon-chevrondowncircle:before, .icon-chevrondowncircle:after {
  content: ""; }
.icon-chevronleft:before, .icon-chevronleft:after {
  content: ""; }
.icon-chevronleftcircle:before, .icon-chevronleftcircle:after {
  content: ""; }
.icon-chevronright:before, .icon-chevronright:after {
  content: ""; }
.icon-chevronrightcircle:before, .icon-chevronrightcircle:after {
  content: ""; }
.icon-chevronup:before, .icon-chevronup:after {
  content: ""; }
.icon-chevronupcircle:before, .icon-chevronupcircle:after {
  content: ""; }
.icon-downloadcircle:before, .icon-downloadcircle:after {
  content: ""; }
.icon-downloadsolid:before, .icon-downloadsolid:after {
  content: ""; }
.icon-external:before, .icon-external:after {
  content: ""; }
.icon-grid:before, .icon-grid:after {
  content: ""; }
.icon-listcircle:before, .icon-listcircle:after {
  content: ""; }
.icon-pausecircle:before, .icon-pausecircle:after {
  content: ""; }
.icon-playcircle:before, .icon-playcircle:after {
  content: ""; }
.icon-playsolid:before, .icon-playsolid:after {
  content: ""; }
.icon-replay:before, .icon-replay:after {
  content: ""; }
.icon-replaycircle:before, .icon-replaycircle:after {
  content: ""; }
.icon-stopcircle:before, .icon-stopcircle:after {
  content: ""; }
.icon-stopsolid:before, .icon-stopsolid:after {
  content: ""; }
.icon-favorite:before, .icon-favorite:after {
  content: ""; }
.icon-share:before, .icon-share:after {
  content: ""; }
.icon-facebook:before, .icon-facebook:after {
  content: ""; }
.icon-instagram:before, .icon-instagram:after {
  content: ""; }
.icon-link:before, .icon-link:after {
  content: ""; }
.icon-linkedin:before, .icon-linkedin:after {
  content: ""; }
.icon-mail:before, .icon-mail:after {
  content: ""; }
.icon-pinterest:before, .icon-pinterest:after {
  content: ""; }
.icon-qqweibo:before, .icon-qqweibo:after {
  content: ""; }
.icon-qzone:before, .icon-qzone:after {
  content: ""; }
.icon-renren:before, .icon-renren:after {
  content: ""; }
.icon-snapchat:before, .icon-snapchat:after {
  content: ""; }
.icon-tumblr:before, .icon-tumblr:after {
  content: ""; }
.icon-twitter:before, .icon-twitter:after {
  content: ""; }
.icon-weibo:before, .icon-weibo:after {
  content: ""; }
.icon-circle:before, .icon-circle:after {
  content: ""; }
.icon-check:before, .icon-check:after {
  content: ""; }
.icon-checkcircle:before, .icon-checkcircle:after {
  content: ""; }
.icon-checksolid:before, .icon-checksolid:after {
  content: ""; }
.icon-reset:before, .icon-reset:after {
  content: ""; }
.icon-resetcircle:before, .icon-resetcircle:after {
  content: ""; }
.icon-resetsolid:before, .icon-resetsolid:after {
  content: ""; }
.icon-exclamation:before, .icon-exclamation:after {
  content: ""; }
.icon-exclamationcircle:before, .icon-exclamationcircle:after {
  content: ""; }
.icon-exclamationsolid:before, .icon-exclamationsolid:after {
  content: ""; }
.icon-infocircle:before, .icon-infocircle:after {
  content: ""; }
.icon-questioncircle:before, .icon-questioncircle:after {
  content: ""; }
.icon-questionsolid:before, .icon-questionsolid:after {
  content: ""; }
.icon-plus:before, .icon-plus:after {
  content: ""; }
.icon-pluscircle:before, .icon-pluscircle:after {
  content: ""; }
.icon-plussolid:before, .icon-plussolid:after {
  content: ""; }
.icon-minus:before, .icon-minus:after {
  content: ""; }
.icon-minuscircle:before, .icon-minuscircle:after {
  content: ""; }
.icon-minussolid:before, .icon-minussolid:after {
  content: ""; }
.icon-close:before, .icon-close:after {
  content: ""; }
.icon-paddledown:before, .icon-paddledown:after {
  content: ""; }
.icon-paddleleft:before, .icon-paddleleft:after {
  content: ""; }
.icon-paddleright:before, .icon-paddleright:after {
  content: ""; }
.icon-paddleup:before, .icon-paddleup:after {
  content: ""; }

.more:before, .more:after {
  content: ""; }
.more-block {
  margin-top: .5em; }

body {
  min-width: 320px; }

.large-hide {
  display: none; }

.large-show {
  display: block; }

.large-show-inline {
  display: inline; }

.large-show-inlineblock {
  display: inline-block; }

@media only screen and (min-width: 1442px) {
  .xlarge-hide {
    display: none; }

  .xlarge-show {
    display: block; }

  .xlarge-show-inline {
    display: inline; }

  .xlarge-show-inlineblock {
    display: inline-block; } }
@media only screen and (max-width: 1068px) {
  .medium-hide {
    display: none; }

  .medium-show {
    display: block; }

  .medium-show-inline {
    display: inline; }

  .medium-show-inlineblock {
    display: inline-block; } }
@media only screen and (max-width: 735px) {
  .small-hide {
    display: none; }

  .small-show {
    display: block; }

  .small-show-inline {
    display: inline; }

  .small-show-inlineblock {
    display: inline-block; } }
.button {
  font-size: 16px;
  line-height: 1.9375;
  font-weight: 500;
  letter-spacing: 0em;
  font-family: "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  background-color: #0070c9;
  background: -webkit-linear-gradient(#42a1ec, #0070c9);
  background: linear-gradient(#42a1ec, #0070c9);
  border-color: #07c;
  border-width: 1px;
  border-style: solid;
  border-radius: 4px;
  color: white;
  cursor: pointer;
  display: inline-block;
  min-width: 30px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 1px;
  text-align: center;
  white-space: nowrap; }
  .button html.ie8 .button, html.ie8 .button .button, .button html.ie8 .button-compact, html.ie8 .button .button-compact {
    font-family: "Myriad Set Pro 500", "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  html.ie8 .button {
    font-weight: normal; }
  .button:lang(ar) html.ie8 .button:lang(ar), html.ie8 .button:lang(ar) .button:lang(ar), .button:lang(ar) html.ie8 .button-compact:lang(ar), html.ie8 .button:lang(ar) .button-compact:lang(ar) {
    font-family: "Gulf 500", "Gulf", "Myriad Set Pro 500", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
  .button:lang(ja-JP) html.ie8 .button:lang(ja-JP), html.ie8 .button:lang(ja-JP) .button:lang(ja-JP), .button:lang(ja-JP) html.ie8 .button-compact:lang(ja-JP), html.ie8 .button:lang(ja-JP) .button-compact:lang(ja-JP) {
    font-family: "Apple TP 500", "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(ko-KR) html.ie8 .button:lang(ko-KR), html.ie8 .button:lang(ko-KR) .button:lang(ko-KR), .button:lang(ko-KR) html.ie8 .button-compact:lang(ko-KR), html.ie8 .button:lang(ko-KR) .button-compact:lang(ko-KR) {
    font-family: "Yoon Gothic 500", "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(th-TH) html.ie8 .button:lang(th-TH), html.ie8 .button:lang(th-TH) .button:lang(th-TH), .button:lang(th-TH) html.ie8 .button-compact:lang(th-TH), html.ie8 .button:lang(th-TH) .button-compact:lang(th-TH) {
    font-family: "Sukhumvit Set 500", "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-CN) html.ie8 .button:lang(zh-CN), html.ie8 .button:lang(zh-CN) .button:lang(zh-CN), .button:lang(zh-CN) html.ie8 .button-compact:lang(zh-CN), html.ie8 .button:lang(zh-CN) .button-compact:lang(zh-CN) {
    font-family: "HanHei SC 500", "HanHei SC", "PingHei 500", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-HK) html.ie8 .button:lang(zh-HK), html.ie8 .button:lang(zh-HK) .button:lang(zh-HK), .button:lang(zh-HK) html.ie8 .button-compact:lang(zh-HK), html.ie8 .button:lang(zh-HK) .button-compact:lang(zh-HK) {
    font-family: "HanHei TC 500", "HanHei TC", "MHei 500", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-MO) html.ie8 .button:lang(zh-MO), html.ie8 .button:lang(zh-MO) .button:lang(zh-MO), .button:lang(zh-MO) html.ie8 .button-compact:lang(zh-MO), html.ie8 .button:lang(zh-MO) .button-compact:lang(zh-MO) {
    font-family: "HanHei TC 500", "HanHei TC", "MHei 500", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-TW) html.ie8 .button:lang(zh-TW), html.ie8 .button:lang(zh-TW) .button:lang(zh-TW), .button:lang(zh-TW) html.ie8 .button-compact:lang(zh-TW), html.ie8 .button:lang(zh-TW) .button-compact:lang(zh-TW) {
    font-family: "HanHei TC 500", "HanHei TC", "MHei 500", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(ar) {
    font-family: "Gulf", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
  .button:lang(ja-JP) {
    font-family: "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(ko-KR) {
    font-family: "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(th-TH) {
    font-family: "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-CN) {
    font-family: "HanHei SC", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-HK) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-MO) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:lang(zh-TW) {
    font-family: "HanHei TC", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .button:hover {
    background-color: #147bcd;
    background: -webkit-linear-gradient(#51a9ee, #147bcd);
    background: linear-gradient(#51a9ee, #147bcd);
    border-color: #1482d0;
    text-decoration: none; }
  .button:focus {
    box-shadow: 0 0 0 3px rgba(131, 192, 253, 0.5);
    outline: none; }
    .button:focus[data-focus-method="mouse"]:not(input):not(textarea):not(select), .button:focus[data-focus-method="touch"]:not(input):not(textarea):not(select) {
      box-shadow: none; }
    html.ie8 .button:focus {
      outline: 3px solid #c1e0fe; }
  .button:active {
    background-color: #0067b9;
    background: -webkit-linear-gradient(#3d94d9, #0067b9);
    background: linear-gradient(#3d94d9, #0067b9);
    border-color: #006dbc;
    outline: none; }
  .button:disabled, .button.disabled {
    background-color: #0070c9;
    background: -webkit-linear-gradient(#42a1ec, #0070c9);
    background: linear-gradient(#42a1ec, #0070c9);
    border-color: #07c;
    color: white;
    cursor: default;
    opacity: 0.3; }
    html.ie8 .button:disabled, html.ie8 .button.disabled {
      background-color: #b3d4ef; }

.button-compact {
  font-size: 13px;
  line-height: 1.46154;
  font-weight: 500;
  letter-spacing: 0em;
  min-width: 20px;
  padding-left: 10px;
  padding-right: 10px; }
  html.ie8 .button-compact {
    font-weight: normal; }
  .button-compact:lang(ja-JP) {
    font-size: 14px; }
  .button-compact:lang(ko-KR) {
    font-size: 14px; }

.button-block {
  box-sizing: border-box;
  display: block;
  width: 100%; }

.button-secondary {
  background-color: #e3e3e3;
  background: -webkit-linear-gradient(white, #e3e3e3);
  background: linear-gradient(white, #e3e3e3);
  border-color: #d6d6d6;
  color: #0070c9; }
  .button-secondary:hover {
    background-color: #eeeeee;
    background: -webkit-linear-gradient(white, #eeeeee);
    background: linear-gradient(white, #eeeeee);
    border-color: #d9d9d9; }
  .button-secondary:active {
    background-color: gainsboro;
    background: -webkit-linear-gradient(#f7f7f7, gainsboro);
    background: linear-gradient(#f7f7f7, gainsboro);
    border-color: #d0d0d0; }
  .button-secondary:disabled, .button-secondary.disabled {
    background-color: #e3e3e3;
    background: -webkit-linear-gradient(white, #e3e3e3);
    background: linear-gradient(white, #e3e3e3);
    border-color: #d6d6d6;
    color: #0070c9; }
    html.ie8 .button-secondary:disabled, html.ie8 .button-secondary.disabled {
      background-color: #eeeeee; }

.callout {
  border-radius: 4px;
  border: 1px solid #e3e3e3;
  background-color: #fafafa;
  margin: 1.11111em auto;
  padding: 1.66667em 4.44444em; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout-title {
    color: #333333;
    margin-top: 0;
    font-size: 32px;
    line-height: 1.125;
    font-weight: 300;
    letter-spacing: 0em; }
    .callout-title html.ie8 .callout-title, html.ie8 .callout-title .callout-title, .callout-title html.ie8 .intro, html.ie8 .callout-title .intro, .callout-title html.ie8 .section-content h2, html.ie8 .section-content .callout-title h2, .callout-title html.ie8 .section-content h3, html.ie8 .section-content .callout-title h3, .callout-title html.ie8 .section-content .subsection-subheadline, html.ie8 .section-content .callout-title .subsection-subheadline, .callout-title html.ie8 .section-hero .section-content .subsection-headline, html.ie8 .section-hero .section-content .callout-title .subsection-headline, .callout-title html.ie8 .vertical-divider h2, html.ie8 .vertical-divider .callout-title h2, .callout-title html.ie8 .page-reservation .section-copy h2, html.ie8 .page-reservation .section-copy .callout-title h2, .callout-title html.ie8 .page-confirmation .section-faqs h2, html.ie8 .page-confirmation .section-faqs .callout-title h2 {
      font-family: "Myriad Set Pro 300", "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .callout-title {
      font-weight: normal; }
    .callout-title:lang(ar) html.ie8 .callout-title:lang(ar), html.ie8 .callout-title:lang(ar) .callout-title:lang(ar), .callout-title:lang(ar) html.ie8 .intro:lang(ar), html.ie8 .callout-title:lang(ar) .intro:lang(ar), .callout-title:lang(ar) html.ie8 .section-content h2:lang(ar), html.ie8 .section-content .callout-title:lang(ar) h2:lang(ar), .callout-title:lang(ar) html.ie8 .section-content h3:lang(ar), html.ie8 .section-content .callout-title:lang(ar) h3:lang(ar), .callout-title:lang(ar) html.ie8 .section-content .subsection-subheadline:lang(ar), html.ie8 .section-content .callout-title:lang(ar) .subsection-subheadline:lang(ar), .callout-title:lang(ar) html.ie8 .section-hero .section-content .subsection-headline:lang(ar), html.ie8 .section-hero .section-content .callout-title:lang(ar) .subsection-headline:lang(ar), .callout-title:lang(ar) html.ie8 .vertical-divider h2:lang(ar), html.ie8 .vertical-divider .callout-title:lang(ar) h2:lang(ar), .callout-title:lang(ar) html.ie8 .page-reservation .section-copy h2:lang(ar), html.ie8 .page-reservation .section-copy .callout-title:lang(ar) h2:lang(ar), .callout-title:lang(ar) html.ie8 .page-confirmation .section-faqs h2:lang(ar), html.ie8 .page-confirmation .section-faqs .callout-title:lang(ar) h2:lang(ar) {
      font-family: "Gulf 300", "Gulf", "Myriad Set Pro 300", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(ja-JP) html.ie8 .callout-title:lang(ja-JP), html.ie8 .callout-title:lang(ja-JP) .callout-title:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .intro:lang(ja-JP), html.ie8 .callout-title:lang(ja-JP) .intro:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .section-content h2:lang(ja-JP), html.ie8 .section-content .callout-title:lang(ja-JP) h2:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .section-content h3:lang(ja-JP), html.ie8 .section-content .callout-title:lang(ja-JP) h3:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .section-content .subsection-subheadline:lang(ja-JP), html.ie8 .section-content .callout-title:lang(ja-JP) .subsection-subheadline:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .section-hero .section-content .subsection-headline:lang(ja-JP), html.ie8 .section-hero .section-content .callout-title:lang(ja-JP) .subsection-headline:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .vertical-divider h2:lang(ja-JP), html.ie8 .vertical-divider .callout-title:lang(ja-JP) h2:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .page-reservation .section-copy h2:lang(ja-JP), html.ie8 .page-reservation .section-copy .callout-title:lang(ja-JP) h2:lang(ja-JP), .callout-title:lang(ja-JP) html.ie8 .page-confirmation .section-faqs h2:lang(ja-JP), html.ie8 .page-confirmation .section-faqs .callout-title:lang(ja-JP) h2:lang(ja-JP) {
      font-family: "Apple TP 300", "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(ko-KR) html.ie8 .callout-title:lang(ko-KR), html.ie8 .callout-title:lang(ko-KR) .callout-title:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .intro:lang(ko-KR), html.ie8 .callout-title:lang(ko-KR) .intro:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .section-content h2:lang(ko-KR), html.ie8 .section-content .callout-title:lang(ko-KR) h2:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .section-content h3:lang(ko-KR), html.ie8 .section-content .callout-title:lang(ko-KR) h3:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .section-content .subsection-subheadline:lang(ko-KR), html.ie8 .section-content .callout-title:lang(ko-KR) .subsection-subheadline:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .section-hero .section-content .subsection-headline:lang(ko-KR), html.ie8 .section-hero .section-content .callout-title:lang(ko-KR) .subsection-headline:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .vertical-divider h2:lang(ko-KR), html.ie8 .vertical-divider .callout-title:lang(ko-KR) h2:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .page-reservation .section-copy h2:lang(ko-KR), html.ie8 .page-reservation .section-copy .callout-title:lang(ko-KR) h2:lang(ko-KR), .callout-title:lang(ko-KR) html.ie8 .page-confirmation .section-faqs h2:lang(ko-KR), html.ie8 .page-confirmation .section-faqs .callout-title:lang(ko-KR) h2:lang(ko-KR) {
      font-family: "Yoon Gothic 300", "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(th-TH) html.ie8 .callout-title:lang(th-TH), html.ie8 .callout-title:lang(th-TH) .callout-title:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .intro:lang(th-TH), html.ie8 .callout-title:lang(th-TH) .intro:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .section-content h2:lang(th-TH), html.ie8 .section-content .callout-title:lang(th-TH) h2:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .section-content h3:lang(th-TH), html.ie8 .section-content .callout-title:lang(th-TH) h3:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .section-content .subsection-subheadline:lang(th-TH), html.ie8 .section-content .callout-title:lang(th-TH) .subsection-subheadline:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .section-hero .section-content .subsection-headline:lang(th-TH), html.ie8 .section-hero .section-content .callout-title:lang(th-TH) .subsection-headline:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .vertical-divider h2:lang(th-TH), html.ie8 .vertical-divider .callout-title:lang(th-TH) h2:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .page-reservation .section-copy h2:lang(th-TH), html.ie8 .page-reservation .section-copy .callout-title:lang(th-TH) h2:lang(th-TH), .callout-title:lang(th-TH) html.ie8 .page-confirmation .section-faqs h2:lang(th-TH), html.ie8 .page-confirmation .section-faqs .callout-title:lang(th-TH) h2:lang(th-TH) {
      font-family: "Sukhumvit Set 300", "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(zh-CN) html.ie8 .callout-title:lang(zh-CN), html.ie8 .callout-title:lang(zh-CN) .callout-title:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .intro:lang(zh-CN), html.ie8 .callout-title:lang(zh-CN) .intro:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .section-content h2:lang(zh-CN), html.ie8 .section-content .callout-title:lang(zh-CN) h2:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .section-content h3:lang(zh-CN), html.ie8 .section-content .callout-title:lang(zh-CN) h3:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .section-content .subsection-subheadline:lang(zh-CN), html.ie8 .section-content .callout-title:lang(zh-CN) .subsection-subheadline:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .section-hero .section-content .subsection-headline:lang(zh-CN), html.ie8 .section-hero .section-content .callout-title:lang(zh-CN) .subsection-headline:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .vertical-divider h2:lang(zh-CN), html.ie8 .vertical-divider .callout-title:lang(zh-CN) h2:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .page-reservation .section-copy h2:lang(zh-CN), html.ie8 .page-reservation .section-copy .callout-title:lang(zh-CN) h2:lang(zh-CN), .callout-title:lang(zh-CN) html.ie8 .page-confirmation .section-faqs h2:lang(zh-CN), html.ie8 .page-confirmation .section-faqs .callout-title:lang(zh-CN) h2:lang(zh-CN) {
      font-family: "HanHei SC 300", "HanHei SC", "PingHei 300", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(zh-HK) html.ie8 .callout-title:lang(zh-HK), html.ie8 .callout-title:lang(zh-HK) .callout-title:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .intro:lang(zh-HK), html.ie8 .callout-title:lang(zh-HK) .intro:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .section-content h2:lang(zh-HK), html.ie8 .section-content .callout-title:lang(zh-HK) h2:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .section-content h3:lang(zh-HK), html.ie8 .section-content .callout-title:lang(zh-HK) h3:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .section-content .subsection-subheadline:lang(zh-HK), html.ie8 .section-content .callout-title:lang(zh-HK) .subsection-subheadline:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .section-hero .section-content .subsection-headline:lang(zh-HK), html.ie8 .section-hero .section-content .callout-title:lang(zh-HK) .subsection-headline:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .vertical-divider h2:lang(zh-HK), html.ie8 .vertical-divider .callout-title:lang(zh-HK) h2:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .page-reservation .section-copy h2:lang(zh-HK), html.ie8 .page-reservation .section-copy .callout-title:lang(zh-HK) h2:lang(zh-HK), .callout-title:lang(zh-HK) html.ie8 .page-confirmation .section-faqs h2:lang(zh-HK), html.ie8 .page-confirmation .section-faqs .callout-title:lang(zh-HK) h2:lang(zh-HK) {
      font-family: "HanHei TC 300", "HanHei TC", "MHei 300", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(zh-MO) html.ie8 .callout-title:lang(zh-MO), html.ie8 .callout-title:lang(zh-MO) .callout-title:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .intro:lang(zh-MO), html.ie8 .callout-title:lang(zh-MO) .intro:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .section-content h2:lang(zh-MO), html.ie8 .section-content .callout-title:lang(zh-MO) h2:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .section-content h3:lang(zh-MO), html.ie8 .section-content .callout-title:lang(zh-MO) h3:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .section-content .subsection-subheadline:lang(zh-MO), html.ie8 .section-content .callout-title:lang(zh-MO) .subsection-subheadline:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .section-hero .section-content .subsection-headline:lang(zh-MO), html.ie8 .section-hero .section-content .callout-title:lang(zh-MO) .subsection-headline:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .vertical-divider h2:lang(zh-MO), html.ie8 .vertical-divider .callout-title:lang(zh-MO) h2:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .page-reservation .section-copy h2:lang(zh-MO), html.ie8 .page-reservation .section-copy .callout-title:lang(zh-MO) h2:lang(zh-MO), .callout-title:lang(zh-MO) html.ie8 .page-confirmation .section-faqs h2:lang(zh-MO), html.ie8 .page-confirmation .section-faqs .callout-title:lang(zh-MO) h2:lang(zh-MO) {
      font-family: "HanHei TC 300", "HanHei TC", "MHei 300", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .callout-title:lang(zh-TW) html.ie8 .callout-title:lang(zh-TW), html.ie8 .callout-title:lang(zh-TW) .callout-title:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .intro:lang(zh-TW), html.ie8 .callout-title:lang(zh-TW) .intro:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .section-content h2:lang(zh-TW), html.ie8 .section-content .callout-title:lang(zh-TW) h2:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .section-content h3:lang(zh-TW), html.ie8 .section-content .callout-title:lang(zh-TW) h3:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .section-content .subsection-subheadline:lang(zh-TW), html.ie8 .section-content .callout-title:lang(zh-TW) .subsection-subheadline:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .section-hero .section-content .subsection-headline:lang(zh-TW), html.ie8 .section-hero .section-content .callout-title:lang(zh-TW) .subsection-headline:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .vertical-divider h2:lang(zh-TW), html.ie8 .vertical-divider .callout-title:lang(zh-TW) h2:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .page-reservation .section-copy h2:lang(zh-TW), html.ie8 .page-reservation .section-copy .callout-title:lang(zh-TW) h2:lang(zh-TW), .callout-title:lang(zh-TW) html.ie8 .page-confirmation .section-faqs h2:lang(zh-TW), html.ie8 .page-confirmation .section-faqs .callout-title:lang(zh-TW) h2:lang(zh-TW) {
      font-family: "HanHei TC 300", "HanHei TC", "MHei 300", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    @media only screen and (max-width: 1068px) {
      .callout-title {
        font-size: 28px;
        line-height: 1.14286;
        font-weight: 300;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 735px) {
      .callout-title {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .callout-title:lang(th) {
      line-height: 1.21875; }
      @media only screen and (max-width: 1068px) {
        .callout-title:lang(th) {
          line-height: 1.25; } }
      @media only screen and (max-width: 735px) {
        .callout-title:lang(th) {
          line-height: 1.29167; } }
    .callout-title:lang(zh) {
      font-size: 30px; }
      @media only screen and (max-width: 1068px) {
        .callout-title:lang(zh) {
          font-size: 26px; } }
      @media only screen and (max-width: 735px) {
        .callout-title:lang(zh) {
          font-size: 22px; } }
  .callout-copy {
    color: #666666;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0em;
    margin-top: 10px;
    margin-bottom: 6px; }
    .callout-copy:lang(zh) {
      font-size: 14px; }

.callout-environment {
  background-color: #f6f6ee;
  border-color: transparent;
  margin: 1.11111em auto;
  padding: 1.66667em 4.44444em; }
  .callout-environment .callout-title {
    color: #548c8c; }
  .callout-environment .callout-copy {
    color: #333333; }

.sosumi {
  font-size: 12px;
  line-height: 1.33341;
  font-weight: 400;
  letter-spacing: 0em;
  color: #999999; }
  .sosumi * {
    margin: 0;
    padding: 0; }
  .sosumi a, .sosumi .page-reservation button.more, .page-reservation .sosumi button.more {
    color: #666666; }
  .sosumi ul {
    list-style: none; }
  .sosumi ol {
    list-style: decimal outside;
    padding-left: 1.33333em;
    padding-right: 1.33333em; }
  .sosumi li,
  .sosumi p {
    padding-bottom: 0.41667em; }
  .sosumi small {
    font-size: 1em; }
  .sosumi > :last-child {
    margin-bottom: -0.41667em; }

.colornav {
  display: inline-block;
  text-align: center; }

.colornav-title {
  font-size: 18px;
  line-height: 1.33345;
  font-weight: 400;
  letter-spacing: 0em;
  border-bottom: 1px solid #d6d6d6;
  margin: 0;
  padding: 10px 0; }
  @media only screen and (max-width: 1068px) {
    .colornav-title {
      font-size: 16px;
      line-height: 1.375;
      font-weight: 400;
      letter-spacing: 0em; } }

.colornav-items {
  display: inline-block;
  list-style: none;
  margin: 0 -2px;
  padding-top: 15px; }
  @media only screen and (max-width: 1068px) {
    .colornav-items {
      margin-left: 1px;
      margin-right: 1px;
      padding-top: 12px; } }

.colornav-item {
  float: left;
  margin: 0 6px; }
  @media only screen and (max-width: 1068px) {
    .colornav-item {
      margin-left: 5px;
      margin-right: 5px; } }

.colornav-link {
  border: 1px solid transparent;
  border-radius: 50%;
  box-sizing: border-box;
  color: #333333;
  cursor: pointer;
  float: left;
  margin-bottom: 1.78889em;
  padding: 3px;
  position: relative;
  width: 40px;
  height: 40px;
  z-index: 1; }
  @media only screen and (max-width: 1068px) {
    .colornav-link {
      margin-bottom: 1.45556em;
      padding: 2px;
      width: 34px;
      height: 34px; } }
  .colornav-link:hover {
    border-color: #d6d6d6;
    text-decoration: none; }
  .colornav-link.current {
    border-color: #0070c9;
    cursor: default; }

.colornav-swatch {
  background: #cccccc center center;
  border-radius: 50%;
  box-shadow: inset 0 0 1px 0 rgba(102, 102, 102, 0.5);
  display: block;
  width: 32px;
  height: 32px; }
  @media only screen and (max-width: 1068px) {
    .colornav-swatch {
      width: 28px;
      height: 28px; } }
  .colornav-swatch:after {
    border-radius: inherit;
    box-shadow: inset 0 2px 1.5px rgba(0, 0, 0, 0.1);
    content: '';
    display: block;
    height: inherit;
    position: absolute;
    width: inherit; }

.colornav-label, .colornav-label-hidden {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
          clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0; }
.colornav-link.current .colornav-label {
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0em;
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  margin-left: -50px;
  padding-top: 8px;
  position: absolute;
  top: 100%;
  left: 50%;
  text-align: center;
  white-space: nowrap;
  width: 100px;
  height: auto;
  z-index: 1; }
  @media only screen and (max-width: 1068px) {
    .colornav-link.current .colornav-label {
      font-size: 10px;
      line-height: 1.2;
      font-weight: 500;
      letter-spacing: 0em; } }
  @media only screen and (max-width: 1068px) {
    .colornav-link.current .colornav-label {
      padding-top: 4px; } }

.theme-dark .colornav .colornav-title {
  border-color: #444444; }
.theme-dark .colornav .colornav-link {
  color: #cccccc; }
  .theme-dark .colornav .colornav-link:hover {
    border-color: #444444; }
  .theme-dark .colornav .colornav-link.current {
    border-color: #66bbff; }
.theme-dark .colornav-swatch {
  box-shadow: inset 0 0 1px 0 rgba(153, 153, 153, 0.5); }

.colornav-swatch-silver {
  background-color: #e2e3e4; }

.colornav-swatch-gold {
  background-color: #e3ccb4; }

.colornav-swatch-spacegray {
  background-color: #b1b2b7; }

.colornav-swatch-rosegold {
  background-color: #ecc6c1; }

.colornav-swatch-spaceblack {
  background-color: #1c1d1e; }

.colornav-swatch-silicone-black {
  background-color: #404040; }

.colornav-swatch-silicone-white {
  background-color: #f2f1ef; }

.colornav-swatch-silicone-stone {
  background-color: #bdb6b0; }

.colornav-swatch-silicone-yellow {
  background-color: #ffe092; }

.colornav-swatch-silicone-darkyellow {
  background-color: #eec643; }

.colornav-swatch-silicone-red {
  background-color: #d63437; }

.colornav-swatch-silicone-apricot {
  background-color: #fc6454; }

.colornav-swatch-silicone-lightpink {
  background-color: #f9bed2; }

.colornav-swatch-silicone-antiquewhite {
  background-color: #e6e0d6; }

.colornav-swatch-silicone-midnightblue {
  background-color: #3b3f50; }

.colornav-swatch-silicone-lavender {
  background-color: #bdb2bc; }

.colornav-swatch-silicone-lilac {
  background-color: #adbee2; }

.colornav-swatch-silicone-royalblue {
  background-color: #4976bc; }

.colornav-swatch-silicone-mint {
  background-color: #a2bd90; }

.colornav-swatch-silicone-charcoalgray {
  background-color: #4a4d52; }

.colornav-swatch-leather-saddlebrown {
  background-color: #9d6040; }

.colornav-swatch-leather-red {
  background-color: #c54533; }

.colornav-swatch-leather-white {
  background-color: #dcd9d2; }

.colornav-swatch-leather-marigold {
  background-color: #e9bf63; }

.colornav-swatch-leather-bluejay {
  background-color: #7fa8b3; }

.colornav-swatch-leather-midnightblue {
  background-color: #45495a; }

.colornav-swatch-leather-stormgray {
  background-color: #5f5b5d; }

.colornav-swatch-leather-marineblue {
  background-color: #4e8196; }

.colornav-swatch-leather-black {
  background-color: #292929; }

.colornav-item-productred {
  padding-right: 76px; }

.colornav-logo-productred {
  width: 72px;
  height: 16px;
  background-size: 72px 16px;
  background-repeat: no-repeat;
  background-image: url();
  margin-top: -8px;
  margin-left: 4px;
  position: absolute;
  left: 100%;
  top: 50%;
  z-index: 1; }

.form-alert {
  font-size: 16px;
  line-height: 1.1875;
  font-weight: 400;
  letter-spacing: 0em;
  background-color: rgba(242, 242, 242, 0.4);
  background-clip: padding-box;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  padding: 15px 16px;
  margin-bottom: 21px;
  margin-top: 20px; }
  @media only screen and (max-width: 414px) {
    .form-alert {
      padding: 15px 16px 19px;
      margin-bottom: 18px;
      margin-top: 18px; } }
  .form-alert.is-error {
    border-color: rgba(238, 0, 0, 0.2);
    background-color: rgba(238, 0, 0, 0.08); }

.form-alert-title {
  font-size: 16px;
  line-height: 1.0625;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: 11px; }
  @media only screen and (max-width: 414px) {
    .form-alert-title {
      margin-top: 2px;
      margin-bottom: 10px; } }

.form-sectionnumber {
  padding-right: 0;
  list-style-type: none;
  margin-left: 32px;
  margin-top: 2em; }
  @media only screen and (max-width: 1068px) {
    .form-sectionnumber {
      margin-left: 28px; } }
  @media only screen and (max-width: 414px) {
    .form-sectionnumber {
      margin-left: 0; } }
  @media only screen and (max-width: 1068px) {
    .form-sectionnumber.form-sectionnumber-reset {
      margin-left: 18px; } }
  @media only screen and (max-width: 414px) {
    .form-sectionnumber.form-sectionnumber-reset {
      margin-left: 0; } }
  .form-sectionnumber .form-title {
    display: inline-block;
    padding-left: 0; }
    @media only screen and (max-width: 414px) {
      .form-sectionnumber .form-title {
        padding-left: 25px; } }

.form-sectionnumber-reset {
  counter-reset: step-counter;
  margin-top: 0; }
  @media only screen and (max-width: 1068px) {
    .form-sectionnumber-reset .form-sectionnumber-section {
      padding-left: 10px; } }
  @media only screen and (max-width: 414px) {
    .form-sectionnumber-reset .form-sectionnumber-section {
      margin-bottom: 11px;
      padding-left: 0; } }
  .form-sectionnumber-reset .form-title {
    margin-bottom: 0; }

.form-sectionnumber-section {
  counter-increment: step-counter;
  margin-bottom: 8px;
  width: 100%;
  position: relative; }
  @media only screen and (max-width: 1068px) {
    .form-sectionnumber-section {
      margin-left: 0;
      margin-bottom: 13px; } }
  .form-sectionnumber-section .form-title {
    font-size: 28px;
    line-height: 1.17865;
    font-weight: 200;
    letter-spacing: 0em; }
    .form-sectionnumber-section .form-title html.ie8 .form-title, html.ie8 .form-sectionnumber-section .form-title .form-title, .form-sectionnumber-section .form-title html.ie8 .product-specs .product-title, html.ie8 .product-specs .form-sectionnumber-section .form-title .product-title, .form-sectionnumber-section .form-title html.ie8 .page-sms .steps h2, html.ie8 .page-sms .steps .form-sectionnumber-section .form-title h2 {
      font-family: "Myriad Set Pro 200", "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .form-sectionnumber-section .form-title {
      font-weight: normal; }
    .form-sectionnumber-section .form-title:lang(ar) html.ie8 .form-title:lang(ar), html.ie8 .form-sectionnumber-section .form-title:lang(ar) .form-title:lang(ar), .form-sectionnumber-section .form-title:lang(ar) html.ie8 .product-specs .product-title:lang(ar), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(ar) .product-title:lang(ar), .form-sectionnumber-section .form-title:lang(ar) html.ie8 .page-sms .steps h2:lang(ar), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(ar) h2:lang(ar) {
      font-family: "Gulf 200", "Gulf", "Myriad Set Pro 200", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(ja-JP) html.ie8 .form-title:lang(ja-JP), html.ie8 .form-sectionnumber-section .form-title:lang(ja-JP) .form-title:lang(ja-JP), .form-sectionnumber-section .form-title:lang(ja-JP) html.ie8 .product-specs .product-title:lang(ja-JP), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(ja-JP) .product-title:lang(ja-JP), .form-sectionnumber-section .form-title:lang(ja-JP) html.ie8 .page-sms .steps h2:lang(ja-JP), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(ja-JP) h2:lang(ja-JP) {
      font-family: "Apple TP 200", "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(ko-KR) html.ie8 .form-title:lang(ko-KR), html.ie8 .form-sectionnumber-section .form-title:lang(ko-KR) .form-title:lang(ko-KR), .form-sectionnumber-section .form-title:lang(ko-KR) html.ie8 .product-specs .product-title:lang(ko-KR), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(ko-KR) .product-title:lang(ko-KR), .form-sectionnumber-section .form-title:lang(ko-KR) html.ie8 .page-sms .steps h2:lang(ko-KR), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(ko-KR) h2:lang(ko-KR) {
      font-family: "Yoon Gothic 200", "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(th-TH) html.ie8 .form-title:lang(th-TH), html.ie8 .form-sectionnumber-section .form-title:lang(th-TH) .form-title:lang(th-TH), .form-sectionnumber-section .form-title:lang(th-TH) html.ie8 .product-specs .product-title:lang(th-TH), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(th-TH) .product-title:lang(th-TH), .form-sectionnumber-section .form-title:lang(th-TH) html.ie8 .page-sms .steps h2:lang(th-TH), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(th-TH) h2:lang(th-TH) {
      font-family: "Sukhumvit Set 200", "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(zh-CN) html.ie8 .form-title:lang(zh-CN), html.ie8 .form-sectionnumber-section .form-title:lang(zh-CN) .form-title:lang(zh-CN), .form-sectionnumber-section .form-title:lang(zh-CN) html.ie8 .product-specs .product-title:lang(zh-CN), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(zh-CN) .product-title:lang(zh-CN), .form-sectionnumber-section .form-title:lang(zh-CN) html.ie8 .page-sms .steps h2:lang(zh-CN), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(zh-CN) h2:lang(zh-CN) {
      font-family: "HanHei SC 200", "HanHei SC", "PingHei 200", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(zh-HK) html.ie8 .form-title:lang(zh-HK), html.ie8 .form-sectionnumber-section .form-title:lang(zh-HK) .form-title:lang(zh-HK), .form-sectionnumber-section .form-title:lang(zh-HK) html.ie8 .product-specs .product-title:lang(zh-HK), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(zh-HK) .product-title:lang(zh-HK), .form-sectionnumber-section .form-title:lang(zh-HK) html.ie8 .page-sms .steps h2:lang(zh-HK), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(zh-HK) h2:lang(zh-HK) {
      font-family: "HanHei TC 200", "HanHei TC", "MHei 200", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(zh-MO) html.ie8 .form-title:lang(zh-MO), html.ie8 .form-sectionnumber-section .form-title:lang(zh-MO) .form-title:lang(zh-MO), .form-sectionnumber-section .form-title:lang(zh-MO) html.ie8 .product-specs .product-title:lang(zh-MO), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(zh-MO) .product-title:lang(zh-MO), .form-sectionnumber-section .form-title:lang(zh-MO) html.ie8 .page-sms .steps h2:lang(zh-MO), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(zh-MO) h2:lang(zh-MO) {
      font-family: "HanHei TC 200", "HanHei TC", "MHei 200", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .form-sectionnumber-section .form-title:lang(zh-TW) html.ie8 .form-title:lang(zh-TW), html.ie8 .form-sectionnumber-section .form-title:lang(zh-TW) .form-title:lang(zh-TW), .form-sectionnumber-section .form-title:lang(zh-TW) html.ie8 .product-specs .product-title:lang(zh-TW), html.ie8 .product-specs .form-sectionnumber-section .form-title:lang(zh-TW) .product-title:lang(zh-TW), .form-sectionnumber-section .form-title:lang(zh-TW) html.ie8 .page-sms .steps h2:lang(zh-TW), html.ie8 .page-sms .steps .form-sectionnumber-section .form-title:lang(zh-TW) h2:lang(zh-TW) {
      font-family: "HanHei TC 200", "HanHei TC", "MHei 200", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    @media only screen and (max-width: 1068px) {
      .form-sectionnumber-section .form-title {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 200;
        letter-spacing: 0em; } }
  .form-sectionnumber-section:before {
    font-size: 12px;
    line-height: 21px;
    font-weight: 400;
    position: absolute;
    content: counter(step-counter);
    border: 1px solid #333333;
    border-radius: 50%;
    display: inline-block;
    height: 1.59em;
    margin-left: -31px;
    margin-right: 10px;
    margin-top: 4px;
    text-align: center;
    width: 1.59em;
    vertical-align: middle; }
    @media only screen and (max-width: 1068px) {
      .form-sectionnumber-section:before {
        font-size: 11px;
        line-height: 19px;
        height: 16px;
        width: 16px;
        margin-left: -27px; } }
    @media only screen and (max-width: 414px) {
      .form-sectionnumber-section:before {
        margin-left: 0;
        margin-right: 7px; } }
  .form-sectionnumber-section.is-disabled {
    opacity: 0.3; }

.is-hidden.form-sectionnumber-section:before {
  display: none; }
.is-hidden.form-sectionnumber {
  margin-left: 0; }
@media only screen and (max-width: 1068px) {
  .is-hidden .form-sectionnumber {
    margin-left: 28px; } }
@media only screen and (max-width: 414px) {
  .is-hidden .form-sectionnumber {
    margin-left: 0; } }
.is-hidden .form-sectionnumber-section {
  padding-left: 0; }
@media only screen and (max-width: 1068px) {
  .is-hidden.form-sectionnumber-section > .form-title {
    padding-left: 0; } }

.form-icons {
  position: relative;
  display: inline-block;
  background-size: 15px;
  width: 15px;
  height: 15px;
  top: 3px;
  left: 0.19em; }
  .form-icons.form-icons-circle13 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28153%2C153%2C153%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.688-0.689%2C1.49-1.23%2C2.383-1.607c0.925-0.392%2C1.908-0.59%2C2.92-0.59%20%20%20c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 13px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-circle13 {
      background-image: url();
      background-position: 0 -107px; }
  .form-icons.form-icons-checkalt13 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpolygon%20fill%3D%22rgb%2851%2C153%2C0%29%22%20points%3D%22-201.224%2C146.927%20-203.702%2C144.399%20-203.01%2C143.722%20-201.218%2C145.55%20-197.522%2C141.844%20%20%20%20%20-196.837%2C142.527%20%20%22%2F%3E%20%3Cpath%20fill%3D%22rgb%2851%2C153%2C0%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.689-0.689%2C1.491-1.229%2C2.384-1.607c0.924-0.392%2C1.907-0.59%2C2.919-0.59%20%20%20%20s1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
    background-size: 13px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-checkalt13 {
      background-image: url();
      background-position: -20px -267px; }
  .form-icons.form-icons-unvalidatedalt13 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-200.5%2C137c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607%20%20%20%20c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.919%20%20%20%20c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607c-0.924%2C0.392-1.907%2C0.59-2.919%2C0.59%20%20%20%20s-1.995-0.198-2.92-0.59c-0.893-0.378-1.695-0.918-2.384-1.607c-0.689-0.689-1.229-1.491-1.607-2.384%20%20%20%20c-0.391-0.924-0.589-1.907-0.589-2.919s0.198-1.995%2C0.59-2.92c0.378-0.893%2C0.918-1.695%2C1.607-2.384%20%20%20%20c0.689-0.689%2C1.491-1.229%2C2.384-1.607C-202.495%2C137.198-201.512%2C137-200.5%2C137z%20M-200.5%2C151.033c0.882%2C0%2C1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4c-0.805-0.341-1.661-0.513-2.543-0.513s-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4s-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4C-202.238%2C150.861-201.382%2C151.033-200.5%2C151.033z%22%2F%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-200.487%2C146.853c-0.238%2C0-0.437%2C0.075-0.59%2C0.224c-0.154%2C0.149-0.232%2C0.346-0.232%2C0.585%20%20%20%20%20c0%2C0.238%2C0.076%2C0.435%2C0.225%2C0.584s0.346%2C0.224%2C0.584%2C0.224c0.229%2C0%2C0.424-0.078%2C0.577-0.231c0.154-0.153%2C0.232-0.348%2C0.232-0.578%20%20%20%20%20c0-0.23-0.075-0.424-0.224-0.577S-200.256%2C146.853-200.487%2C146.853z%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697l0%2C0c-0.397%2C0-0.568-0.312-0.568-0.697%20%20%20%20c0%2C0-0.338-3.428-0.278-3.879c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675%20%20%20%20C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
    background-size: 13px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-unvalidatedalt13 {
      background-image: url();
      background-position: -40px -187px; }
  .form-icons.form-icons-info15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%280%2C112%2C201%29%22%20d%3D%22M-193.549%2C141.678c-0.377-0.931-0.932-1.765-1.648-2.481c-0.716-0.716-1.551-1.27-2.481-1.648%20%20%20c-0.899-0.364-1.848-0.549-2.822-0.549s-1.923%2C0.185-2.822%2C0.549c-0.931%2C0.377-1.765%2C0.932-2.481%2C1.648%20%20%20c-0.716%2C0.716-1.27%2C1.551-1.648%2C2.481c-0.364%2C0.899-0.549%2C1.848-0.549%2C2.822s0.185%2C1.923%2C0.549%2C2.822%20%20%20c0.377%2C0.931%2C0.932%2C1.766%2C1.647%2C2.481c0.716%2C0.716%2C1.551%2C1.27%2C2.481%2C1.647c0.9%2C0.365%2C1.849%2C0.55%2C2.823%2C0.55s1.923-0.185%2C2.822-0.549%20%20%20c0.931-0.377%2C1.766-0.932%2C2.481-1.647c0.716-0.716%2C1.27-1.551%2C1.647-2.481c0.365-0.9%2C0.55-1.849%2C0.55-2.823%20%20%20S-193.185%2C142.577-193.549%2C141.678z%20M-199.923%2C148.239c-0.154%2C0.154-0.348%2C0.231-0.577%2C0.231c-0.238%2C0-0.435-0.075-0.584-0.224%20%20%20s-0.225-0.346-0.225-0.584c0-0.239%2C0.078-0.436%2C0.232-0.585c0.154-0.149%2C0.352-0.224%2C0.59-0.224c0.23%2C0%2C0.423%2C0.078%2C0.571%2C0.232%20%20%20c0.149%2C0.153%2C0.224%2C0.347%2C0.224%2C0.577C-199.691%2C147.891-199.769%2C148.086-199.923%2C148.239z%20M-199.508%2C144.277%20%20%20c-0.411%2C0.346-0.301%2C0.551-0.368%2C1.096c-0.041%2C0.332-0.391%2C0.455-0.583%2C0.463c-0.219%2C0.009-0.641-0.136-0.676-0.473%20%20%20c-0.06-0.578%2C0.032-0.784%2C0.127-1.022c0.312-0.783%2C1.387-1.003%2C1.401-1.793c0.019-1.047-1.509-1.36-1.803-0.187%20%20%20c-0.127%2C0.507-1.096%2C0.465-1.069-0.124c-0.001-0.473%2C0.287-0.983%2C0.724-1.332c0.744-0.595%2C2.8-0.615%2C3.237%2C1.132%20%20%20C-198.262%2C143.055-198.732%2C143.621-199.508%2C144.277z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-info15 {
      background-image: url();
      background-position: -100px -5px; }
  .form-icons.form-icons-circle15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28153%2C153%2C153%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.688-0.689%2C1.49-1.23%2C2.383-1.607c0.925-0.392%2C1.908-0.59%2C2.92-0.59%20%20%20c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-circle15 {
      background-image: url();
      background-position: 0 -85px; }
  .form-icons.form-icons-checkalt15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpolygon%20fill%3D%22rgb%2851%2C153%2C0%29%22%20points%3D%22-201.224%2C146.927%20-203.702%2C144.399%20-203.01%2C143.722%20-201.218%2C145.55%20-197.522%2C141.844%20%20%20%20%20-196.837%2C142.527%20%20%22%2F%3E%20%3Cpath%20fill%3D%22rgb%2851%2C153%2C0%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.689-0.689%2C1.491-1.229%2C2.384-1.607c0.924-0.392%2C1.907-0.59%2C2.919-0.59%20%20%20%20s1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-checkalt15 {
      background-image: url();
      background-position: -20px -245px; }
  .form-icons.form-icons-unvalidatedalt15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-200.5%2C137c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607%20%20%20%20c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.919%20%20%20%20c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607c-0.924%2C0.392-1.907%2C0.59-2.919%2C0.59%20%20%20%20s-1.995-0.198-2.92-0.59c-0.893-0.378-1.695-0.918-2.384-1.607c-0.689-0.689-1.229-1.491-1.607-2.384%20%20%20%20c-0.391-0.924-0.589-1.907-0.589-2.919s0.198-1.995%2C0.59-2.92c0.378-0.893%2C0.918-1.695%2C1.607-2.384%20%20%20%20c0.689-0.689%2C1.491-1.229%2C2.384-1.607C-202.495%2C137.198-201.512%2C137-200.5%2C137z%20M-200.5%2C151.033c0.882%2C0%2C1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4c-0.805-0.341-1.661-0.513-2.543-0.513s-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4s-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4C-202.238%2C150.861-201.382%2C151.033-200.5%2C151.033z%22%2F%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-200.487%2C146.853c-0.238%2C0-0.437%2C0.075-0.59%2C0.224c-0.154%2C0.149-0.232%2C0.346-0.232%2C0.585%20%20%20%20%20c0%2C0.238%2C0.076%2C0.435%2C0.225%2C0.584s0.346%2C0.224%2C0.584%2C0.224c0.229%2C0%2C0.424-0.078%2C0.577-0.231c0.154-0.153%2C0.232-0.348%2C0.232-0.578%20%20%20%20%20c0-0.23-0.075-0.424-0.224-0.577S-200.256%2C146.853-200.487%2C146.853z%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697l0%2C0c-0.397%2C0-0.568-0.312-0.568-0.697%20%20%20%20c0%2C0-0.338-3.428-0.278-3.879c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675%20%20%20%20C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-unvalidatedalt15 {
      background-image: url();
      background-position: -40px -165px; }
  .form-icons.form-icons-unvalidated15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-193.59%2C141.581c-0.378-0.893-0.918-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.392-1.907-0.59-2.919-0.59s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.392%2C0.924-0.59%2C1.907-0.59%2C2.919s0.198%2C1.995%2C0.59%2C2.919%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.924%2C0.392%2C1.907%2C0.59%2C2.919%2C0.59%20%20%20s1.995-0.198%2C2.92-0.59c0.893-0.378%2C1.695-0.919%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.391-0.924%2C0.589-1.907%2C0.589-2.919S-193.198%2C142.505-193.59%2C141.581z%20M-199.923%2C148.239c-0.154%2C0.154-0.348%2C0.231-0.577%2C0.231%20%20%20c-0.238%2C0-0.435-0.075-0.584-0.224s-0.225-0.346-0.225-0.584c0-0.239%2C0.078-0.436%2C0.232-0.585c0.154-0.149%2C0.352-0.224%2C0.59-0.224%20%20%20c0.23%2C0%2C0.423%2C0.078%2C0.571%2C0.232c0.149%2C0.153%2C0.224%2C0.347%2C0.224%2C0.577C-199.691%2C147.891-199.769%2C148.086-199.923%2C148.239z%20%20%20%20M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697s-0.568-0.312-0.568-0.697c0%2C0-0.338-3.428-0.278-3.879%20%20%20c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-unvalidated15 {
      background-image: url();
      background-position: -60px -165px; }
  .form-icons.form-icons-clearsolid15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28184%2C184%2C184%29%22%20d%3D%22M-193.59%2C141.58c-0.378-0.893-0.918-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.391-1.907-0.589-2.919-0.589s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.392%2C0.924-0.59%2C1.907-0.59%2C2.919s0.198%2C1.995%2C0.59%2C2.92%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.924%2C0.391%2C1.907%2C0.589%2C2.919%2C0.589%20%20%20s1.995-0.198%2C2.919-0.59c0.893-0.378%2C1.695-0.918%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.392-0.924%2C0.59-1.907%2C0.59-2.919S-193.198%2C142.505-193.59%2C141.58z%20M-197.412%2C146.913l-0.677%2C0.678l-2.412-2.413l-2.41%2C2.413%20%20%20l-0.677-0.678l2.411-2.411l-2.411-2.411l0.677-0.676l2.41%2C2.411l2.412-2.411l0.677%2C0.676l-2.413%2C2.411L-197.412%2C146.913z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-clearsolid15 {
      background-image: url();
      background-position: -80px -85px; }
  .form-icons.form-icons-add15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%280%2C112%2C201%29%22%20d%3D%22M-193.549%2C141.678c-0.377-0.931-0.932-1.765-1.648-2.481c-0.716-0.716-1.551-1.27-2.481-1.648%20%20%20c-0.899-0.364-1.848-0.549-2.822-0.549s-1.923%2C0.185-2.822%2C0.549c-0.931%2C0.377-1.765%2C0.932-2.481%2C1.648%20%20%20c-0.716%2C0.716-1.27%2C1.551-1.648%2C2.481c-0.364%2C0.899-0.549%2C1.848-0.549%2C2.822s0.185%2C1.923%2C0.549%2C2.822%20%20%20c0.377%2C0.931%2C0.932%2C1.766%2C1.647%2C2.481c0.716%2C0.716%2C1.551%2C1.27%2C2.481%2C1.647c0.9%2C0.365%2C1.849%2C0.55%2C2.823%2C0.55s1.923-0.185%2C2.822-0.549%20%20%20c0.931-0.377%2C1.766-0.932%2C2.481-1.647c0.716-0.716%2C1.27-1.551%2C1.647-2.481c0.365-0.9%2C0.55-1.849%2C0.55-2.823%20%20%20S-193.185%2C142.577-193.549%2C141.678z%20M-196.984%2C144.97h-3.051V148h-0.934v-3.03h-3.046v-0.934h3.046v-3.052h0.934v3.051h3.051%20%20%20C-196.984%2C144.035-196.984%2C144.97-196.984%2C144.97z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-add15 {
      background-image: url();
      background-position: -120px -5px; }
  .form-icons.form-icons-remove15 {
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28238%2C0%2C0%29%22%20d%3D%22M-193.59%2C141.579c-0.378-0.893-0.919-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.391-1.907-0.589-2.919-0.589s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.391%2C0.925-0.59%2C1.907-0.59%2C2.919c0%2C1.012%2C0.198%2C1.995%2C0.59%2C2.92%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.925%2C0.391%2C1.907%2C0.59%2C2.919%2C0.59%20%20%20s1.995-0.198%2C2.919-0.59c0.893-0.378%2C1.695-0.918%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.391-0.925%2C0.59-1.907%2C0.59-2.92S-193.198%2C142.505-193.59%2C141.579z%20M-197.016%2C144.966l-3.007%2C0.001h-0.957l-3.02-0.001v-0.934%20%20%20l3.021%2C0.001h0.957l3.007-0.001v0.934H-197.016z%22%2F%3E%20%3C%2Fsvg%3E);
    background-size: 15px;
    background-repeat: no-repeat; }
    html.ie8 .form-icons.form-icons-remove15 {
      background-image: url();
      background-position: -140px -165px; }
  .form-icons .form-icons-message {
    text-decoration: none; }
  .form-icons.icon-before:before {
    top: -0.015em;
    padding-left: 0.3em;
    padding-right: 0; }
  .form-icons.icon:hover {
    text-decoration: none; }

.form-icons-wrapper {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: 6px; }
  @media only screen and (max-width: 414px) {
    .form-icons-wrapper {
      margin-bottom: 4px; } }
  .form-icons-wrapper.form-label {
    margin-top: 2px;
    margin-bottom: 6px; }
    @media only screen and (max-width: 414px) {
      .form-icons-wrapper.form-label {
        margin-top: 2px;
        margin-bottom: 6px; } }
  .form-icons-wrapper .form-icons + .form-label.form-tooltip-text {
    margin-left: auto; }
    @media only screen and (max-width: 414px) {
      .form-icons-wrapper .form-icons + .form-label.form-tooltip-text {
        margin-left: 2px; } }
  .form-icons-wrapper .form-icons:focus, .form-icons-wrapper .form-icons.focused {
    outline: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 0.2em rgba(0, 112, 201, 0.3); }
    html.ie8 .form-icons-wrapper .form-icons:focus, html.ie8 .form-icons-wrapper .form-icons.focused {
      outline: 3px solid #b2dbf0; }
  .form-icons-wrapper .form-icons.icon:after {
    padding-left: 0; }

.form-icons-message {
  font-size: 12px;
  line-height: 1.08341;
  font-weight: 400;
  letter-spacing: 0em;
  font-family: "Helvetica Neue";
  color: #999999;
  margin-left: 3px; }
  .form-icons-message.is-clickable {
    color: #0070c9; }

.form-icons-focusable {
  position: relative; }
  html.ie8 .form-icons-focusable .form-icons:focus, html.ie8 .form-icons-focusable .form-icons.focused {
    outline: 3px solid #b2dbf0; }
  .form-icons-focusable .form-icons:focus + .form-tooltip,
  .form-icons-focusable .form-icons.focused + .form-tooltip {
    display: block; }

.form-tooltip {
  font-size: 16px;
  line-height: 1.375;
  font-weight: 400;
  letter-spacing: 0em;
  padding: 1em;
  border-radius: 4px;
  background: #f2f2f2;
  position: absolute;
  width: 196px;
  z-index: 1;
  display: none;
  margin: 0;
  bottom: 32px;
  color: #333333;
  line-height: 1.32; }
  .form-tooltip:after {
    position: absolute;
    content: '';
    border-left: 0.4375em solid transparent;
    border-right: 0.4375em solid transparent;
    border-top: 0.4375em solid #f2f2f2;
    bottom: -0.375em; }
  .form-icons-before ~ .form-tooltip {
    bottom: 33px; }

.form-tooltip-wrapper {
  display: inline-block;
  position: relative; }
  .form-tooltip-wrapper .form-icons {
    margin-top: 0; }
    .form-tooltip-wrapper .form-icons.form-icons-before {
      margin-left: -24px;
      left: 0;
      top: 2px; }

.form-tooltip-textbox-icon-wrapper {
  position: relative; }
  .form-tooltip-textbox-icon-wrapper .form-tooltip-wrapper .form-icons.form-icons-before {
    top: 9px; }

.form-tooltip-title {
  font-size: 16px;
  line-height: 1.375;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: 8px;
  word-spacing: 2px; }
  .form-tooltip-validation-wrapper .form-tooltip-title {
    margin-bottom: 5px; }

.form-tooltip-content {
  line-height: 1.2;
  margin: 0; }
  .form-tooltip-validation-wrapper .form-tooltip-content {
    position: relative;
    top: 1px; }

.form-tooltip-left {
  left: -29px; }
  .form-tooltip-left:after {
    left: 0.4em; }
    .form-tooltip-validation-wrapper .form-tooltip-left:after {
      left: 0.8em; }

.form-tooltip-right {
  left: -202px; }
  .form-tooltip-right:after {
    right: 0.5156em; }

.form-tooltip-middle {
  left: -108px; }
  @media only screen and (max-width: 735px) {
    .form-tooltip-middle {
      left: -202px; } }
  .form-tooltip-middle:after {
    right: 6.4em; }
    @media only screen and (max-width: 735px) {
      .form-tooltip-middle:after {
        right: 0.5156em; } }

.form-tooltip-textbox-wrapper {
  margin-bottom: 0; }
  .form-tooltip-textbox-wrapper .form-label {
    padding-top: 8px; }
  .form-tooltip-textbox-wrapper .form-tooltip-right {
    left: -197px; }
  .form-tooltip-textbox-wrapper .form-tooltip-wrapper {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .form-tooltip-textbox-wrapper .form-tooltip {
    bottom: 8px; }
    @media only screen and (max-width: 414px) {
      .form-tooltip-textbox-wrapper .form-tooltip {
        bottom: 29px; } }
  .form-tooltip-textbox-wrapper .form-tooltip-middle {
    left: -102px; }
    @media only screen and (max-width: 735px) {
      .form-tooltip-textbox-wrapper .form-tooltip-middle {
        left: -197px; } }
    @media only screen and (max-width: 414px) {
      .form-tooltip-textbox-wrapper .form-tooltip-middle {
        bottom: 29px; } }
  .form-tooltip-textbox-wrapper .form-icons {
    top: 9px;
    position: absolute;
    left: -23px;
    margin-left: 0; }
    @media only screen and (max-width: 414px) {
      .form-tooltip-textbox-wrapper .form-icons {
        margin-right: 6px;
        position: relative;
        left: auto; } }
  .form-tooltip-textbox-wrapper .form-textbox {
    padding-left: 14px;
    margin-bottom: 14px; }
    @media only screen and (max-width: 414px) {
      .form-tooltip-textbox-wrapper .form-textbox {
        width: -webkit-calc(100% - 23px);
        width: calc(100% - 23px); } }
    .form-tooltip-textbox-wrapper .form-textbox + .form-tooltip-wrapper {
      right: 0;
      left: auto; }

.form-textbox + .form-tooltip-wrapper .form-icons {
  left: 8px; }

@media only screen and (max-width: 414px) {
  .has-label .form-tooltip-textbox-wrapper .form-textbox {
    display: inline-block; } }

.is-error .form-tooltip-textbox-wrapper .form-textbox {
  margin-bottom: 0;
  margin-top: 0; }

.form-tooltip-validation-wrapper {
  position: relative;
  top: 1px; }
  @media only screen and (max-width: 414px) {
    .form-tooltip-validation-wrapper .form-textbox:focus ~ .form-label-flyout {
      display: none; }
    .has-label .form-tooltip-validation-wrapper .form-textbox + .form-cell.form-label {
      padding-top: 8px; } }
  .form-tooltip-validation-wrapper .form-textbox {
    width: 100%; }
    @media only screen and (max-width: 414px) {
      .has-label .form-tooltip-validation-wrapper .form-textbox {
        margin-top: 0; } }
    .is-error .form-tooltip-validation-wrapper .form-textbox {
      margin-bottom: 14px; }
  .has-label .form-tooltip-validation-wrapper + .form-cell.form-label {
    padding-top: 1.125em; }

.form-tooltip-validation {
  width: auto;
  box-sizing: border-box;
  bottom: 57px;
  left: 0;
  margin: 0;
  padding-top: 13px; }
  @media only screen and (max-width: 414px) {
    .form-tooltip-validation {
      bottom: 43px; } }
  .form-tooltip-validation .form-icons {
    margin-left: -0.28em;
    padding-right: 3px;
    display: none;
    top: 2px; }
    @media only screen and (max-width: 414px) {
      .form-tooltip-validation .form-icons {
        margin-left: -0.5em; } }
  .form-tooltip-validation .form-icons-circle13 {
    display: inline-block; }
  .form-tooltip-validation .is-valid .form-icons-circle13,
  .form-tooltip-validation .is-invalid .form-icons-circle13 {
    display: none; }
  .form-tooltip-validation .is-valid .form-icons-checkalt13 {
    display: inline-block; }
  .form-tooltip-validation .is-invalid .form-icons-unvalidatedalt13 {
    display: inline-block; }

.form-tooltip-validation-msg {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: -1px;
  margin-left: 2px; }
  .form-tooltip-validation-msg .form-icons {
    width: 13px;
    height: 13px; }
    .form-tooltip-validation-msg .form-icons.icon-before:before {
      top: -0.125em; }

.form-textbox {
  font-family: "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0em;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  width: 100%;
  height: 34px;
  padding-top: 1px;
  padding-top: 5px\0;
  margin-bottom: 14px;
  padding-left: 15px;
  padding-right: 15px;
  color: #333333;
  text-align: left;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  background: white;
  background-clip: padding-box; }
  .form-textbox:lang(ar) {
    font-family: "Gulf", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(ja-JP) {
    font-family: "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(ko-KR) {
    font-family: "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(th-TH) {
    font-family: "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(zh-CN) {
    font-family: "HanHei SC", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(zh-HK) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(zh-MO) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-textbox:lang(zh-TW) {
    font-family: "HanHei TC", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  @media only screen and (max-width: 414px) {
    .form-textbox {
      height: 34px;
      line-height: normal; }
      .has-label .form-block-label + .form-textbox::-webkit-input-placeholder {
        color: #999999; }
      .has-label .form-block-label + .form-textbox::-moz-placeholder {
        color: #999999; }
      .has-label .form-block-label + .form-textbox:-ms-input-placeholder {
        color: #999999; }
      .has-label .form-block-label + .form-textbox::placeholder {
        color: #999999; } }
  .form-textbox::-webkit-input-placeholder {
    color: #999999; }
  .form-textbox::-moz-placeholder {
    color: #999999; }
  .form-textbox:-ms-input-placeholder {
    color: #999999; }
  .form-textbox::placeholder {
    color: #999999; }
  .form-textbox:focus {
    -webkit-appearance: none;
    border-color: #0070c9;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 112, 201, 0.3); }
  .form-textbox.disabled {
    background-color: #fafafa;
    color: #999999; }
    .form-textbox.disabled:focus {
      box-shadow: none;
      border-color: #d6d6d6; }
  .form-textbox:invalid {
    border-color: #d6d6d6;
    background: white; }
    .form-textbox:invalid:focus {
      background: white;
      border-color: #0070c9; }
    .form-textbox:invalid ~ .form-is-valid-icon {
      display: none; }
  .form-textbox:valid:focus ~ .form-is-valid-icon {
    display: block;
    z-index: 3;
    top: 4px; }
  .form-textbox[value=""] ~ .form-is-valid-icon {
    display: none; }

.is-error .form-textbox {
  border-color: #ee0000;
  background: rgba(238, 0, 0, 0.1); }
  .is-error .form-textbox:focus {
    background: white;
    border-color: #0070c9; }
  .is-error .form-textbox ~ .form-is-valid-icon {
    display: none; }

.is-valid .form-textbox:focus ~ .form-is-valid-icon {
  display: block;
  z-index: 3;
  top: 4px; }

.is-error .form-textbox {
  margin-bottom: 0;
  margin-top: 0; }

.form-textbox-textarea {
  min-height: 136px;
  padding-top: 7px;
  padding-bottom: 10px;
  text-indent: 0;
  resize: vertical;
  margin-bottom: 9px; }

.form-message-wrapper {
  font-size: 12px;
  line-height: 1.16667;
  font-weight: 400;
  letter-spacing: 0em;
  display: none;
  margin-top: 4px;
  margin-bottom: 12px; }

.is-error .form-message-wrapper {
  display: block;
  color: #ee0000; }

.form-textbox-countrycode {
  font-size: 16px;
  line-height: 2.09375;
  font-weight: 400;
  letter-spacing: 0em;
  border-right: 1px solid #d6d6d6;
  background: #fafafa;
  border-top-left-radius: 3px 3px;
  border-bottom-left-radius: 3px 3px;
  color: #999999;
  height: 1.99em;
  position: absolute;
  top: 1px;
  left: 0;
  margin-left: 1px;
  padding-left: 16px;
  padding-right: 16px;
  z-index: 1;
  overflow: hidden;
  direction: ltr; }
  @media only screen and (max-width: 414px) {
    .form-textbox-countrycode {
      left: 0;
      z-index: 3; } }
  .is-error .form-textbox-countrycode {
    background: rgba(238, 0, 0, 0.04);
    border-right-color: rgba(238, 0, 0, 0.04); }
  .is-error .form-textbox:focus ~ .form-textbox-countrycode {
    z-index: 2;
    background: #f2f2f2;
    border-right-color: #d6d6d6; }

.form-countrycode-wrapper .form-textbox {
  padding-top: 2px;
  height: 2.125em; }
  @media only screen and (max-width: 414px) {
    .form-countrycode-wrapper .form-textbox {
      padding-top: 1px;
      width: 100%;
      left: 0; }
      .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown ~ .form-label-flyout {
        opacity: 1; }
      .form-countrycode-wrapper .form-textbox.form-textbox-entered ~ .form-label-flyout {
        opacity: 0; } }
  html.no-js .form-countrycode-wrapper .form-textbox::-webkit-input-placeholder {
    color: #999999; }
  html.no-js .form-countrycode-wrapper .form-textbox::-moz-placeholder {
    color: #999999; }
  html.no-js .form-countrycode-wrapper .form-textbox:-ms-input-placeholder {
    color: #999999; }
  html.no-js .form-countrycode-wrapper .form-textbox::placeholder {
    color: #999999; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-small {
    padding-left: 66px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-small + .form-label-flyout {
    left: 50px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox {
    padding-left: 74px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox + .form-label-flyout {
    left: 58px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-medium {
    padding-left: 82px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-medium + .form-label-flyout {
    left: 66px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-large {
    padding-left: 95px; }
  html.no-js .form-countrycode-wrapper .form-textbox.form-countrycode-textbox-large + .form-label-flyout {
    left: 79px; }
  html.ie8 .form-countrycode-wrapper .form-textbox {
    height: 34px;
    padding-top: 7px; }
  .form-countrycode-wrapper .form-textbox::-webkit-input-placeholder {
    color: transparent; }
  .form-countrycode-wrapper .form-textbox::-moz-placeholder {
    color: transparent; }
  .form-countrycode-wrapper .form-textbox:-ms-input-placeholder {
    color: transparent; }
  .form-countrycode-wrapper .form-textbox::placeholder {
    color: transparent; }
  .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-webkit-input-placeholder {
    color: #999999; }
  .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-moz-placeholder {
    color: #999999; }
  .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown:-ms-input-placeholder {
    color: #999999; }
  .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::placeholder {
    color: #999999; }
    @media only screen and (max-width: 414px) {
      .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-webkit-input-placeholder {
        color: transparent; }
      .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-moz-placeholder {
        color: transparent; }
      .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown:-ms-input-placeholder {
        color: transparent; }
      .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::placeholder {
        color: transparent; } }
  @media only screen and (max-width: 414px) {
    .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-webkit-input-placeholder:focus, .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-webkit-input-placeholder.focused {
      color: #999999; }
    .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-moz-placeholder:focus, .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::-moz-placeholder.focused {
      color: #999999; }
    .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown:-ms-input-placeholder:focus, .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown:-ms-input-placeholder.focused {
      color: #999999; }
    .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::placeholder:focus, .form-countrycode-wrapper .form-textbox.form-textbox-isplaceholdershown::placeholder.focused {
      color: #999999; } }
.has-label .form-countrycode-wrapper .form-label {
  padding-top: 8px;
  padding-left: 3px;
  box-sizing: border-box; }
  @media only screen and (max-width: 414px) {
    .has-label .form-countrycode-wrapper .form-label {
      padding-left: 0; } }
.form-countrycode-wrapper .form-cell {
  position: relative; }

@media only screen and (max-width: 414px) {
  .has-label .form-countrycode-wrapper .form-label-flyout {
    opacity: 0; } }
@media only screen and (max-width: 414px) {
  .has-label .form-sidebyside-textboxes .form-label-flyout {
    padding-top: 8px; }
  .has-label .form-sidebyside-textboxes .column + .column .form-label-flyout {
    margin-left: 8px; } }
.has-label .form-cell.form-sidebyside-label {
  padding-top: 8px;
  padding-bottom: 20px; }

html.ie8 .form-textbox {
  min-height: auto;
  height: 33px; }
html.ie8 .form-textbox-textarea {
  min-height: 120px; }
.form-sidebyside-textboxes {
  display: inline-block;
  vertical-align: bottom;
  width: 100%; }
  .form-sidebyside-textboxes .column {
    padding-right: 8px;
    box-sizing: border-box; }
    .form-sidebyside-textboxes .column + .column {
      padding-left: 8px;
      padding-right: 0; }

.form-label,
.form-block-label {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0em;
  display: block;
  position: relative;
  vertical-align: top;
  color: #333333;
  margin-top: 9px;
  margin-bottom: 8px; }

.form-label-flyout {
  display: none; }

.form-cell.form-label {
  padding-right: 16px; }

.form-cell + .form-cell.form-label {
  padding-bottom: 0; }

@media only screen and (max-width: 414px) {
  .has-label {
    position: relative;
    direction: ltr; }
    .has-label .form-textbox::-webkit-input-placeholder {
      color: transparent; }
    .has-label .form-textbox::-moz-placeholder {
      color: transparent; }
    .has-label .form-textbox:-ms-input-placeholder {
      color: transparent; }
    .has-label .form-textbox::placeholder {
      color: transparent; }
    .has-label .form-textbox:focus::-webkit-input-placeholder {
      color: #999999; }
    .has-label .form-textbox:focus::-moz-placeholder {
      color: #999999; }
    .has-label .form-textbox:focus:-ms-input-placeholder {
      color: #999999; }
    .has-label .form-textbox:focus::placeholder {
      color: #999999; }
    html.no-js .has-label .form-textbox::-webkit-input-placeholder {
      color: #999999; }
    html.no-js .has-label .form-textbox::-moz-placeholder {
      color: #999999; }
    html.no-js .has-label .form-textbox:-ms-input-placeholder {
      color: #999999; }
    html.no-js .has-label .form-textbox::placeholder {
      color: #999999; }
    .has-label .is-error .form-label {
      background-color: transparent;
      color: #999999; }
    .has-label .is-error .form-textbox::-webkit-input-placeholder {
      color: transparent; }
    .has-label .is-error .form-textbox::-moz-placeholder {
      color: transparent; }
    .has-label .is-error .form-textbox:-ms-input-placeholder {
      color: transparent; }
    .has-label .is-error .form-textbox::placeholder {
      color: transparent; }
    .has-label .is-error .form-textbox:focus::-webkit-input-placeholder {
      color: #999999; }
    .has-label .is-error .form-textbox:focus::-moz-placeholder {
      color: #999999; }
    .has-label .is-error .form-textbox:focus:-ms-input-placeholder {
      color: #999999; }
    .has-label .is-error .form-textbox:focus::placeholder {
      color: #999999; }
    .has-label .form-cell.form-label {
      position: absolute;
      clip: rect(1px 1px 1px 1px);
      clip: rect(1px, 1px, 1px, 1px);
      -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
              clip-path: inset(0px 0px 99.9% 99.9%);
      overflow: hidden;
      height: 1px;
      width: 1px;
      padding: 0;
      border: 0; }
    .has-label .form-label.form-label-flyout {
      display: block;
      position: absolute;
      pointer-events: none;
      top: -50px;
      left: 16px;
      padding-top: 7px;
      padding-bottom: 7px;
      color: #999999;
      z-index: 1;
      -webkit-transform: translateY(50px);
          -ms-transform: translateY(50px);
              transform: translateY(50px);
      -webkit-transition: opacity 0.25s cubic-bezier(0.28, 0.11, 0.32, 1), -webkit-transform 0.25s cubic-bezier(0.28, 0.11, 0.32, 1);
              transition: opacity 0.25s cubic-bezier(0.28, 0.11, 0.32, 1), transform 0.25s cubic-bezier(0.28, 0.11, 0.32, 1); } }
    @media only screen and (max-width: 414px) and (max-width: 414px) {
      .has-label .form-label.form-label-flyout {
        top: -49px;
        left: 15px; } }
@media only screen and (max-width: 414px) {
      html.no-js .has-label .form-label.form-label-flyout {
        opacity: 0; } }
    @media only screen and (max-width: 414px) and (max-width: 414px) {
      .has-label .form-label.form-label-flyout.is-hidden {
        opacity: 0; } }
@media only screen and (max-width: 414px) {
    .has-label .form-textbox {
      position: relative;
      display: block; }
      .has-label .form-textbox:focus {
        z-index: 2; }
        .has-label .form-textbox:focus ~ .form-label-flyout {
          width: auto;
          padding-top: 7px;
          padding-bottom: 7px;
          padding-left: 16px;
          padding-right: 16px;
          top: -42px;
          left: 0;
          color: #333333;
          white-space: nowrap;
          border-radius: 4px;
          background-color: #f2f2f2;
          opacity: 1;
          -webkit-transform: translateY(0);
              -ms-transform: translateY(0);
                  transform: translateY(0);
          z-index: 5; }
        .has-label .form-textbox:focus ~ .form-label-flyout:after {
          position: absolute;
          margin-left: -5px;
          top: 100%;
          left: 20px;
          content: '';
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid #f2f2f2;
          z-index: 1; }
    .has-label .is-error .form-textbox:focus ~ .form-label-flyout {
      background: #feebeb;
      color: #333333; }
      .has-label .is-error .form-textbox:focus ~ .form-label-flyout:after {
        border-top-color: #feebeb; } }
  @media only screen and (max-width: 414px) and (max-width: 414px) {
    .has-label .form-textbox.form-textbox-entered ~ .form-label-flyout {
      opacity: 0; }
    .has-label .form-textbox.form-textbox-entered:focus ~ .form-label-flyout, .has-label .form-textbox.form-textbox-entered.focused ~ .form-label-flyout {
      opacity: 1; } }

.has-label .form-label {
  color: #333333;
  margin-top: 0;
  margin-bottom: 0;
  direction: ltr; }
@media only screen and (max-width: 414px) {
  .has-label .form-row .form-label {
    padding-top: 7px; } }
.has-label .form-textbox ~ .form-label {
  padding-top: 3px; }
  .has-label .form-textbox ~ .form-label.form-label-flyout {
    padding-top: 7px; }

.is-error .form-block-label,
.is-error .form-label, .is-error.form-label {
  color: #ee0000; }

:invalid ~ .form-label {
  color: #999999; }

.has-label .form-row .form-label,
.form-cell.form-label {
  padding-left: 2px;
  padding-top: 8px; }
  @media only screen and (max-width: 414px) {
    .has-label .form-row .form-label,
    .form-cell.form-label {
      padding-top: 0;
      padding-left: 0; } }

.form-title + .form-label {
  margin-top: 19px; }

.form-selector-rowwithgutters {
  margin-left: -8px;
  margin-right: -8px; }
  .form-selector-rowwithgutters > .column {
    padding-left: 8px;
    padding-right: 8px;
    box-sizing: border-box; }
  .form-selector-rowwithgutters + .form-message-wrapper {
    line-height: 1.2; }

.form-selector {
  margin-top: -12px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 414px) {
    .form-selector {
      margin-top: -18px;
      margin-bottom: 24px; } }
  .form-selector .icon-apple-oneline + .icon-label {
    top: -10px;
    left: 0; }
  .form-selector .icon-apple-twolines + .icon-label {
    top: -10px; }
  .is-error .form-selector {
    margin-bottom: 10px; }

.form-choice-selector-label .form-label {
  font-size: 14px;
  line-height: 1.28583;
  font-weight: 400;
  letter-spacing: 0em; }
.form-choice-selector-label .icon {
  margin-top: 1px; }
.form-choice-selector-label .icon-apple {
  font-size: 33px; }
  .form-choice-selector-label .icon-apple.icon-apple-oneline {
    margin-top: 4px; }
  .form-choice-selector-label .icon-apple.icon-apple-twolines {
    margin-top: 7px; }
.form-choice-selector-label .icon-circle {
  font-size: 24px; }
.form-choice-selector-label .icon-label {
  position: relative;
  top: -9px; }
  .form-choice-selector-label .icon-label.form-label-small {
    top: -8px;
    left: 1px; }
.form-choice-selector-label .colornav-swatch {
  width: 24px;
  height: 24px;
  margin: auto;
  display: inline-block;
  margin-top: 1px; }

.form-label-small {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0em;
  margin-top: 1px; }
  .colornav-swatch + .form-label-small {
    margin-top: 3px;
    margin-left: 0;
    line-height: 1; }

.form-label-dark {
  color: #333333; }

.form-label-large {
  font-size: 16px;
  line-height: 1.125;
  font-weight: 400;
  letter-spacing: 0em;
  color: #333333;
  display: inline-block;
  padding-top: 3px; }

.form-selector-singlecolumn {
  margin-top: 16px;
  list-style: none; }
  .form-selector-singlecolumn .form-choice-selector-label {
    min-width: 125px; }
    .form-selector-singlecolumn .form-choice-selector-label .icon,
    .form-selector-singlecolumn .form-choice-selector-label .icon-label {
      display: block; }
    .form-selector-singlecolumn .form-choice-selector-label .colorselector-swatch + .form-label-small {
      display: block; }

.form-selector-twocolumns {
  margin-top: 16px;
  max-width: 372px; }
  @media only screen and (max-width: 414px) {
    .form-selector-twocolumns {
      max-width: none;
      width: 100%; } }
  .form-selector-twocolumns .form-choice-selector ~ .form-choice-selector-label {
    height: 5.8em; }
  .form-selector-twocolumns.form-selectortwocolumns-oneline .form-choice-selector-label {
    height: 74px; }

.form-choiceselectorlabel-twocol {
  display: table;
  width: 100%; }
  .form-choiceselectorlabel-twocol .icon-label {
    top: -5px;
    left: 3px;
    position: relative; }
  .form-choiceselectorlabel-twocol .icon {
    display: inline-block; }
  .form-choiceselectorlabel-twocol .icon-before:before {
    top: 0;
    left: -1px;
    padding-left: 0;
    padding-right: 0; }
  .form-choiceselectorlabel-twocol .icon-circle.icon-before:before {
    top: -0.08em; }

.form-choiceselectorlabel-twocolleft {
  vertical-align: middle;
  text-align: left;
  display: table-cell; }
  .form-choiceselectorlabel-twocolleft .icon-label {
    font-size: 14px;
    line-height: 1.21429;
    font-weight: 400;
    letter-spacing: 0em;
    top: -5px;
    left: -3px; }
    .form-choiceselectorlabel-twocolleft .icon-label.form-label-small {
      font-size: 10px;
      padding-left: 3px; }
  .form-choiceselectorlabel-twocolleft .colornav-swatch {
    margin-top: 5px; }

.form-choiceselectorlabel-twocolright {
  vertical-align: middle;
  text-align: right;
  display: table-cell; }
  .form-choiceselectorlabel-twocolright.form-choiceselectorlabeloneline-twocolright {
    padding-top: 1px; }
    .form-choiceselectorlabel-twocolright.form-choiceselectorlabeloneline-twocolright.form-label-small {
      padding-top: 3px; }

.form-choice-indicator {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 1px solid #d6d6d6;
  background: white; }

.form-choice {
  position: absolute;
  top: 0;
  left: 0;
  right: 12px;
  bottom: 12px;
  opacity: 0;
  cursor: pointer;
  z-index: 2; }
  .form-choice ~ .form-label {
    display: block;
    padding-left: 22px;
    margin-top: 9px;
    margin-bottom: 0;
    color: #333333;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent; }
    .form-choice ~ .form-label .form-choice-indicator {
      position: absolute;
      top: 1px;
      left: 0; }
      @media only screen and (max-width: 414px) {
        .form-choice ~ .form-label .form-choice-indicator {
          top: 2px; } }
  .form-choice:focus + .form-label .form-choice-indicator, .form-choice.focused + .form-label .form-choice-indicator {
    border-color: #0070c9;
    box-shadow: 0 0 0 3px rgba(0, 112, 201, 0.3); }
  .form-choice:checked ~ .form-label, .form-choice:checked ~ .form-choice-selector-label .form-label {
    color: #333333; }
  .form-choice:checked ~ .form-label .form-choice-indicator {
    border: 5px solid #0070c9;
    width: 4px;
    height: 4px; }

.is-error .form-choice .form-label {
  color: inherit; }

.form-choice-radio + .form-label .form-choice-indicator {
  border-radius: 50%; }
  @media only screen and (max-width: 414px) {
    .form-choice-radio + .form-label .form-choice-indicator {
      top: 1px;
      left: 1px; } }

.form-choice-checkbox + .form-label .form-choice-indicator {
  border-radius: 3px; }
  @media only screen and (max-width: 414px) {
    .form-choice-checkbox + .form-label .form-choice-indicator {
      top: 1px;
      left: 1px; } }
.form-choice-checkbox:checked + .form-label .form-choice-indicator {
  background: #0070c9;
  text-align: center; }
  .form-choice-checkbox:checked + .form-label .form-choice-indicator:before, .form-choice-checkbox:checked + .form-label .form-choice-indicator:after {
    font-family: "Apple Icons";
    color: inherit;
    display: inline-block;
    font-style: normal;
    font-weight: inherit;
    font-size: inherit;
    line-height: 1;
    text-decoration: underline;
    position: relative;
    z-index: 1;
    alt: ''; }
  .form-choice-checkbox:checked + .form-label .form-choice-indicator:before, .form-choice-checkbox:checked + .form-label .form-choice-indicator:after {
    text-decoration: none; }
  .form-choice-checkbox:checked + .form-label .form-choice-indicator:before {
    display: none; }
  .form-choice-checkbox:checked + .form-label .form-choice-indicator:before, .form-choice-checkbox:checked + .form-label .form-choice-indicator:after {
    content: ""; }
.form-choice-checkbox:checked + .form-label .form-choice-indicator:after {
  color: white;
  top: -5px;
  left: -10px;
  padding: 0;
  font-weight: 600;
  line-height: 14px;
  width: 24px;
  vertical-align: top;
  font-size: 19px; }

.form-choice-selector {
  display: inline-block;
  width: 100%;
  height: 100%;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
  -webkit-tap-highlight-color: transparent; }
  html.ie8 .form-choice-selector {
    border: 0;
    outline: none; }
  .form-choice-selector:checked ~ .form-choice-selector-label {
    border-color: #0070c9;
    position: relative;
    border-width: 2px;
    padding-left: 15px;
    padding-right: 15px; }
    .form-choice-selector:checked ~ .form-choice-selector-label .form-label {
      color: #333333; }
  .form-choice-selector.selected ~ .form-choice-selector-label {
    border-color: #0070c9;
    position: relative;
    border-width: 2px;
    padding-left: 15px;
    padding-right: 15px; }
    .form-choice-selector.selected ~ .form-choice-selector-label .form-label {
      color: #333333; }
  .form-choice-selector ~ .form-choice-selector-label {
    display: table;
    width: 100%;
    height: 5.9em;
    padding-left: 16px;
    padding-right: 16px;
    text-align: center;
    border: 1px solid #d6d6d6;
    cursor: pointer;
    box-sizing: border-box;
    border-spacing: 0;
    overflow: hidden;
    font-size: 16px; }
    .form-choice-selector ~ .form-choice-selector-label .form-label {
      position: relative;
      margin-top: 0;
      margin-bottom: 0;
      color: #666666;
      text-indent: 0;
      display: table-cell;
      vertical-align: middle;
      top: 0;
      line-height: 1.35; }
  .form-choice-selector:hover ~ .form-choice-selector-label {
    border-color: #999999; }
    .form-choice-selector:hover ~ .form-choice-selector-label .form-label {
      color: #666666; }
  .form-choice-selector:hover:checked ~ .form-choice-selector-label {
    border-color: #0070c9; }
    .form-choice-selector:hover:checked ~ .form-choice-selector-label .form-label {
      color: #333333; }
  .form-choice-selector:focus ~ .form-choice-selector-label, .form-choice-selector:active ~ .form-choice-selector-label, .form-choice-selector.focused ~ .form-choice-selector-label {
    border-color: #0070c9;
    border-width: 1px;
    box-shadow: 0 0 0 3px rgba(0, 112, 201, 0.3); }
  .form-choice-selector:checked:focus ~ .form-choice-selector-label, .form-choice-selector:checked.focused ~ .form-choice-selector-label {
    border-width: 2px;
    border-color: #0070c9; }
  .form-choice-selector.rounded ~ .form-choice-selector-label {
    border-radius: 4px; }

.form-dropdown {
  font-family: "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.125em;
  padding-top: 1px;
  color: #333333;
  font-size: 16px;
  padding-left: 16px;
  padding-right: 16px;
  text-align: left;
  background: white;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  background-clip: padding-box;
  margin-bottom: 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0 0 0 16px\0;
  min-height: 32px; }
  .form-dropdown:lang(ar) {
    font-family: "Gulf", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(ja-JP) {
    font-family: "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(ko-KR) {
    font-family: "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(th-TH) {
    font-family: "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(zh-CN) {
    font-family: "HanHei SC", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(zh-HK) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(zh-MO) {
    font-family: "HanHei TC", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:lang(zh-TW) {
    font-family: "HanHei TC", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
  .form-dropdown:focus {
    border-color: #0070c9;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 112, 201, 0.3); }
  .form-dropdown ~ .form-icon {
    display: block;
    pointer-events: none;
    color: #999999;
    right: 16px;
    font-size: 21px;
    top: 4px;
    line-height: 1.16;
    display: none\0; }
    @media only screen and (max-width: 414px) {
      .form-dropdown ~ .form-icon {
        right: 16px; } }
  .is-error .form-dropdown {
    border-color: #ee0000;
    background: rgba(238, 0, 0, 0.1);
    margin-bottom: 0; }
    .is-error .form-dropdown:focus {
      border-color: #0070c9;
      background-color: white; }

.form-button {
  margin-top: 16px; }

.form-button-aos {
  background-color: #039808;
  background: -webkit-linear-gradient(#15c418, #039808);
  background: linear-gradient(#15c418, #039808);
  border-color: #07c;
  color: white;
  border: 0; }
  .form-button-aos:hover {
    background-color: #17a01c;
    background: -webkit-linear-gradient(#28c92a, #17a01c);
    background: linear-gradient(#28c92a, #17a01c);
    border-color: #1482d0; }
  .form-button-aos:active {
    background-color: #038c07;
    background: -webkit-linear-gradient(#13b416, #038c07);
    background: linear-gradient(#13b416, #038c07);
    border-color: #006dbc; }
  .form-button-aos:disabled, .form-button-aos.disabled {
    background-color: #039808;
    background: -webkit-linear-gradient(#15c418, #039808);
    background: linear-gradient(#15c418, #039808);
    border-color: #07c;
    color: white; }
    html.ie8 .form-button-aos:disabled, html.ie8 .form-button-aos.disabled {
      background-color: #b3e0b5; }

.form-button-holiday {
  background-color: #cc0000;
  background: -webkit-linear-gradient(#e22, #cc0000);
  background: linear-gradient(#e22, #cc0000);
  border-color: #07c;
  color: white;
  border: 0; }
  .form-button-holiday:hover {
    background-color: #d01414;
    background: -webkit-linear-gradient(#ef3434, #d01414);
    background: linear-gradient(#ef3434, #d01414);
    border-color: #1482d0; }
  .form-button-holiday:active {
    background-color: #bc0000;
    background: -webkit-linear-gradient(#db1f1f, #bc0000);
    background: linear-gradient(#db1f1f, #bc0000);
    border-color: #006dbc; }
  .form-button-holiday:disabled, .form-button-holiday.disabled {
    background-color: #cc0000;
    background: -webkit-linear-gradient(#e22, #cc0000);
    background: linear-gradient(#e22, #cc0000);
    border-color: #07c;
    color: white; }
    html.ie8 .form-button-holiday:disabled, html.ie8 .form-button-holiday.disabled {
      background-color: #f0b3b3; }

.form-toggle {
  font-size: 16px;
  line-height: 1.125;
  font-weight: 400;
  letter-spacing: 0em;
  display: block;
  padding-top: 1px; }
  .form-toggle.form-label {
    padding-left: 38px;
    margin-top: 8px; }

.form-toggle-indicator {
  display: inline-block;
  position: absolute;
  top: 1px;
  left: 0;
  background-color: #d6d6d6;
  width: 28px;
  height: 13px;
  border-radius: 13px;
  -webkit-transition: background 0.4s;
          transition: background 0.4s;
  border: 1px solid #d6d6d6; }
  .form-toggle-indicator:before, .form-toggle-indicator:after {
    position: absolute;
    content: ''; }
  .form-toggle-indicator:before {
    top: 4px;
    left: 18px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    border: 1px solid #999999; }
    .form-choice:checked + .form-toggle .form-toggle-indicator:before {
      left: 7px;
      border-radius: 0;
      border: 0;
      border-left: 1px solid #333333;
      height: 5px;
      top: 4px; }
  .form-toggle-indicator:after {
    top: 0;
    left: 0;
    width: 13px;
    height: 13px;
    background-color: white;
    border-radius: 50%;
    -webkit-transition: left 0.4s;
            transition: left 0.4s; }
    .form-choice:checked + .form-toggle .form-toggle-indicator:after {
      left: 15px; }
  .form-choice:checked + .form-toggle .form-toggle-indicator {
    background-color: #0070c9;
    border-color: #0070c9; }
  .form-choice:focus + .form-toggle .form-toggle-indicator, .form-choice.focused + .form-toggle .form-toggle-indicator {
    border: 1px solid #0070c9;
    box-shadow: 0 0 0 3px rgba(0, 112, 201, 0.3); }
  .form-choice:focus:checked + .form-toggle .form-toggle-indicator, .form-choice:checked.focused + .form-toggle .form-toggle-indicator {
    border: 2px solid #0070c9;
    top: 0;
    left: -1px; }

html.ie8 .form-choice.selected ~ .form-toggle .form-toggle-indicator {
  background-color: #0070c9; }
  html.ie8 .form-choice.selected ~ .form-toggle .form-toggle-indicator:before {
    left: 7px;
    border-radius: 0;
    border: 0;
    border-left: 1px solid #333333;
    height: 5px;
    top: 4px; }
  html.ie8 .form-choice.selected ~ .form-toggle .form-toggle-indicator:after {
    left: 15px; }
.theme-dark .form-label,
.theme-dark .form-block-label,
.theme-dark .form-choice ~ .form-label {
  color: #cccccc; }
@media only screen and (max-width: 414px) {
  .theme-dark .has-label .is-error .form-textbox:focus ~ .form-label-flyout {
    background: #731717; }
    .theme-dark .has-label .is-error .form-textbox:focus ~ .form-label-flyout:after {
      border-top-color: #731717; } }
.theme-dark .form-dropdown {
  color: #cccccc;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(214, 214, 214, 0.2); }
  .theme-dark .form-dropdown:focus {
    border-color: #66bbff;
    box-shadow: 0 0 0 3px rgba(102, 187, 255, 0.3); }
.theme-dark .is-error .form-dropdown {
  background-color: rgba(255, 51, 51, 0.2);
  border-color: #ff3333;
  color: #cccccc; }
  .theme-dark .is-error .form-dropdown:focus {
    border-color: #66bbff;
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 3px rgba(102, 187, 255, 0.3); }
.theme-dark .form-toggle-indicator {
  background-color: rgba(255, 255, 255, 0.13);
  border-color: rgba(214, 214, 214, 0.2); }
  .theme-dark .form-toggle-indicator:before {
    border-color: rgba(255, 255, 255, 0.3); }
.theme-dark .form-choice:checked + .form-toggle .form-toggle-indicator {
  background-color: #66bbff;
  border-color: #66bbff; }
.theme-dark .form-choice:checked + .form-toggle .form-toggle-indicator:before {
  color: rgba(255, 255, 255, 0.4); }
.theme-dark .form-choice-selector ~ .form-choice-selector-label {
  border-color: rgba(214, 214, 214, 0.3); }
  .theme-dark .form-choice-selector ~ .form-choice-selector-label .form-label {
    color: #999999; }
  .theme-dark .form-choice-selector ~ .form-choice-selector-label .form-label-large {
    color: #cccccc; }
  .theme-dark .form-choice-selector ~ .form-choice-selector-label .form-label-dark {
    color: #cccccc; }
  .theme-dark .form-choice-selector ~ .form-choice-selector-label .colornav-swatch {
    background-color: #666666; }
.theme-dark .form-choice-selector:hover ~ .form-choice-selector-label {
  border-color: rgba(214, 214, 214, 0.6); }
  .theme-dark .form-choice-selector:hover ~ .form-choice-selector-label .form-label {
    color: #999999; }
.theme-dark .form-choice-selector:focus ~ .form-choice-selector-label, .theme-dark .form-choice-selector:active ~ .form-choice-selector-label, .theme-dark .form-choice-selector.focused ~ .form-choice-selector-label {
  border-color: #66bbff;
  box-shadow: 0 0 0 3px rgba(102, 187, 255, 0.3); }
.theme-dark .form-choice-selector ~ .form-choice-selector-label {
  width: 100%; }
.theme-dark .form-choice-selector:checked ~ .form-choice-selector-label {
  border-color: #66bbff; }
  .theme-dark .form-choice-selector:checked ~ .form-choice-selector-label .form-label {
    color: #cccccc; }
.theme-dark .form-choice-selector.selected ~ .form-choice-selector-label {
  border-color: #66bbff; }
  .theme-dark .form-choice-selector.selected ~ .form-choice-selector-label .form-label {
    color: #cccccc; }
.theme-dark .form-choice-selector:checked:focus ~ .form-choice-selector-label, .theme-dark .form-choice-selector:checked.focused ~ .form-choice-selector-label {
  border-color: #66bbff;
  box-shadow: 0 0 0 2px rgba(102, 187, 255, 0.3); }
.theme-dark .form-choice-radio:checked ~ .form-label .form-choice-indicator {
  border-color: #66bbff;
  background-color: #333333; }
.theme-dark .form-choice-radio + .form-label .form-choice-indicator {
  border-color: #333333;
  background-color: rgba(255, 255, 255, 0.1); }
.theme-dark .is-error .form-choice-radio ~ .form-label {
  color: inherit; }
.theme-dark .form-choice-checkbox:checked ~ .form-label .form-choice-indicator {
  border-color: #66bbff;
  background-color: #66bbff; }
.theme-dark .form-choice-checkbox:checked ~ .form-label .form-choice-indicator:after {
  color: #333333; }
.theme-dark .form-choice-checkbox + .form-label .form-choice-indicator {
  border-color: #333333;
  background-color: rgba(255, 255, 255, 0.1); }
.theme-dark .is-error .form-choice-checkbox ~ .form-label {
  color: inherit; }
.theme-dark .form-alert {
  background-color: rgba(242, 242, 242, 0.2);
  border-color: rgba(227, 227, 227, 0.3); }
  .theme-dark .form-alert.is-error {
    background-color: rgba(255, 51, 51, 0.25);
    border-color: rgba(255, 51, 51, 0.4); }
.theme-dark .form-tooltip {
  background-color: #444444;
  color: #c5c5c5; }
  .theme-dark .form-tooltip:after {
    border-top-color: #444444; }
.theme-dark .form-sectionnumber-section:before {
  border-color: #cccccc; }
.theme-dark .form-icons.form-icons-circle13 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28102%2C102%2C102%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.688-0.689%2C1.49-1.23%2C2.383-1.607c0.925-0.392%2C1.908-0.59%2C2.92-0.59%20%20%20c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 13px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-circle13 {
    background-image: url();
    background-position: 0 -147px; }
.theme-dark .form-icons.form-icons-checkalt13 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpolygon%20fill%3D%22rgb%28121%2C162%2C28%29%22%20points%3D%22-201.224%2C146.927%20-203.702%2C144.399%20-203.01%2C143.722%20-201.218%2C145.55%20-197.522%2C141.844%20%20%20%20%20-196.837%2C142.527%20%20%22%2F%3E%20%3Cpath%20fill%3D%22rgb%28121%2C162%2C28%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.689-0.689%2C1.491-1.229%2C2.384-1.607c0.924-0.392%2C1.907-0.59%2C2.919-0.59%20%20%20%20s1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
  background-size: 13px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-checkalt13 {
    background-image: url();
    background-position: -20px -267px; }
.theme-dark .form-icons.form-icons-unvalidatedalt13 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-200.5%2C137c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607%20%20%20%20c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.919%20%20%20%20c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607c-0.924%2C0.392-1.907%2C0.59-2.919%2C0.59%20%20%20%20s-1.995-0.198-2.92-0.59c-0.893-0.378-1.695-0.918-2.384-1.607c-0.689-0.689-1.229-1.491-1.607-2.384%20%20%20%20c-0.391-0.924-0.589-1.907-0.589-2.919s0.198-1.995%2C0.59-2.92c0.378-0.893%2C0.918-1.695%2C1.607-2.384%20%20%20%20c0.689-0.689%2C1.491-1.229%2C2.384-1.607C-202.495%2C137.198-201.512%2C137-200.5%2C137z%20M-200.5%2C151.033c0.882%2C0%2C1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4c-0.805-0.341-1.661-0.513-2.543-0.513s-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4s-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4C-202.238%2C150.861-201.382%2C151.033-200.5%2C151.033z%22%2F%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-200.487%2C146.853c-0.238%2C0-0.437%2C0.075-0.59%2C0.224c-0.154%2C0.149-0.232%2C0.346-0.232%2C0.585%20%20%20%20%20c0%2C0.238%2C0.076%2C0.435%2C0.225%2C0.584s0.346%2C0.224%2C0.584%2C0.224c0.229%2C0%2C0.424-0.078%2C0.577-0.231c0.154-0.153%2C0.232-0.348%2C0.232-0.578%20%20%20%20%20c0-0.23-0.075-0.424-0.224-0.577S-200.256%2C146.853-200.487%2C146.853z%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697l0%2C0c-0.397%2C0-0.568-0.312-0.568-0.697%20%20%20%20c0%2C0-0.338-3.428-0.278-3.879c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675%20%20%20%20C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
  background-size: 13px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-unvalidatedalt13 {
    background-image: url();
    background-position: -40px -227px; }
.theme-dark .form-icons.form-icons-info15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28102%2C187%2C255%29%22%20d%3D%22M-193.549%2C141.678c-0.377-0.931-0.932-1.765-1.648-2.481c-0.716-0.716-1.551-1.27-2.481-1.648%20%20%20c-0.899-0.364-1.848-0.549-2.822-0.549s-1.923%2C0.185-2.822%2C0.549c-0.931%2C0.377-1.765%2C0.932-2.481%2C1.648%20%20%20c-0.716%2C0.716-1.27%2C1.551-1.648%2C2.481c-0.364%2C0.899-0.549%2C1.848-0.549%2C2.822s0.185%2C1.923%2C0.549%2C2.822%20%20%20c0.377%2C0.931%2C0.932%2C1.766%2C1.647%2C2.481c0.716%2C0.716%2C1.551%2C1.27%2C2.481%2C1.647c0.9%2C0.365%2C1.849%2C0.55%2C2.823%2C0.55s1.923-0.185%2C2.822-0.549%20%20%20c0.931-0.377%2C1.766-0.932%2C2.481-1.647c0.716-0.716%2C1.27-1.551%2C1.647-2.481c0.365-0.9%2C0.55-1.849%2C0.55-2.823%20%20%20S-193.185%2C142.577-193.549%2C141.678z%20M-199.923%2C148.239c-0.154%2C0.154-0.348%2C0.231-0.577%2C0.231c-0.238%2C0-0.435-0.075-0.584-0.224%20%20%20s-0.225-0.346-0.225-0.584c0-0.239%2C0.078-0.436%2C0.232-0.585c0.154-0.149%2C0.352-0.224%2C0.59-0.224c0.23%2C0%2C0.423%2C0.078%2C0.571%2C0.232%20%20%20c0.149%2C0.153%2C0.224%2C0.347%2C0.224%2C0.577C-199.691%2C147.891-199.769%2C148.086-199.923%2C148.239z%20M-199.508%2C144.277%20%20%20c-0.411%2C0.346-0.301%2C0.551-0.368%2C1.096c-0.041%2C0.332-0.391%2C0.455-0.583%2C0.463c-0.219%2C0.009-0.641-0.136-0.676-0.473%20%20%20c-0.06-0.578%2C0.032-0.784%2C0.127-1.022c0.312-0.783%2C1.387-1.003%2C1.401-1.793c0.019-1.047-1.509-1.36-1.803-0.187%20%20%20c-0.127%2C0.507-1.096%2C0.465-1.069-0.124c-0.001-0.473%2C0.287-0.983%2C0.724-1.332c0.744-0.595%2C2.8-0.615%2C3.237%2C1.132%20%20%20C-198.262%2C143.055-198.732%2C143.621-199.508%2C144.277z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-info15 {
    background-image: url();
    background-position: -100px -45px; }
.theme-dark .form-icons.form-icons-circle15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28102%2C102%2C102%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.688-0.689%2C1.49-1.23%2C2.383-1.607c0.925-0.392%2C1.908-0.59%2C2.92-0.59%20%20%20c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-circle15 {
    background-image: url();
    background-position: 0 -125px; }
.theme-dark .form-icons.form-icons-checkalt15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpolygon%20fill%3D%22rgb%28121%2C162%2C28%29%22%20points%3D%22-201.224%2C146.927%20-203.702%2C144.399%20-203.01%2C143.722%20-201.218%2C145.55%20-197.522%2C141.844%20%20%20%20%20-196.837%2C142.527%20%20%22%2F%3E%20%3Cpath%20fill%3D%22rgb%28121%2C162%2C28%29%22%20d%3D%22M-200.5%2C152c-1.012%2C0-1.995-0.198-2.919-0.59c-0.893-0.378-1.695-0.918-2.384-1.607%20%20%20%20c-0.689-0.689-1.229-1.491-1.607-2.384c-0.392-0.924-0.59-1.907-0.59-2.919c0-1.012%2C0.198-1.995%2C0.59-2.919%20%20%20%20c0.378-0.893%2C0.918-1.695%2C1.607-2.384c0.689-0.689%2C1.491-1.229%2C2.384-1.607c0.924-0.392%2C1.907-0.59%2C2.919-0.59%20%20%20%20s1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384%20%20%20%20c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.92c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384%20%20%20%20c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607C-198.505%2C151.802-199.488%2C152-200.5%2C152z%20M-200.5%2C137.967c-0.882%2C0-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4c-0.6%2C0.6-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4c0.805%2C0.341%2C1.661%2C0.513%2C2.543%2C0.513s1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4C-198.762%2C138.139-199.618%2C137.967-200.5%2C137.967z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-checkalt15 {
    background-image: url();
    background-position: -20px -245px; }
.theme-dark .form-icons.form-icons-unvalidatedalt15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-200.5%2C137c1.012%2C0%2C1.995%2C0.198%2C2.919%2C0.59c0.893%2C0.378%2C1.695%2C0.918%2C2.384%2C1.607%20%20%20%20c0.689%2C0.689%2C1.229%2C1.491%2C1.607%2C2.384c0.392%2C0.924%2C0.59%2C1.907%2C0.59%2C2.919s-0.198%2C1.995-0.59%2C2.919%20%20%20%20c-0.378%2C0.893-0.918%2C1.695-1.607%2C2.384c-0.689%2C0.689-1.491%2C1.229-2.384%2C1.607c-0.924%2C0.392-1.907%2C0.59-2.919%2C0.59%20%20%20%20s-1.995-0.198-2.92-0.59c-0.893-0.378-1.695-0.918-2.384-1.607c-0.689-0.689-1.229-1.491-1.607-2.384%20%20%20%20c-0.391-0.924-0.589-1.907-0.589-2.919s0.198-1.995%2C0.59-2.92c0.378-0.893%2C0.918-1.695%2C1.607-2.384%20%20%20%20c0.689-0.689%2C1.491-1.229%2C2.384-1.607C-202.495%2C137.198-201.512%2C137-200.5%2C137z%20M-200.5%2C151.033c0.882%2C0%2C1.738-0.173%2C2.543-0.513%20%20%20%20c0.778-0.329%2C1.477-0.8%2C2.077-1.4c0.6-0.6%2C1.071-1.299%2C1.4-2.077c0.341-0.805%2C0.513-1.661%2C0.513-2.543s-0.173-1.738-0.513-2.543%20%20%20%20c-0.329-0.778-0.8-1.477-1.4-2.077c-0.6-0.6-1.299-1.071-2.077-1.4c-0.805-0.341-1.661-0.513-2.543-0.513s-1.738%2C0.173-2.543%2C0.513%20%20%20%20c-0.778%2C0.329-1.477%2C0.8-2.077%2C1.4s-1.071%2C1.299-1.4%2C2.077c-0.341%2C0.805-0.513%2C1.661-0.513%2C2.543s0.173%2C1.738%2C0.513%2C2.543%20%20%20%20c0.329%2C0.778%2C0.8%2C1.477%2C1.4%2C2.077c0.6%2C0.6%2C1.299%2C1.071%2C2.077%2C1.4C-202.238%2C150.861-201.382%2C151.033-200.5%2C151.033z%22%2F%3E%20%3Cg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-200.487%2C146.853c-0.238%2C0-0.437%2C0.075-0.59%2C0.224c-0.154%2C0.149-0.232%2C0.346-0.232%2C0.585%20%20%20%20%20c0%2C0.238%2C0.076%2C0.435%2C0.225%2C0.584s0.346%2C0.224%2C0.584%2C0.224c0.229%2C0%2C0.424-0.078%2C0.577-0.231c0.154-0.153%2C0.232-0.348%2C0.232-0.578%20%20%20%20%20c0-0.23-0.075-0.424-0.224-0.577S-200.256%2C146.853-200.487%2C146.853z%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697l0%2C0c-0.397%2C0-0.568-0.312-0.568-0.697%20%20%20%20c0%2C0-0.338-3.428-0.278-3.879c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675%20%20%20%20C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-unvalidatedalt15 {
    background-image: url();
    background-position: -40px -205px; }
.theme-dark .form-icons.form-icons-unvalidated15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-193.59%2C141.581c-0.378-0.893-0.918-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.392-1.907-0.59-2.919-0.59s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.392%2C0.924-0.59%2C1.907-0.59%2C2.919s0.198%2C1.995%2C0.59%2C2.919%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.924%2C0.392%2C1.907%2C0.59%2C2.919%2C0.59%20%20%20s1.995-0.198%2C2.92-0.59c0.893-0.378%2C1.695-0.919%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.391-0.924%2C0.589-1.907%2C0.589-2.919S-193.198%2C142.505-193.59%2C141.581z%20M-199.923%2C148.239c-0.154%2C0.154-0.348%2C0.231-0.577%2C0.231%20%20%20c-0.238%2C0-0.435-0.075-0.584-0.224s-0.225-0.346-0.225-0.584c0-0.239%2C0.078-0.436%2C0.232-0.585c0.154-0.149%2C0.352-0.224%2C0.59-0.224%20%20%20c0.23%2C0%2C0.423%2C0.078%2C0.571%2C0.232c0.149%2C0.153%2C0.224%2C0.347%2C0.224%2C0.577C-199.691%2C147.891-199.769%2C148.086-199.923%2C148.239z%20%20%20%20M-199.937%2C145.127c0%2C0.385-0.171%2C0.697-0.568%2C0.697s-0.568-0.312-0.568-0.697c0%2C0-0.338-3.428-0.278-3.879%20%20%20c0.052-0.391%2C0.322-0.675%2C0.72-0.675h0.253c0.397%2C0%2C0.625%2C0.306%2C0.72%2C0.675C-199.559%2C141.636-199.937%2C145.127-199.937%2C145.127z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-unvalidated15 {
    background-image: url();
    background-position: -60px -205px; }
.theme-dark .form-icons.form-icons-clearsolid15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%2868%2C68%2C68%29%22%20d%3D%22M-193.59%2C141.58c-0.378-0.893-0.918-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.391-1.907-0.589-2.919-0.589s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.392%2C0.924-0.59%2C1.907-0.59%2C2.919s0.198%2C1.995%2C0.59%2C2.92%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.924%2C0.391%2C1.907%2C0.589%2C2.919%2C0.589%20%20%20s1.995-0.198%2C2.919-0.59c0.893-0.378%2C1.695-0.918%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.392-0.924%2C0.59-1.907%2C0.59-2.919S-193.198%2C142.505-193.59%2C141.58z%20M-197.412%2C146.913l-0.677%2C0.678l-2.412-2.413l-2.41%2C2.413%20%20%20l-0.677-0.678l2.411-2.411l-2.411-2.411l0.677-0.676l2.41%2C2.411l2.412-2.411l0.677%2C0.676l-2.413%2C2.411L-197.412%2C146.913z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-clearsolid15 {
    background-image: url();
    background-position: -80px -125px; }
.theme-dark .form-icons.form-icons-add15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28102%2C187%2C255%29%22%20d%3D%22M-193.549%2C141.678c-0.377-0.931-0.932-1.765-1.648-2.481c-0.716-0.716-1.551-1.27-2.481-1.648%20%20%20c-0.899-0.364-1.848-0.549-2.822-0.549s-1.923%2C0.185-2.822%2C0.549c-0.931%2C0.377-1.765%2C0.932-2.481%2C1.648%20%20%20c-0.716%2C0.716-1.27%2C1.551-1.648%2C2.481c-0.364%2C0.899-0.549%2C1.848-0.549%2C2.822s0.185%2C1.923%2C0.549%2C2.822%20%20%20c0.377%2C0.931%2C0.932%2C1.766%2C1.647%2C2.481c0.716%2C0.716%2C1.551%2C1.27%2C2.481%2C1.647c0.9%2C0.365%2C1.849%2C0.55%2C2.823%2C0.55s1.923-0.185%2C2.822-0.549%20%20%20c0.931-0.377%2C1.766-0.932%2C2.481-1.647c0.716-0.716%2C1.27-1.551%2C1.647-2.481c0.365-0.9%2C0.55-1.849%2C0.55-2.823%20%20%20S-193.185%2C142.577-193.549%2C141.678z%20M-196.984%2C144.97h-3.051V148h-0.934v-3.03h-3.046v-0.934h3.046v-3.052h0.934v3.051h3.051%20%20%20C-196.984%2C144.035-196.984%2C144.97-196.984%2C144.97z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-add15 {
    background-image: url();
    background-position: -120px -45px; }
.theme-dark .form-icons.form-icons-remove15 {
  background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2215px%22%20height%3D%2215px%22%20viewBox%3D%22-208%20137%2015%2015%22%20enable-background%3D%22new%20-208%20137%2015%2015%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22%22%3E%20%3Cpath%20fill%3D%22rgb%28204%2C0%2C0%29%22%20d%3D%22M-193.59%2C141.579c-0.378-0.893-0.919-1.695-1.607-2.384c-0.689-0.689-1.491-1.229-2.384-1.607%20%20%20c-0.924-0.391-1.907-0.589-2.919-0.589s-1.995%2C0.198-2.919%2C0.59c-0.893%2C0.378-1.695%2C0.918-2.384%2C1.607%20%20%20c-0.689%2C0.689-1.229%2C1.491-1.607%2C2.384c-0.391%2C0.925-0.59%2C1.907-0.59%2C2.919c0%2C1.012%2C0.198%2C1.995%2C0.59%2C2.92%20%20%20c0.378%2C0.893%2C0.918%2C1.695%2C1.607%2C2.384c0.689%2C0.689%2C1.491%2C1.229%2C2.384%2C1.607c0.925%2C0.391%2C1.907%2C0.59%2C2.919%2C0.59%20%20%20s1.995-0.198%2C2.919-0.59c0.893-0.378%2C1.695-0.918%2C2.384-1.607c0.689-0.689%2C1.229-1.491%2C1.607-2.384%20%20%20c0.391-0.925%2C0.59-1.907%2C0.59-2.92S-193.198%2C142.505-193.59%2C141.579z%20M-197.016%2C144.966l-3.007%2C0.001h-0.957l-3.02-0.001v-0.934%20%20%20l3.021%2C0.001h0.957l3.007-0.001v0.934H-197.016z%22%2F%3E%20%3C%2Fsvg%3E);
  background-size: 15px;
  background-repeat: no-repeat; }
  html.ie8 .theme-dark .form-icons.form-icons-remove15 {
    background-image: url();
    background-position: -140px -205px; }
.theme-dark .form-icons:focus, .theme-dark .form-icons.focused {
  box-shadow: 0 0 0 0.2em rgba(102, 187, 255, 0.3); }
.theme-dark .form-icons-message {
  color: #666666; }
  .theme-dark .form-icons-message.is-clickable {
    color: #66bbff; }
.theme-dark .form-textbox {
  color: #cccccc;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(214, 214, 214, 0.2); }
  .theme-dark .form-textbox:invalid {
    background-color: rgba(255, 255, 255, 0.1); }
  .theme-dark .form-textbox:focus {
    border-color: #66bbff;
    box-shadow: 0 0 0 3px rgba(102, 187, 255, 0.3); }
  .theme-dark .form-textbox.disabled {
    background-color: rgba(250, 250, 250, 0.14);
    color: #666666; }
    .theme-dark .form-textbox.disabled:focus {
      box-shadow: none;
      border-color: rgba(214, 214, 214, 0.2); }
  .theme-dark .form-textbox::-webkit-input-placeholder {
    color: #666666; }
  .theme-dark .form-textbox::-moz-placeholder {
    color: #666666; }
  .theme-dark .form-textbox:-ms-input-placeholder {
    color: #666666; }
  .theme-dark .form-textbox::placeholder {
    color: #666666; }
@media only screen and (max-width: 414px) {
  .theme-dark .has-label .form-textbox::-webkit-input-placeholder {
    color: transparent; }
  .theme-dark .has-label .form-textbox::-moz-placeholder {
    color: transparent; }
  .theme-dark .has-label .form-textbox:-ms-input-placeholder {
    color: transparent; }
  .theme-dark .has-label .form-textbox::placeholder {
    color: transparent; }
  .theme-dark .has-label .form-textbox:focus ~ .form-label {
    background-color: #444444;
    color: #cccccc; }
  .theme-dark .has-label .form-textbox:focus ~ .form-label:after {
    border-top-color: #444444; }
  .theme-dark .has-label .form-textbox:focus::-webkit-input-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-textbox:focus::-moz-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-textbox:focus:-ms-input-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-textbox:focus::placeholder {
    color: #666666; }
  .theme-dark .has-label .form-block-label + .form-textbox::-webkit-input-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-block-label + .form-textbox::-moz-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-block-label + .form-textbox:-ms-input-placeholder {
    color: #666666; }
  .theme-dark .has-label .form-block-label + .form-textbox::placeholder {
    color: #666666; } }
.theme-dark .is-error .form-textbox {
  background-color: rgba(255, 51, 51, 0.2);
  border-color: #ff3333;
  color: #cccccc; }
  .theme-dark .is-error .form-textbox:focus {
    border-color: #66bbff;
    background-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 3px rgba(102, 187, 255, 0.3); }
.theme-dark .is-error .form-label {
  color: #ff3333; }
.theme-dark .is-error .form-label-flyout.is-hidden {
  opacity: 0; }
.theme-dark .is-error .form-textbox:focus ~ .form-textbox-countrycode {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(214, 214, 214, 0.1); }
.theme-dark .is-error .form-textbox ~ .form-textbox-countrycode {
  background-color: rgba(255, 51, 51, 0.1);
  border-color: rgba(255, 51, 51, 0.1); }
.theme-dark .form-textbox-countrycode {
  color: #666666;
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(214, 214, 214, 0.1); }
  @media only screen and (max-width: 414px) {
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown::-webkit-input-placeholder {
      color: transparent; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown::-moz-placeholder {
      color: transparent; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown:-ms-input-placeholder {
      color: transparent; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown::placeholder {
      color: transparent; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown:focus::-webkit-input-placeholder {
      color: #666666; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown:focus::-moz-placeholder {
      color: #666666; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown:focus:-ms-input-placeholder {
      color: #666666; }
    .theme-dark .form-textbox-countrycode.form-textbox.form-textbox-isplaceholdershown:focus::placeholder {
      color: #666666; } }

.form-table {
  display: table;
  width: 100%;
  text-align: left;
  position: relative; }
  @media only screen and (max-width: 414px) {
    .form-table {
      display: block; } }

.form-set {
  display: table-row-group; }

.form-caption {
  display: table-caption; }

.form-row {
  display: table-row; }
  @media only screen and (max-width: 414px) {
    .form-row {
      display: block;
      position: relative; } }

.form-cell {
  display: table-cell;
  vertical-align: top;
  direction: ltr; }
  @media only screen and (max-width: 414px) {
    .form-cell {
      display: block; } }
  .form-cell.form-element {
    margin-top: 0; }

.form-element {
  position: relative; }

.form-table-layout-fixed {
  table-layout: fixed; }

.form-table-border-spacing {
  border-spacing: 16px; }

.form-title {
  font-size: 28px;
  line-height: 1.14286;
  font-weight: 200;
  letter-spacing: 0em;
  margin-top: 0; }
  html.ie8 .form-title {
    font-weight: normal; }
  @media only screen and (max-width: 735px) {
    .form-title {
      font-size: 24px;
      line-height: 1.20849;
      font-weight: 200;
      letter-spacing: 0em; } }

.form-wrapper {
  margin: -17px -16px -5px; }
  @media only screen and (max-width: 735px) {
    .form-wrapper {
      margin: 0; } }
  .form-wrapper.is-error {
    margin-bottom: -14px; }

.form-is-valid-icon:before, .form-is-valid-icon:after {
  font-family: "Apple Icons";
  color: inherit;
  display: inline-block;
  font-style: normal;
  font-weight: inherit;
  font-size: inherit;
  line-height: 1;
  text-decoration: underline;
  position: relative;
  z-index: 1;
  alt: ''; }
.form-is-valid-icon:before, .form-is-valid-icon:after {
  text-decoration: none; }
.form-is-valid-icon:before {
  display: none; }
.form-is-valid-icon:before, .form-is-valid-icon:after {
  content: ""; }

.form-icon {
  display: none;
  position: absolute;
  top: 3px;
  right: 16px; }

#localnav-viewport-emitter {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  z-index: -1;
  x-content: "ac-localnav:large"; }
  #localnav-viewport-emitter::before {
    content: "ac-localnav:large"; }
  @media only screen and (max-width: 1023px) {
    #localnav-viewport-emitter {
      x-content: "ac-localnav:medium"; }
      #localnav-viewport-emitter::before {
        content: "ac-localnav:medium"; } }
  @media only screen and (max-width: 767px) {
    #localnav-viewport-emitter {
      x-content: "ac-localnav:small"; }
      #localnav-viewport-emitter::before {
        content: "ac-localnav:small"; } }

.localnav {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 52px;
  min-width: 1024px;
  z-index: 9997; }
  @media only screen and (max-width: 1044px) {
    .localnav {
      min-width: 320px; } }
  @media only screen and (max-width: 767px) {
    .localnav {
      height: 48px; } }
  .localnav-overlap .localnav {
    margin-bottom: -52px; }
    @media only screen and (max-width: 767px) {
      .localnav-overlap .localnav {
        margin-bottom: -48px; } }
  .topnav-overlap .localnav {
    margin-top: 44px;
    margin-bottom: -96px; }
    @media only screen and (max-width: 767px) {
      .topnav-overlap .localnav {
        margin-top: 48px;
        margin-bottom: -96px; } }
  .localnav.theme-dark {
    background: none; }

.localnav-menustate {
  display: none; }
.localnav-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  z-index: 1; }

.localnav-content {
  margin: 0 auto;
  max-width: 980px;
  padding: 0 22px;
  position: relative;
  z-index: 2; }
  .localnav-content:before, .localnav-content:after {
    content: ' ';
    display: table; }
  .localnav-content:after {
    clear: both; }
  @media only screen and (max-width: 1023px) {
    .localnav-content {
      border-bottom: none; } }
  @media only screen and (max-width: 767px) {
    .localnav-content {
      padding: 0 16px; } }

.localnav.css-sticky {
  position: -webkit-sticky;
  position: sticky; }
.localnav.no-css-sticky.localnav-sticking {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: fixed; }

.localnav-sticky-placeholder {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
  visibility: hidden;
  z-index: -1; }
  .localnav-sticky-placeholder.no-css-sticky.localnav-sticking {
    height: 52px; }
    .localnav-overlap .localnav-sticky-placeholder.no-css-sticky.localnav-sticking, .topnav-overlap .localnav-sticky-placeholder.no-css-sticky.localnav-sticking {
      height: 0; }
    @media only screen and (max-width: 767px) {
      .localnav-sticky-placeholder.no-css-sticky.localnav-sticking {
        height: 48px; } }
.localnav-curtain {
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: 9996;
  -webkit-transition: opacity 0.2s ease;
          transition: opacity 0.2s ease; }
  @media only screen and (max-width: 767px) {
    .localnav-curtain {
      -webkit-transition: opacity 1s ease 0.2s, width 0s ease 1.2s, height 0s ease 1.2s;
              transition: opacity 1s ease 0.2s, width 0s ease 1.2s, height 0s ease 1.2s; } }
  .localnav-menustate:checked ~ .localnav-curtain, .localnav-menustate:target ~ .localnav-curtain {
    -webkit-transition: opacity 1s ease 0.1s;
            transition: opacity 1s ease 0.1s; }
    @media only screen and (max-width: 767px) {
      .localnav-menustate:checked ~ .localnav-curtain, .localnav-menustate:target ~ .localnav-curtain {
        opacity: 1;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%; } }
.localnav-actions {
  float: left; }
  @media only screen and (max-width: 767px) {
    .localnav-actions {
      right: 0;
      padding: 0 16px;
      position: absolute;
      top: 0;
      z-index: 1; } }
  @media only screen and (max-width: 767px) {
    .localnav-actions-center {
      left: 50%; } }
  @media only screen and (max-width: 767px) {
    .localnav-actions-center .localnav-action-menucta {
      margin-left: -20px;
      left: 0;
      position: absolute;
      z-index: 1; } }

.localnav-action {
  margin-left: 24px;
  float: left; }
  @media only screen and (max-width: 1023px) {
    .localnav-action {
      margin-left: 16px; } }
  @media only screen and (max-width: 767px) {
    .localnav-action-button {
      margin-left: 27px;
      float: right; } }
  .localnav-action-product {
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
            clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
    top: auto;
    left: auto; }
  .localnav-action-menucta {
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 767px) {
      .localnav-action-menucta {
        float: left; } }

.localnav-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transition: background-color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1);
          transition: background-color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1); }
  .localnav-background:after {
    background-color: rgba(214, 214, 214, 0.4); }
  html.ie8 .localnav-background {
    border-color: #d6d6d6; }
  @media only screen and (max-width: 767px) {
    .localnav-background {
      min-height: 48px;
      -webkit-transition: background-color 0.5s ease 0.7s;
              transition: background-color 0.5s ease 0.7s; }
      .localnav.localnav-hero .localnav-background {
        -webkit-transition-delay: 0s;
                transition-delay: 0s; } }
  .localnav.localnav-hero .localnav-background:after {
    background-color: rgba(255, 255, 255, 0.4); }
  html.ie8 .localnav.localnav-hero .localnav-background {
    border-color: #d6d6d6; }
  .localnav.localnav-scrim .localnav-background {
    background-color: rgba(255, 255, 255, 0.9); }
    .localnav.localnav-scrim .localnav-background:after {
      background-color: rgba(214, 214, 214, 0.4); }
    html.ie8 .localnav.localnav-scrim .localnav-background {
      border-color: #d6d6d6; }
    @supports (backdrop-filter: initial) {
      .localnav.localnav-scrim .localnav-background {
        backdrop-filter: saturate(180%) blur(20px);
        background-color: rgba(255, 255, 255, 0.7); } }
    .theme-dark .localnav-scrim.localnav .localnav-background,
    .localnav-scrim.localnav.theme-dark .localnav-background {
      background-color: rgba(34, 34, 34, 0.9); }
      @supports (backdrop-filter: initial) {
        .theme-dark .localnav-scrim.localnav .localnav-background,
        .localnav-scrim.localnav.theme-dark .localnav-background {
          background-color: rgba(34, 34, 34, 0.7); } }
  .localnav.localnav-sticking .localnav-background {
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-transition: background-color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1);
            transition: background-color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1);
    -webkit-transition-property: background-color, backdrop-filter;
            transition-property: background-color, backdrop-filter; }
    .localnav.localnav-sticking .localnav-background:after {
      background-color: rgba(214, 214, 214, 0.4); }
    html.ie8 .localnav.localnav-sticking .localnav-background {
      border-color: #d6d6d6; }
    @supports (backdrop-filter: initial) {
      .localnav.localnav-sticking .localnav-background {
        backdrop-filter: saturate(180%) blur(20px);
        background-color: rgba(255, 255, 255, 0.7); } }
    .theme-dark .localnav-sticking.localnav .localnav-background,
    .localnav-sticking.localnav.theme-dark .localnav-background {
      background-color: rgba(34, 34, 34, 0.9); }
      @supports (backdrop-filter: initial) {
        .theme-dark .localnav-sticking.localnav .localnav-background,
        .localnav-sticking.localnav.theme-dark .localnav-background {
          background-color: rgba(34, 34, 34, 0.7); } }
  .localnav-menustate:checked ~ .localnav .localnav-background, .localnav-menustate:target ~ .localnav .localnav-background {
    background-color: white;
    max-height: none;
    -webkit-transition: background-color 0.5s ease;
            transition: background-color 0.5s ease;
    -webkit-transition-property: background-color, backdrop-filter;
            transition-property: background-color, backdrop-filter; }
    .localnav-menustate:checked ~ .localnav .localnav-background:after, .localnav-menustate:target ~ .localnav .localnav-background:after {
      background-color: rgba(214, 214, 214, 0.4); }
    html.ie8 .localnav-menustate:checked ~ .localnav .localnav-background, html.ie8 .localnav-menustate:target ~ .localnav .localnav-background {
      border-color: #d6d6d6; }
    @supports (backdrop-filter: initial) {
      .localnav-menustate:checked ~ .localnav .localnav-background, .localnav-menustate:target ~ .localnav .localnav-background {
        backdrop-filter: saturate(180%) blur(20px);
        background-color: rgba(255, 255, 255, 0.9); } }
  .theme-dark .localnav .localnav-background:after,
  .localnav.theme-dark .localnav-background:after {
    background-color: rgba(153, 153, 153, 0.4); }
  html.ie8 .theme-dark .localnav .localnav-background, html.ie8 .localnav.theme-dark .localnav-background {
    border-color: #444444; }
  .theme-dark .localnav.localnav-hero .localnav-background:after, .theme-dark.localnav.localnav-hero .localnav-background:after {
    background-color: rgba(255, 255, 255, 0.4); }
  html.ie8 .theme-dark .localnav.localnav-hero .localnav-background, html.ie8 .theme-dark.localnav.localnav-hero .localnav-background {
    border-color: #444444; }
  .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-background:after, .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-background:after {
    background-color: #444444; }
  html.ie8 .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-background, html.ie8 .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-background {
    border-color: #444444; }
  .theme-dark .localnav.localnav-scrim .localnav-background:after, .theme-dark.localnav.localnav-scrim .localnav-background:after {
    background-color: rgba(153, 153, 153, 0.4); }
  html.ie8 .theme-dark .localnav.localnav-scrim .localnav-background, html.ie8 .theme-dark.localnav.localnav-scrim .localnav-background {
    border-color: #444444; }
  .theme-dark .localnav.localnav-sticking .localnav-background:after, .theme-dark.localnav.localnav-sticking .localnav-background:after {
    background-color: #444444; }
  html.ie8 .theme-dark .localnav.localnav-sticking .localnav-background, html.ie8 .theme-dark.localnav.localnav-sticking .localnav-background {
    border-color: #444444; }
  .theme-dark .localnav-menustate:checked ~ .localnav .localnav-background, .theme-dark .localnav-menustate:target ~ .localnav .localnav-background,
  .localnav-menustate:checked ~ .localnav.theme-dark .localnav-background, .localnav-menustate:target ~ .localnav.theme-dark .localnav-background {
    background-color: #222222; }
    .theme-dark .localnav-menustate:checked ~ .localnav .localnav-background:after, .theme-dark .localnav-menustate:target ~ .localnav .localnav-background:after,
    .localnav-menustate:checked ~ .localnav.theme-dark .localnav-background:after, .localnav-menustate:target ~ .localnav.theme-dark .localnav-background:after {
      background-color: #444444; }
    html.ie8 .theme-dark .localnav-menustate:checked ~ .localnav .localnav-background, html.ie8 .theme-dark .localnav-menustate:target ~ .localnav .localnav-background, html.ie8 .localnav-menustate:checked ~ .localnav.theme-dark .localnav-background, html.ie8 .localnav-menustate:target ~ .localnav.theme-dark .localnav-background {
      border-color: #444444; }
    @supports (backdrop-filter: initial) {
      .theme-dark .localnav-menustate:checked ~ .localnav .localnav-background, .theme-dark .localnav-menustate:target ~ .localnav .localnav-background,
      .localnav-menustate:checked ~ .localnav.theme-dark .localnav-background, .localnav-menustate:target ~ .localnav.theme-dark .localnav-background {
        background-color: rgba(34, 34, 34, 0.9); } }
  .localnav-background:after {
    margin-left: -490px;
    left: 50%;
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    width: 980px;
    height: 1px;
    z-index: 1; }
    html.ie8 .localnav-background:after {
      display: none; }
    @media only screen and (max-width: 1023px) {
      .localnav-background:after {
        margin-left: 0;
        left: 0;
        width: 100%; } }
    .localnav.localnav-noborder .localnav-background:after {
      display: none; }
      .localnav-noborder.localnav.localnav-sticking .localnav-background:after {
        display: block; }
    .localnav.localnav-scrim .localnav-background:after {
      margin-left: 0;
      left: 0;
      width: 100%; }
    .localnav.localnav-sticking .localnav-background:after {
      margin-left: 0;
      left: 0;
      width: 100%; }
    .localnav-menustate:checked ~ .localnav .localnav-background:after, .localnav-menustate:target ~ .localnav .localnav-background:after {
      margin-left: 0;
      left: 0;
      width: 100%; }
  html.ie8 .localnav-background {
    margin-left: -490px;
    left: 50%;
    border-bottom: 1px solid;
    bottom: 0;
    width: 980px;
    height: auto; }
    .localnav.localnav-noborder html.ie8 .localnav-background {
      border-bottom-width: 0; }
      .localnav-noborder.localnav.localnav-sticking html.ie8 .localnav-background {
        border-bottom-width: 1px; }
    .localnav.localnav-scrim html.ie8 .localnav-background {
      margin-left: 0;
      left: 0;
      width: 100%;
      background-color: white; }
    .localnav.localnav-sticking html.ie8 .localnav-background {
      margin-left: 0;
      left: 0;
      width: 100%;
      background-color: white; }
    .theme-dark .localnav.localnav-scrim html.ie8 .localnav-background, .theme-dark.localnav.localnav-scrim html.ie8 .localnav-background {
      background-color: #1f1f1f; }
    .theme-dark .localnav.localnav-sticking html.ie8 .localnav-background, .theme-dark.localnav.localnav-sticking html.ie8 .localnav-background {
      background-color: #1f1f1f; }

.localnav-menu {
  font-size: 13px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0em;
  float: right;
  line-height: 44px;
  padding-top: 8px; }
  @media only screen and (max-width: 767px) {
    .localnav-menu {
      font-size: 16px;
      line-height: 1;
      font-weight: 400;
      letter-spacing: 0em; } }
  .localnav-menu:lang(ja-JP) {
    font-size: 14px; }
    @media only screen and (max-width: 767px) {
      .localnav-menu:lang(ja-JP) {
        font-size: 16px; } }
  .localnav-menu:lang(ko-KR) {
    font-size: 14px; }
    @media only screen and (max-width: 767px) {
      .localnav-menu:lang(ko-KR) {
        font-size: 16px; } }
  @media only screen and (max-width: 767px) {
    .localnav-menu {
      line-height: 48px;
      padding-top: 0;
      width: 100%; } }
  .localnav-menu-tray {
    float: left; }
    @media only screen and (max-width: 767px) {
      .localnav-menu-tray {
        float: none;
        overflow: hidden;
        pointer-events: none;
        visibility: hidden;
        width: 100%;
        max-height: 0;
        -webkit-transition: max-height 0.5s cubic-bezier(0.28, 0.11, 0.32, 1) 0.4s, visibility 0s linear 1s;
                transition: max-height 0.5s cubic-bezier(0.28, 0.11, 0.32, 1) 0.4s, visibility 0s linear 1s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-tray, .localnav-menustate:target ~ .localnav .localnav-menu-tray {
          max-height: 400px;
          max-height: -webkit-calc(100vh - 48px - 48px);
          max-height: calc(100vh - 48px - 48px);
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          pointer-events: auto;
          visibility: visible;
          -webkit-transition-delay: 0.2s, 0s;
                  transition-delay: 0.2s, 0s; } }
    @media only screen and (max-width: 767px) and (orientation: landscape) {
      .localnav-menustate:checked ~ .localnav .localnav-menu-tray, .localnav-menustate:target ~ .localnav .localnav-menu-tray {
        max-height: 280px;
        max-height: -webkit-calc(100vh - 48px - 48px);
        max-height: calc(100vh - 48px - 48px); } }
    @media only screen and (max-width: 767px) {
          .localnav-menustate:checked ~ .localnav.localnav-opening .localnav-menu-tray, .localnav-menustate:target ~ .localnav.localnav-opening .localnav-menu-tray {
            overflow-y: hidden; }
          .localnav-menustate:checked ~ .localnav.localnav-sticking .localnav-menu-tray, .localnav-menustate:target ~ .localnav.localnav-sticking .localnav-menu-tray {
            max-height: -webkit-calc(100vh - 48px);
            max-height: calc(100vh - 48px); } }
  @media only screen and (max-width: 767px) {
    .localnav-menu-items {
      opacity: 0;
      padding: 17px 32px 28px 32px;
      -webkit-transform: translate3d(0, -150px, 0);
              transform: translate3d(0, -150px, 0);
      -webkit-transition: -webkit-transform 1s cubic-bezier(0.23, 1, 0.32, 1) 0.5s, opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
              transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1) 0.5s, opacity 0.7s cubic-bezier(0.23, 1, 0.32, 1) 0.2s; }
      .localnav-menustate:checked ~ .localnav .localnav-menu-items, .localnav-menustate:target ~ .localnav .localnav-menu-items {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
        -webkit-transition-delay: 0.2s, 0.4s;
                transition-delay: 0.2s, 0.4s; } }
  .localnav-menu-item {
    margin-left: 24px;
    float: left;
    list-style: none; }
    @media only screen and (max-width: 1023px) {
      .localnav-menu-item {
        margin-left: 16px; } }
    @media only screen and (max-width: 767px) {
      .localnav-menu-item {
        margin-left: 0;
        display: inline-block;
        float: none;
        line-height: 48px;
        width: 100%;
        height: 48px; }
        .localnav-menu-item:first-child .localnav-menu-link {
          border-top: 0; }
        .theme-dark .localnav .localnav-menu-item,
        .localnav.theme-dark .localnav-menu-item {
          border-color: rgba(68, 68, 68, 0.5); }
        .localnav-menu-item:nth-child(1) .localnav-menu-link {
          -webkit-transition-delay: 0.07s;
                  transition-delay: 0.07s; }
        .localnav-menu-item:nth-child(2) .localnav-menu-link {
          -webkit-transition-delay: 0.14s;
                  transition-delay: 0.14s; }
        .localnav-menu-item:nth-child(3) .localnav-menu-link {
          -webkit-transition-delay: 0.21s;
                  transition-delay: 0.21s; }
        .localnav-menu-item:nth-child(4) .localnav-menu-link {
          -webkit-transition-delay: 0.28s;
                  transition-delay: 0.28s; }
        .localnav-menu-item:nth-child(5) .localnav-menu-link {
          -webkit-transition-delay: 0.35s;
                  transition-delay: 0.35s; }
        .localnav-menu-item:nth-child(6) .localnav-menu-link {
          -webkit-transition-delay: 0.42s;
                  transition-delay: 0.42s; }
        .localnav-menu-item:nth-child(7) .localnav-menu-link {
          -webkit-transition-delay: 0.49s;
                  transition-delay: 0.49s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(1) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(1) .localnav-menu-link {
          -webkit-transition-delay: 0.56s;
                  transition-delay: 0.56s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(2) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(2) .localnav-menu-link {
          -webkit-transition-delay: 0.49s;
                  transition-delay: 0.49s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(3) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(3) .localnav-menu-link {
          -webkit-transition-delay: 0.42s;
                  transition-delay: 0.42s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(4) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(4) .localnav-menu-link {
          -webkit-transition-delay: 0.35s;
                  transition-delay: 0.35s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(5) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(5) .localnav-menu-link {
          -webkit-transition-delay: 0.28s;
                  transition-delay: 0.28s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(6) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(6) .localnav-menu-link {
          -webkit-transition-delay: 0.21s;
                  transition-delay: 0.21s; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-item:nth-child(7) .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-item:nth-child(7) .localnav-menu-link {
          -webkit-transition-delay: 0.14s;
                  transition-delay: 0.14s; } }
  .localnav-menu-link {
    color: #333333;
    display: inline-block;
    line-height: 22px;
    white-space: nowrap; }
    .localnav-menu-link:hover {
      text-decoration: none; }
    @media only screen and (max-width: 767px) {
      .localnav-menu-link {
        border-top: 1px solid rgba(214, 214, 214, 0.5);
        display: block;
        line-height: 48px;
        opacity: 0;
        -webkit-transform: translate3d(0, -25px, 0);
                transform: translate3d(0, -25px, 0);
        -webkit-transition: 0.5s ease;
                transition: 0.5s ease;
        -webkit-transition-property: -webkit-transform, opacity;
                transition-property: transform, opacity; }
        .theme-dark .localnav .localnav-menu-link,
        .localnav.theme-dark .localnav-menu-link {
          border-color: #333333; }
        .localnav-menustate:checked ~ .localnav .localnav-menu-link, .localnav-menustate:target ~ .localnav .localnav-menu-link {
          opacity: 1;
          -webkit-transform: translate3d(0, 0, 0);
                  transform: translate3d(0, 0, 0); } }
    .localnav.localnav-hero .localnav-menu-link {
      color: white; }
      .localnav-hero.localnav.localnav-sticking .localnav-menu-link {
        color: #333333; }
      .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link {
        color: #333333; }
      .localnav.localnav-hero .localnav-menu-link:hover {
        color: #66bbff; }
        .localnav-hero.localnav.localnav-sticking .localnav-menu-link:hover {
          color: #0070c9; }
        .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link:hover, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link:hover {
          color: #0070c9; }
    .theme-dark .localnav .localnav-menu-link,
    .localnav.theme-dark .localnav-menu-link {
      color: white; }
      .theme-dark .localnav.localnav-sticking .localnav-menu-link, .theme-dark.localnav.localnav-sticking .localnav-menu-link {
        color: white; }
      .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link {
        color: white; }
      .theme-dark .localnav .localnav-menu-link:hover,
      .localnav.theme-dark .localnav-menu-link:hover {
        color: #66bbff; }
        .theme-dark .localnav.localnav-sticking .localnav-menu-link:hover, .theme-dark.localnav.localnav-sticking .localnav-menu-link:hover {
          color: #66bbff; }
        .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link:hover, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link:hover, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link:hover, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link:hover {
          color: #66bbff; }
    .localnav-menu-link:hover {
      color: #0070c9;
      text-decoration: none; }
    .localnav-menu-link.current {
      color: rgba(51, 51, 51, 0.6);
      cursor: default; }
      html.ie8 .localnav-menu-link.current {
        color: #666666; }
      .localnav-menu-link.current:hover {
        color: rgba(51, 51, 51, 0.6); }
        html.ie8 .localnav-menu-link.current:hover {
          color: #666666; }
      .localnav.localnav-hero .localnav-menu-link.current {
        color: rgba(255, 255, 255, 0.6); }
        html.ie8 .localnav.localnav-hero .localnav-menu-link.current {
          color: #999999; }
        .localnav.localnav-hero .localnav-menu-link.current:hover {
          color: rgba(255, 255, 255, 0.6); }
          html.ie8 .localnav.localnav-hero .localnav-menu-link.current:hover {
            color: #999999; }
        .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current {
          color: rgba(51, 51, 51, 0.6); }
          html.ie8 .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current {
            color: #666666; }
          .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover {
            color: rgba(51, 51, 51, 0.6); }
            html.ie8 .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover {
              color: #666666; }
        .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link.current, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link.current {
          color: rgba(51, 51, 51, 0.6); }
          html.ie8 .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link.current, html.ie8 .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link.current {
            color: #666666; }
          .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link.current:hover, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link.current:hover {
            color: rgba(51, 51, 51, 0.6); }
            html.ie8 .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menu-link.current:hover, html.ie8 .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menu-link.current:hover {
              color: #666666; }
      .theme-dark .localnav .localnav-menu-link.current,
      .localnav.theme-dark .localnav-menu-link.current {
        color: rgba(255, 255, 255, 0.6); }
        html.ie8 .theme-dark .localnav .localnav-menu-link.current, html.ie8 .localnav.theme-dark .localnav-menu-link.current {
          color: #999999; }
        .theme-dark .localnav .localnav-menu-link.current:hover,
        .localnav.theme-dark .localnav-menu-link.current:hover {
          color: rgba(255, 255, 255, 0.6); }
          html.ie8 .theme-dark .localnav .localnav-menu-link.current:hover, html.ie8 .localnav.theme-dark .localnav-menu-link.current:hover {
            color: #999999; }
        .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link.current, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link.current, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link.current, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link.current {
          color: rgba(255, 255, 255, 0.6); }
          html.ie8 .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link.current, html.ie8 .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link.current, html.ie8 .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link.current, html.ie8 .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link.current {
            color: #999999; }
          .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link.current:hover, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link.current:hover, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link.current:hover, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link.current:hover {
            color: rgba(255, 255, 255, 0.6); }
            html.ie8 .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menu-link.current:hover, html.ie8 .theme-dark .localnav-menustate:target ~ .localnav .localnav-menu-link.current:hover, html.ie8 .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menu-link.current:hover, html.ie8 .localnav-menustate:target ~ .theme-dark.localnav .localnav-menu-link.current:hover {
              color: #999999; }
        .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current, .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-menu-link.current {
          color: rgba(255, 255, 255, 0.6); }
          html.ie8 .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current, html.ie8 .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-menu-link.current {
            color: #999999; }
          .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover, .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover {
            color: rgba(255, 255, 255, 0.6); }
            html.ie8 .theme-dark .localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover, html.ie8 .theme-dark.localnav-hero.localnav.localnav-sticking .localnav-menu-link.current:hover {
              color: #999999; }

.localnav-action-menucta {
  display: none; }
  @media only screen and (max-width: 767px) {
    .localnav-action-menucta {
      display: block; } }

.localnav-menucta {
  margin-right: -11px;
  cursor: pointer;
  display: block;
  overflow: hidden;
  width: 40px;
  height: 48px;
  -webkit-tap-highlight-color: transparent; }
  .localnav-menucta-chevron {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
            transition: transform 1s cubic-bezier(0.86, 0, 0.07, 1), -ms-transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
            transition: transform 1s cubic-bezier(0.86, 0, 0.07, 1), transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
    -webkit-transform: translateY(10%);
        -ms-transform: translateY(10%);
            transform: translateY(10%); }
    .localnav-menucta-chevron::before, .localnav-menucta-chevron::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      width: 12px;
      height: 1px;
      z-index: 1;
      -webkit-transition: -webkit-transform 1s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
              transition: transform 1s cubic-bezier(0.86, 0, 0.07, 1), -ms-transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1);
              transition: transform 1s cubic-bezier(0.86, 0, 0.07, 1), transform-origin 1s cubic-bezier(0.86, 0, 0.07, 1); }
    .localnav-menucta-chevron::before {
      right: 50%; }
    .localnav-menucta-chevron::after {
      left: 50%; }
    .localnav-menucta-chevron::before, .localnav-menucta-chevron::after {
      background: #333333; }
    .localnav-menucta-chevron::before {
      -webkit-transform-origin: 100% 100%;
          -ms-transform-origin: 100% 100%;
              transform-origin: 100% 100%;
      -webkit-transform: rotate(40deg) scaleY(1.5);
          -ms-transform: rotate(40deg) scaleY(1.5);
              transform: rotate(40deg) scaleY(1.5); }
    .localnav-menucta-chevron::after {
      -webkit-transform-origin: 0% 100%;
          -ms-transform-origin: 0% 100%;
              transform-origin: 0% 100%;
      -webkit-transform: rotate(-40deg) scaleY(1.5);
          -ms-transform: rotate(-40deg) scaleY(1.5);
              transform: rotate(-40deg) scaleY(1.5); }
    .localnav-menustate:checked ~ .localnav .localnav-menucta-chevron, .localnav-menustate:target ~ .localnav .localnav-menucta-chevron {
      -webkit-transform: translateY(-10%);
          -ms-transform: translateY(-10%);
              transform: translateY(-10%); }
      .localnav-menustate:checked ~ .localnav .localnav-menucta-chevron::before, .localnav-menustate:target ~ .localnav .localnav-menucta-chevron::before {
        -webkit-transform-origin: 100% 0%;
            -ms-transform-origin: 100% 0%;
                transform-origin: 100% 0%;
        -webkit-transform: rotate(-40deg) scaleY(1.5);
            -ms-transform: rotate(-40deg) scaleY(1.5);
                transform: rotate(-40deg) scaleY(1.5); }
      .localnav-menustate:checked ~ .localnav .localnav-menucta-chevron::after, .localnav-menustate:target ~ .localnav .localnav-menucta-chevron::after {
        -webkit-transform-origin: 0% 0%;
            -ms-transform-origin: 0% 0%;
                transform-origin: 0% 0%;
        -webkit-transform: rotate(40deg) scaleY(1.5);
            -ms-transform: rotate(40deg) scaleY(1.5);
                transform: rotate(40deg) scaleY(1.5); }
    .localnav.localnav-hero .localnav-menucta-chevron::before, .localnav.localnav-hero .localnav-menucta-chevron::after {
      background: white; }
    .localnav-hero.localnav.localnav-sticking .localnav-menucta-chevron::before, .localnav-hero.localnav.localnav-sticking .localnav-menucta-chevron::after {
      background: #333333; }
    .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menucta-chevron::before, .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-menucta-chevron::after, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menucta-chevron::before, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-menucta-chevron::after {
      background: #333333; }
    .theme-dark .localnav .localnav-menucta-chevron::before, .theme-dark .localnav .localnav-menucta-chevron::after,
    .localnav.theme-dark .localnav-menucta-chevron::before,
    .localnav.theme-dark .localnav-menucta-chevron::after {
      background: white; }
    .theme-dark .localnav.localnav-sticking .localnav-menucta-chevron::before, .theme-dark .localnav.localnav-sticking .localnav-menucta-chevron::after, .theme-dark.localnav.localnav-sticking .localnav-menucta-chevron::before, .theme-dark.localnav.localnav-sticking .localnav-menucta-chevron::after {
      background: white; }
    .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menucta-chevron::before, .theme-dark .localnav-menustate:checked ~ .localnav .localnav-menucta-chevron::after, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menucta-chevron::before, .theme-dark .localnav-menustate:target ~ .localnav .localnav-menucta-chevron::after, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menucta-chevron::before, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-menucta-chevron::after, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menucta-chevron::before, .localnav-menustate:target ~ .theme-dark.localnav .localnav-menucta-chevron::after {
      background: white; }
  .localnav-menucta-anchor {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    z-index: 10; }
    .localnav-menucta-anchor:focus {
      outline-offset: -6px;
      width: 100%;
      height: 100%; }
    .localnav-menucta-anchor-close {
      display: none; }
    .localnav-menucta-anchor-label {
      position: absolute;
      clip: rect(1px 1px 1px 1px);
      clip: rect(1px, 1px, 1px, 1px);
      -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
              clip-path: inset(0px 0px 99.9% 99.9%);
      overflow: hidden;
      height: 1px;
      width: 1px;
      padding: 0;
      border: 0; }
    @media only screen and (max-width: 767px) {
      .localnav-menucta-anchor {
        display: block; } }
    .localnav-menustate:checked ~ .localnav .localnav-menucta-anchor-open, .localnav-menustate:target ~ .localnav .localnav-menucta-anchor-open {
      display: none; }
    .localnav-menustate:checked ~ .localnav .localnav-menucta-anchor-close, .localnav-menustate:target ~ .localnav .localnav-menucta-anchor-close {
      display: block; }

.localnav-title {
  font-size: 28px;
  line-height: 1.8573;
  font-weight: 300;
  letter-spacing: 0em;
  cursor: default;
  display: block;
  float: left;
  margin: 0;
  padding: 0;
  height: 52px;
  white-space: nowrap; }
  @media only screen and (max-width: 767px) {
    .localnav-title {
      font-size: 20px;
      line-height: 2.4;
      font-weight: 300;
      letter-spacing: 0em; } }
  @media only screen and (max-width: 767px) {
    .localnav-title {
      display: inline-block;
      line-height: 48px;
      height: 48px; } }
  .localnav-title a, .localnav-title .page-reservation button.more, .page-reservation .localnav-title button.more {
    display: inline-block;
    line-height: 1;
    margin: 0;
    text-decoration: none;
    white-space: nowrap;
    vertical-align: middle; }
    html.ie8 .localnav-title a, html.ie8 .localnav-title .page-reservation button.more, .page-reservation html.ie8 .localnav-title button.more {
      line-height: 52px; }
    .localnav-title a:hover, .localnav-title .page-reservation button.more:hover, .page-reservation .localnav-title button.more:hover {
      text-decoration: none; }
  .localnav-title,
  .localnav-title a,
  .localnav-title .page-reservation button.more,
  .page-reservation .localnav-title button.more {
    color: #333333;
    -webkit-transition: color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1);
            transition: color 0.5s cubic-bezier(0.28, 0.11, 0.32, 1); }
    .localnav.localnav-hero .localnav-title, .localnav.localnav-hero .localnav-title a, .localnav.localnav-hero .localnav-title .page-reservation button.more, .page-reservation .localnav.localnav-hero .localnav-title button.more {
      color: white; }
      .localnav-hero.localnav.localnav-sticking .localnav-title, .localnav-hero.localnav.localnav-sticking .localnav-title a, .localnav-hero.localnav.localnav-sticking .localnav-title .page-reservation button.more, .page-reservation .localnav-hero.localnav.localnav-sticking .localnav-title button.more {
        color: #333333; }
      .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-title, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-title, .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-title a, .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-title .page-reservation button.more, .page-reservation .localnav-menustate:checked ~ .localnav-hero.localnav .localnav-title button.more, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-title a, .localnav-menustate:target ~ .localnav-hero.localnav .localnav-title .page-reservation button.more, .page-reservation .localnav-menustate:target ~ .localnav-hero.localnav .localnav-title button.more {
        color: #333333; }
    .theme-dark .localnav .localnav-title, .theme-dark .localnav .localnav-title a, .theme-dark .localnav .localnav-title .page-reservation button.more, .page-reservation .theme-dark .localnav .localnav-title button.more,
    .localnav.theme-dark .localnav-title, .localnav.theme-dark .localnav-title a, .localnav.theme-dark .localnav-title .page-reservation button.more, .page-reservation .localnav.theme-dark .localnav-title button.more {
      color: white; }
      .theme-dark .localnav.localnav-sticking .localnav-title, .theme-dark .localnav.localnav-sticking .localnav-title a, .theme-dark .localnav.localnav-sticking .localnav-title .page-reservation button.more, .page-reservation .theme-dark .localnav.localnav-sticking .localnav-title button.more, .theme-dark.localnav.localnav-sticking .localnav-title, .theme-dark.localnav.localnav-sticking .localnav-title a, .theme-dark.localnav.localnav-sticking .localnav-title .page-reservation button.more, .page-reservation .theme-dark.localnav.localnav-sticking .localnav-title button.more {
        color: white; }
      .theme-dark .localnav-menustate:checked ~ .localnav .localnav-title, .theme-dark .localnav-menustate:target ~ .localnav .localnav-title, .theme-dark .localnav-menustate:checked ~ .localnav .localnav-title a, .theme-dark .localnav-menustate:checked ~ .localnav .localnav-title .page-reservation button.more, .page-reservation .theme-dark .localnav-menustate:checked ~ .localnav .localnav-title button.more, .theme-dark .localnav-menustate:target ~ .localnav .localnav-title a, .theme-dark .localnav-menustate:target ~ .localnav .localnav-title .page-reservation button.more, .page-reservation .theme-dark .localnav-menustate:target ~ .localnav .localnav-title button.more, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-title, .localnav-menustate:target ~ .theme-dark.localnav .localnav-title, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-title a, .localnav-menustate:checked ~ .theme-dark.localnav .localnav-title .page-reservation button.more, .page-reservation .localnav-menustate:checked ~ .theme-dark.localnav .localnav-title button.more, .localnav-menustate:target ~ .theme-dark.localnav .localnav-title a, .localnav-menustate:target ~ .theme-dark.localnav .localnav-title .page-reservation button.more, .page-reservation .localnav-menustate:target ~ .theme-dark.localnav .localnav-title button.more {
        color: white; }
  .localnav-title-image {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    display: inline-block; }
  .localnav-title-subhead, .localnav-title-comingsoon {
    font-size: 21px;
    line-height: 1;
    font-weight: 300;
    letter-spacing: 0em; }
    @media only screen and (max-width: 767px) {
      .localnav-title-subhead, .localnav-title-comingsoon {
        font-size: 14px;
        line-height: 1;
        font-weight: 300;
        letter-spacing: 0em; } }
  .localnav-title-comingsoon {
    opacity: 0.6; }
    html.ie8 .localnav-title-comingsoon {
      color: #666666; }
      .localnav.localnav-hero html.ie8 .localnav-title-comingsoon {
        color: #999999; }
      .theme-dark .localnav html.ie8 .localnav-title-comingsoon,
      .localnav.theme-dark html.ie8 .localnav-title-comingsoon {
        color: #999999; }
  .localnav-title-apple {
    font-size: 28px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0em;
    padding-left: 2px;
    font-family: "Apple Icons"; }
    @media only screen and (max-width: 767px) {
      .localnav-title-apple {
        font-size: 19px;
        line-height: 1;
        font-weight: 400;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 767px) {
      .localnav-title-apple {
        padding-left: 0; } }

/**
 * Centers an image per the provided viewport
 * @param	{string} $image			The image filename
 * @param	{string} $viewport	 The viewport of the image
 * @param	{string} [$position] Optional position value
 * @type	 {mixin}
 * @return {string}						 Styling to center the image
 */
/**
 * Returns the maximum image height of an image in the provided viewport
 * @param	{string}	 $images		The root image filename
 * @param	{string}	 $viewport	The viewport of the image
 * @type	 {function}
 * @return {string}	 $max-height The max height of the image in pixels
 */
/**
 * Replaces all occurrences of a search string with a replacement string
 *
 * @param {String} $string
 * @param {String} $search
 * @param {String} $replace ('')
 *
 * @return {String} `$string` with `$search` replaced with `$replace`
 */
/**
 * Outputs the CSS property at each viewport
 *
 * @group viewports
 *
 * @access public
 *
 * @param {String} $property - The name of the property
 * @param {Map} $values - The values in the form `viewport: value`
 *
 * @requires viewport-exists
 * @requires {mixin} viewport
 *
 */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
  *.hide-for-retina {
    display: none; } }
@media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 2.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (min-resolution: 240dpi) {
  *.hide-for-retina-3x {
    display: none; } }
*.show-only-for-retina {
  display: none; }
*.show-only-for-retina-3x {
  display: none; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    *.show-only-for-retina-3x {
      display: none; } }
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
  *.show-only-for-retina {
    display: block; } }
@media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 2.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (min-resolution: 240dpi) {
  *.show-only-for-retina-3x {
    display: block; } }

.hide-for-large {
  display: none; }
  @media only screen and (max-width: 1068px) {
    .hide-for-large {
      display: block; } }

@media only screen and (max-width: 1068px) {
  .hide-for-medium {
    display: none; } }
@media only screen and (max-width: 735px) {
  .hide-for-medium {
    display: block; } }

@media only screen and (max-width: 735px) {
  .hide-for-small {
    display: none; } }

@media only screen and (max-width: 735px) {
  .show-for-small {
    display: block; } }

.show-only-for-small {
  display: none; }
  @media only screen and (max-width: 735px) {
    .show-only-for-small {
      display: block; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 735px) and (min-resolution: 1.5dppx), only screen and (max-width: 735px) and (min-resolution: 144dpi) {
    .show-only-for-small.hide-for-retina {
      display: none; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 2.5), only screen and (max-width: 735px) and (min-resolution: 2.5dppx), only screen and (max-width: 735px) and (min-resolution: 240dpi) {
    .show-only-for-small.hide-for-retina-3x {
      display: none; } }
  @media only screen and (max-width: 735px) {
      .show-only-for-small.show-only-for-retina {
        display: none; }
      .show-only-for-small.show-only-for-retina-3x {
        display: none; } }
    @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 735px) and (min-resolution: 1.5dppx), only screen and (max-width: 735px) and (min-resolution: 144dpi) {
      .show-only-for-small.show-only-for-retina-3x {
        display: none; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 735px) and (min-resolution: 1.5dppx), only screen and (max-width: 735px) and (min-resolution: 144dpi) {
    .show-only-for-small.show-only-for-retina {
      display: block; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 2.5), only screen and (max-width: 735px) and (min-resolution: 2.5dppx), only screen and (max-width: 735px) and (min-resolution: 240dpi) {
    .show-only-for-small.show-only-for-retina-3x {
      display: block; } }

@media only screen and (max-width: 1068px) {
  .show-for-medium {
    display: block; } }

.show-only-for-medium {
  display: none; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .show-only-for-medium.hide-for-retina {
      display: none; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 2.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (min-resolution: 240dpi) {
    .show-only-for-medium.hide-for-retina-3x {
      display: none; } }
  .show-only-for-medium.show-only-for-retina {
    display: none; }
  .show-only-for-medium.show-only-for-retina-3x {
    display: none; }
    @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
      .show-only-for-medium.show-only-for-retina-3x {
        display: none; } }
  @media only screen and (max-width: 1068px) {
    .show-only-for-medium {
      display: block; } }
  @media only screen and (max-width: 1068px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 1068px) and (min-resolution: 1.5dppx), only screen and (max-width: 1068px) and (min-resolution: 144dpi) {
    .show-only-for-medium.show-only-for-retina {
      display: block; } }
  @media only screen and (max-width: 1068px) and (-webkit-min-device-pixel-ratio: 2.5), only screen and (max-width: 1068px) and (min-resolution: 2.5dppx), only screen and (max-width: 1068px) and (min-resolution: 240dpi) {
    .show-only-for-medium.show-only-for-retina-3x {
      display: block; } }

  @media only screen and (max-width: 735px) {
    .show-only-for-medium {
      display: none; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 735px) and (min-resolution: 1.5dppx), only screen and (max-width: 735px) and (min-resolution: 144dpi) {
    .show-only-for-medium.hide-for-retina {
      display: none; } }
  @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 2.5), only screen and (max-width: 735px) and (min-resolution: 2.5dppx), only screen and (max-width: 735px) and (min-resolution: 240dpi) {
    .show-only-for-medium.hide-for-retina-3x {
      display: none; } }
  @media only screen and (max-width: 735px) {
      .show-only-for-medium.show-only-for-retina {
        display: none; }
      .show-only-for-medium.show-only-for-retina-3x {
        display: none; } }
    @media only screen and (max-width: 735px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 735px) and (min-resolution: 1.5dppx), only screen and (max-width: 735px) and (min-resolution: 144dpi) {
      .show-only-for-medium.show-only-for-retina-3x {
        display: none; } }

.show-for-large {
  display: block; }

.show-for-large-only {
  display: block; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .show-for-large-only.hide-for-retina {
      display: none; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 2.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (min-resolution: 240dpi) {
    .show-for-large-only.hide-for-retina-3x {
      display: none; } }
  .show-for-large-only.show-only-for-retina {
    display: none; }
  .show-for-large-only.show-only-for-retina-3x {
    display: none; }
    @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
      .show-for-large-only.show-only-for-retina-3x {
        display: none; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    .show-for-large-only.show-only-for-retina {
      display: block; } }
  @media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (min-resolution: 2.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (min-resolution: 240dpi) {
    .show-for-large-only.show-only-for-retina-3x {
      display: block; } }
  @media only screen and (max-width: 1068px) {
    .show-for-large-only {
      display: none; } }
  @media only screen and (max-width: 1068px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 1068px) and (min-resolution: 1.5dppx), only screen and (max-width: 1068px) and (min-resolution: 144dpi) {
    .show-for-large-only.hide-for-retina {
      display: none; } }
  @media only screen and (max-width: 1068px) and (-webkit-min-device-pixel-ratio: 2.5), only screen and (max-width: 1068px) and (min-resolution: 2.5dppx), only screen and (max-width: 1068px) and (min-resolution: 240dpi) {
    .show-for-large-only.hide-for-retina-3x {
      display: none; } }
  @media only screen and (max-width: 1068px) {
      .show-for-large-only.show-only-for-retina {
        display: none; }
      .show-for-large-only.show-only-for-retina-3x {
        display: none; } }
    @media only screen and (max-width: 1068px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (max-width: 1068px) and (min-resolution: 1.5dppx), only screen and (max-width: 1068px) and (min-resolution: 144dpi) {
      .show-for-large-only.show-only-for-retina-3x {
        display: none; } }

.padded-spaces::after {
  content: '\00a0'; }

.margin-top {
  margin-top: 1em; }

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

.constrain-and-center {
  width: viewport-get-min(large);
  margin: 0 auto;
  overflow: visible; }
  @media only screen and (max-width: 1068px) {
    .constrain-and-center {
      width: viewport-get-min(medium); } }
  @media only screen and (max-width: 735px) {
    .constrain-and-center {
      width: viewport-get-min(small); } }

.align-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

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

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

.align-large-center-small-left {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 735px) {
    .align-large-center-small-left {
      text-align: left; } }

@media only screen and (max-width: 735px) {
  .small-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto; } }

.no-margin-bottom {
  margin-bottom: 0; }

.flush-bottom-right {
  position: absolute;
  right: 0;
  bottom: 0; }

.accordion-transitions {
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease; }

.accordion-section {
  overflow: hidden; }

.accordion-inner {
  overflow: auto; }

.intro {
  font-size: 24px;
  line-height: 1.33349;
  font-weight: 300;
  letter-spacing: 0em; }
  html.ie8 .intro {
    font-weight: normal; }
  @media only screen and (max-width: 735px) {
    .intro {
      font-size: 20px;
      line-height: 1.4;
      font-weight: 300;
      letter-spacing: 0em; } }
  .intro:lang(zh) {
    font-size: 22px; }
    @media only screen and (max-width: 735px) {
      .intro:lang(zh) {
        font-size: 18px; } }

.intro-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto; }

.allcaps {
  text-transform: uppercase;
  letter-spacing: 0.2em; }

.smallblock-copy {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0em; }
  .smallblock-copy:lang(zh) {
    font-size: 14px; }

.padtop .main {
  padding-top: 104px; }
  @media only screen and (max-width: 1068px) {
    .padtop .main {
      padding-top: 90px; } }
  @media only screen and (max-width: 735px) {
    .padtop .main {
      padding-top: 50px; } }
.padbottom .main {
  padding-bottom: 104px; }
  @media only screen and (max-width: 1068px) {
    .padbottom .main {
      padding-bottom: 90px; } }
  @media only screen and (max-width: 735px) {
    .padbottom .main {
      padding-bottom: 50px; } }

.section {
  padding-top: 60px;
  padding-bottom: 60px;
  overflow: hidden;
  position: relative;
  z-index: 1; }
  .section:before, .section:after {
    content: ' ';
    display: table; }
  .section:after {
    clear: both; }
  @media only screen and (max-width: 1068px) {
    .section {
      padding-top: 50px; } }
  @media only screen and (max-width: 735px) {
    .section {
      padding-top: 40px; } }
  @media only screen and (max-width: 1068px) {
    .section {
      padding-bottom: 50px; } }
  @media only screen and (max-width: 735px) {
    .section {
      padding-bottom: 40px; } }
  .page-errors .section {
    padding-top: 0;
    padding-bottom: 0; }

.section-nopad,
.section-nopadtop {
  padding-top: 0; }

.section-nopad,
.section-nopadbottom {
  padding-bottom: 0; }

.section-borderbottom {
  padding-bottom: 0; }
  .section-borderbottom .section-content {
    padding-bottom: 60px;
    border-bottom: 1px solid #d6d6d6; }
    @media only screen and (max-width: 1068px) {
      .section-borderbottom .section-content {
        padding-bottom: 50px; } }
    @media only screen and (max-width: 735px) {
      .section-borderbottom .section-content {
        padding-bottom: 40px; } }
  .section-borderbottom.section-nopad .section-content {
    padding-bottom: 0; }

@media only screen and (max-width: 735px) {
  .section-borderbottom-small {
    padding-bottom: 0; }
    .section-borderbottom-small .section-content {
      padding-bottom: 60px;
      border-bottom: 1px solid #d6d6d6; } }
    @media only screen and (max-width: 735px) and (max-width: 1068px) {
      .section-borderbottom-small .section-content {
        padding-bottom: 50px; } }
    @media only screen and (max-width: 735px) and (max-width: 735px) {
      .section-borderbottom-small .section-content {
        padding-bottom: 40px; } }

.section-content {
  padding-bottom: 60px;
  border: solid #d6d6d6;
  border-width: 0 0 1px;
  margin-left: auto;
  margin-right: auto;
  width: 980px; }
  @media only screen and (max-width: 1068px) {
    .section-content {
      padding-bottom: 50px; } }
  @media only screen and (max-width: 735px) {
    .section-content {
      padding-bottom: 40px; } }
  @media only screen and (min-width: 1442px) {
    .section-content {
      margin-left: auto;
      margin-right: auto;
      width: 980px; } }
  @media only screen and (max-width: 1068px) {
    .section-content {
      margin-left: auto;
      margin-right: auto;
      width: 692px; } }
  @media only screen and (max-width: 735px) {
    .section-content {
      margin-left: auto;
      margin-right: auto;
      width: 90%; } }
  .section-content:last-of-type {
    border-width: 0;
    padding-bottom: 0; }
  .section-content h2,
  .section-content h3,
  .section-content .subsection-subheadline {
    font-size: 32px;
    line-height: 1.125;
    font-weight: 300;
    letter-spacing: 0em;
    margin-bottom: .45em; }
    html.ie8 .section-content h2, html.ie8 .section-content h3, html.ie8 .section-content .subsection-subheadline {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .section-content h2,
      .section-content h3,
      .section-content .subsection-subheadline {
        font-size: 28px;
        line-height: 1.14286;
        font-weight: 300;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 735px) {
      .section-content h2,
      .section-content h3,
      .section-content .subsection-subheadline {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .section-content h2:lang(th),
    .section-content h3:lang(th),
    .section-content .subsection-subheadline:lang(th) {
      line-height: 1.21875; }
      @media only screen and (max-width: 1068px) {
        .section-content h2:lang(th),
        .section-content h3:lang(th),
        .section-content .subsection-subheadline:lang(th) {
          line-height: 1.25; } }
      @media only screen and (max-width: 735px) {
        .section-content h2:lang(th),
        .section-content h3:lang(th),
        .section-content .subsection-subheadline:lang(th) {
          line-height: 1.29167; } }
    .section-content h2:lang(zh),
    .section-content h3:lang(zh),
    .section-content .subsection-subheadline:lang(zh) {
      font-size: 30px; }
      @media only screen and (max-width: 1068px) {
        .section-content h2:lang(zh),
        .section-content h3:lang(zh),
        .section-content .subsection-subheadline:lang(zh) {
          font-size: 26px; } }
      @media only screen and (max-width: 735px) {
        .section-content h2:lang(zh),
        .section-content h3:lang(zh),
        .section-content .subsection-subheadline:lang(zh) {
          font-size: 22px; } }

.section-hero {
  padding: 0; }
  .section-hero .section-content {
    padding: 58px 0 37px;
    margin: 0 auto 67px;
    border: solid #d6d6d6;
    border-width: 0 0 1px; }
    @media only screen and (max-width: 735px) {
      .section-hero .section-content {
        padding: 45px 0 23px; } }
    @media only screen and (max-width: 735px) {
      .section-hero .section-content {
        margin: 0 auto 36px; } }
    .page-unavailable .section-hero .section-content {
      margin-bottom: 0;
      padding-bottom: 0; }
    .section-hero .section-content h2,
    .section-hero .section-content .subsection-headline {
      font-size: 40px;
      line-height: 1.1;
      font-weight: 300;
      letter-spacing: -0.008em;
      margin-bottom: .45em; }
      html.ie8 .section-hero .section-content h2, html.ie8 .section-hero .section-content .subsection-headline {
        font-weight: normal; }
      @media only screen and (max-width: 1068px) {
        .section-hero .section-content h2,
        .section-hero .section-content .subsection-headline {
          font-size: 32px;
          line-height: 1.125;
          font-weight: 300;
          letter-spacing: 0em; } }
      @media only screen and (max-width: 735px) {
        .section-hero .section-content h2,
        .section-hero .section-content .subsection-headline {
          font-size: 28px;
          line-height: 1.14286;
          font-weight: 300;
          letter-spacing: 0em; } }
      .section-hero .section-content h2:lang(ja),
      .section-hero .section-content .subsection-headline:lang(ja) {
        letter-spacing: 0em; }
      .section-hero .section-content h2:lang(ko),
      .section-hero .section-content .subsection-headline:lang(ko) {
        letter-spacing: 0em; }
      .section-hero .section-content h2:lang(th),
      .section-hero .section-content .subsection-headline:lang(th) {
        line-height: 1.2;
        letter-spacing: 0em; }
        @media only screen and (max-width: 1068px) {
          .section-hero .section-content h2:lang(th),
          .section-hero .section-content .subsection-headline:lang(th) {
            line-height: 1.21875; } }
        @media only screen and (max-width: 735px) {
          .section-hero .section-content h2:lang(th),
          .section-hero .section-content .subsection-headline:lang(th) {
            line-height: 1.25; } }
      .section-hero .section-content h2:lang(zh),
      .section-hero .section-content .subsection-headline:lang(zh) {
        font-size: 38px;
        letter-spacing: 0em; }
        @media only screen and (max-width: 1068px) {
          .section-hero .section-content h2:lang(zh),
          .section-hero .section-content .subsection-headline:lang(zh) {
            font-size: 30px; } }
        @media only screen and (max-width: 735px) {
          .section-hero .section-content h2:lang(zh),
          .section-hero .section-content .subsection-headline:lang(zh) {
            font-size: 26px; } }
      .section-hero .section-content h2:last-child,
      .section-hero .section-content .subsection-headline:last-child {
        margin-bottom: 14px; }
        @media only screen and (max-width: 735px) {
          .section-hero .section-content h2:last-child,
          .section-hero .section-content .subsection-headline:last-child {
            margin-bottom: 18px; } }
    @media only screen and (max-width: 735px) {
      .section-hero .section-content p {
        width: 88%;
        margin-left: auto;
        margin-right: auto; } }

.section-content-large {
  margin-left: auto;
  margin-right: auto;
  width: 980px;
  float: none; }

.section-content-reset-large {
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

@media only screen and (min-width: 1442px) and (min-width: 1442px) {
  .section-content-xlarge {
    margin-left: auto;
    margin-right: auto;
    width: 980px; } }
@media only screen and (min-width: 1442px) and (min-width: 1442px) {
  .section-content-xlarge {
    float: none; } }

@media only screen and (min-width: 1442px) {
  .section-content-reset-xlarge {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
@media only screen and (max-width: 1068px) and (max-width: 1068px) {
  .section-content-medium {
    margin-left: auto;
    margin-right: auto;
    width: 692px; } }
@media only screen and (max-width: 1068px) and (max-width: 1068px) {
  .section-content-medium {
    float: none; } }

@media only screen and (max-width: 1068px) {
  .section-content-reset-medium {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
@media only screen and (max-width: 735px) and (max-width: 735px) {
  .section-content-small {
    margin-left: auto;
    margin-right: auto;
    width: 90%; } }
@media only screen and (max-width: 735px) and (max-width: 735px) {
  .section-content-small {
    float: none; } }

@media only screen and (max-width: 735px) {
  .section-content-reset-small {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
@media only screen and (max-width: 414px) and (max-width: 414px) {
  .section-content-form-compact {
    float: none; } }

@media only screen and (max-width: 414px) {
  .section-content-reset-form-compact {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
.section-content-ac-localnav:large {
  float: none; }

.section-content-reset-ac-localnav:large {
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

@media only screen and (max-width: 1023px) and (max-width: 1023px) {
  .section-content-ac-localnav:medium {
    float: none; } }

@media only screen and (max-width: 1023px) {
  .section-content-reset-ac-localnav:medium {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .section-content-ac-localnav:small {
    float: none; } }

@media only screen and (max-width: 767px) {
  .section-content-reset-ac-localnav:small {
    margin-left: auto;
    margin-right: auto;
    width: 100%; } }
#ac-localnav .ac-ln-title figure {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
          clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
  margin-top: 10px; }
  @media only screen and (max-width: 735px) {
    #ac-localnav .ac-ln-title figure {
      margin-top: 2px; } }

.vertical-divider h2 {
  font-size: 32px;
  line-height: 1.125;
  font-weight: 300;
  letter-spacing: 0em; }
  html.ie8 .vertical-divider h2 {
    font-weight: normal; }
  @media only screen and (max-width: 1068px) {
    .vertical-divider h2 {
      font-size: 28px;
      line-height: 1.14286;
      font-weight: 300;
      letter-spacing: 0em; } }
  @media only screen and (max-width: 735px) {
    .vertical-divider h2 {
      font-size: 24px;
      line-height: 1.16667;
      font-weight: 300;
      letter-spacing: 0em; } }
  .vertical-divider h2:lang(th) {
    line-height: 1.21875; }
    @media only screen and (max-width: 1068px) {
      .vertical-divider h2:lang(th) {
        line-height: 1.25; } }
    @media only screen and (max-width: 735px) {
      .vertical-divider h2:lang(th) {
        line-height: 1.29167; } }
  .vertical-divider h2:lang(zh) {
    font-size: 30px; }
    @media only screen and (max-width: 1068px) {
      .vertical-divider h2:lang(zh) {
        font-size: 26px; } }
    @media only screen and (max-width: 735px) {
      .vertical-divider h2:lang(zh) {
        font-size: 22px; } }
.vertical-divider .keyline {
  border-right: 1px solid #d6d6d6; }
  @media only screen and (max-width: 735px) {
    .vertical-divider .keyline {
      border-right: 0;
      border-bottom: 1px solid #d6d6d6; } }
.vertical-divider .column-first {
  padding: 0 50px 0 0; }
  @media only screen and (max-width: 1068px) {
    .vertical-divider .column-first {
      padding: 0 25px 0 0; } }
  @media only screen and (max-width: 735px) {
    .vertical-divider .column-first {
      padding: 0 0 27px 0; } }
.vertical-divider .column-last {
  padding: 0 0 0 50px; }
  @media only screen and (max-width: 1068px) {
    .vertical-divider .column-last {
      padding: 0 0 0 25px; } }
  @media only screen and (max-width: 735px) {
    .vertical-divider .column-last {
      padding: 45px 0 0 0; } }

.error,
.hidden {
  display: none; }
  .error.show,
  .hidden.show {
    display: block; }

select:disabled,
.errors {
  opacity: .4; }
  select:disabled select:disabled,
  .errors select:disabled {
    opacity: 1; }

.form-dropdown {
  min-height: 31px;
  box-sizing: border-box; }

.form-button {
  margin-top: 34px; }
  @media only screen and (max-width: 735px) {
    .form-button {
      width: 100%;
      box-sizing: border-box; } }
  .form-button.inactive {
    opacity: .25; }

.form-selector-rowwithgutters.compact {
  margin-left: -2px;
  margin-right: -2px;
  margin-bottom: 16px;
  margin-top: 0; }
  .form-selector-rowwithgutters.compact > .column {
    padding-left: 2px;
    padding-right: 2px;
    margin-top: 4px; }

.form-choice-selector.compact.tall ~ .form-choice-selector-label {
  height: 100%;
  padding-top: .85em;
  padding-bottom: .5em; }

.callout.error {
  padding: 20px;
  font-size: 0.88889em;
  color: #666666;
  background: #f2f2f2;
  outline: none;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box; }
  .callout.error a, .callout.error .page-reservation button.more, .page-reservation .callout.error button.more {
    white-space: nowrap; }

.callout-form-error:focus {
  outline: 0; }

.form-label-wrapper {
  height: 24px; }
  @media only screen and (max-width: 735px) {
    .form-label-wrapper {
      height: auto; } }

.ie select {
  border-radius: 0;
  padding: 0 0 0 16px; }
.ie .form-icon {
  display: none; }

html.ie8 select {
  height: auto;
  padding: 0 0 0 4px; }
html.ie8 .form-icon {
  display: none; }
html.ie8 .is-error ~ .form-message-wrapper {
  display: table-cell !important; }
.form-sidebyside-textboxes .column {
  box-sizing: border-box;
  padding-right: 8px; }
  .form-sidebyside-textboxes .column + .column {
    padding-left: 8px;
    padding-right: 0; }
  .form-sidebyside-textboxes .column select {
    padding-right: 0; }

.false-placeholder {
  font-size: 16px;
  color: #999999;
  top: 6px;
  left: 16px;
  position: absolute;
  pointer-events: none;
  z-index: 2;
  width: 100%; }
  .false-placeholder .invisible {
    opacity: 0; }
  .false-placeholder .end-formatting {
    color: #333333; }

.form-textbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

.form-textbox-countrycode {
  padding-left: .75em;
  padding-right: .75em; }

.section-product {
  padding-left: 20px;
  min-height: 0;
  margin-bottom: 40px; }
  @media only screen and (max-width: 735px) {
    .section-product {
      padding-left: 0; } }
  @media only screen and (max-width: 735px) {
    .section-product {
      margin-top: 40px; }
      .section-product.product-top {
        margin-top: 0; } }
  .section-product .image-product-lockup {
    margin-top: 6px;
    width: 369px;
    height: 587px;
    background-size: 369px auto;
    height: 350px;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 1068px) {
      .section-product .image-product-lockup {
        margin-top: 4px; } }
    @media only screen and (max-width: 735px) {
      .section-product .image-product-lockup {
        margin-top: 0; } }
    @media only screen and (max-width: 1068px) {
      .section-product .image-product-lockup {
        width: 277px;
        height: 442px;
        background-size: 277px auto; } }
    @media only screen and (max-width: 735px) {
      .section-product .image-product-lockup {
        width: 300px;
        height: 355px;
        background-size: 300px auto; } }
    @media only screen and (max-width: 1068px) {
      .section-product .image-product-lockup {
        height: 250px; } }
    @media only screen and (max-width: 735px) {
      .section-product .image-product-lockup {
        height: 210px; } }
    @media only screen and (max-width: 735px) {
      .section-product .image-product-lockup {
        background-position: top; } }
  .section-product:last-child, .section-product:last-child .product, .section-product.product-top {
    margin-bottom: 0; }
  .section-product .product {
    margin-bottom: 40px; }

.product-specs {
  padding: 26px 30px;
  background: #fafafa;
  border-radius: 0;
  border: 0;
  margin-top: 0; }
  @media only screen and (max-width: 1068px) {
    .product-specs {
      padding: 28px 30px; } }
  @media only screen and (max-width: 735px) {
    .product-specs {
      padding: 28px 0; } }
  @media only screen and (max-width: 735px) {
    .product-specs {
      margin-bottom: 0; } }
  @media only screen and (max-width: 735px) {
    .product-specs > * {
      margin-left: auto;
      margin-right: auto;
      width: 90%; } }
  .product-specs .product-plan {
    margin-top: 25px; }
    .product-specs .product-plan h4 {
      padding-bottom: 7px;
      border-bottom: 1px solid #d6d6d6; }
    .product-specs .product-plan li {
      font-size: 16px;
      line-height: 1.5;
      font-weight: 400;
      letter-spacing: 0em; }
      .product-specs .product-plan li:lang(zh) {
        font-size: 14px; }
  .product-specs .product-title {
    font-size: 28px;
    line-height: 1.14286;
    font-weight: 200;
    letter-spacing: 0em;
    padding-bottom: 6px;
    border-bottom: 1px solid #d6d6d6;
    position: relative; }
    html.ie8 .product-specs .product-title {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .product-specs .product-title {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 200;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 1068px) {
      .product-specs .product-title {
        padding-bottom: 8px; } }
  .product-specs .product-quantity {
    position: absolute;
    right: 0; }
  .product-specs ul {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0em;
    list-style: none;
    margin: 0 auto 16px; }
    .product-specs ul:lang(zh) {
      font-size: 14px; }
  .product-specs .price {
    margin-top: 29px;
    padding-top: 10px;
    font-weight: 600;
    border-top: 1px solid #d6d6d6; }
    .product-specs .price:before, .product-specs .price:after {
      content: ' ';
      display: table; }
    .product-specs .price:after {
      clear: both; }
    .product-specs .price span {
      float: left;
      width: 50%; }
      .product-specs .price span ~ span {
        float: right;
        text-align: right; }
  .product-specs .footnote {
    font-size: 12px;
    line-height: 1.33341;
    font-weight: 400;
    letter-spacing: 0em;
    padding-top: 10px; }
  .product-specs .plan-header {
    font-size: 14px;
    line-height: 1.28583;
    font-weight: 600;
    letter-spacing: 0em;
    color: #666666; }
    html.ie8 .product-specs .plan-header .plan-header {
      font-family: "Myriad Set Pro 600", "Myriad Set Pro", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header {
      font-weight: normal; }
    html.ie8 .product-specs .plan-header:lang(ar) .plan-header:lang(ar) {
      font-family: "Gulf 600", "Gulf", "Myriad Set Pro 600", "Myriad Set Pro", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(ja-JP) .plan-header:lang(ja-JP) {
      font-family: "Apple TP 600", "Apple TP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(ko-KR) .plan-header:lang(ko-KR) {
      font-family: "Yoon Gothic 600", "Yoon Gothic", "Apple Gothic", "HY Gulim", "MalgumGothic", "HY Dotum", "Lexi Gulim", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(th-TH) .plan-header:lang(th-TH) {
      font-family: "Sukhumvit Set 600", "Sukhumvit Set", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(zh-CN) .plan-header:lang(zh-CN) {
      font-family: "HanHei SC 600", "HanHei SC", "PingHei 600", "PingHei", "PingFang SC", "STHeitiSC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(zh-HK) .plan-header:lang(zh-HK) {
      font-family: "HanHei TC 600", "HanHei TC", "MHei 600", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(zh-MO) .plan-header:lang(zh-MO) {
      font-family: "HanHei TC 600", "HanHei TC", "MHei 600", "MHei", "PingFang HK", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    html.ie8 .product-specs .plan-header:lang(zh-TW) .plan-header:lang(zh-TW) {
      font-family: "HanHei TC 600", "HanHei TC", "MHei 600", "MHei", "PingFang TC", "STHeitiTC-Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
    .product-specs .plan-header:lang(zh) {
      font-size: 12px; }

@media only screen and (max-width: 735px) {
  .product-top .product-family {
    display: none; } }

.product-family-image {
  background-size: 439px 369px;
  width: 439px;
  height: 369px;
  margin: 0 auto;
  max-width: 100%;
  height: auto; }
  @media only screen and (max-width: 1068px) {
    .product-family-image {
      background-size: 329px 277px;
      width: 329px;
      height: 277px; } }
  @media only screen and (max-width: 735px) {
    .product-family-image {
      background-size: 239px 212px;
      width: 239px;
      height: 212px; } }

.product-selector-wrapper {
  margin-top: 36px; }
  @media only screen and (max-width: 735px) {
    .product-selector-wrapper {
      margin-top: 16px; } }
  @media only screen and (max-width: 414px) {
    .product-selector-wrapper {
      margin-top: 30px; } }

@media only screen and (max-width: 735px) {
  .product-selector-section .label-tall {
    height: 108px; } }
.product-selector-section.capacity-selector, .product-selector-section.color-selector {
  margin-top: -6px; }
  .product-selector-section.capacity-selector .form-selector-singlecolumn, .product-selector-section.color-selector .form-selector-singlecolumn {
    margin-top: 8px; }
  .product-selector-section.capacity-selector .form-selector-rowwithgutters, .product-selector-section.color-selector .form-selector-rowwithgutters {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-left: -3px;
    margin-right: -3px; }
    .product-selector-section.capacity-selector .form-selector-rowwithgutters > .column, .product-selector-section.color-selector .form-selector-rowwithgutters > .column {
      padding-left: 3px;
      padding-right: 3px; }
  .product-selector-section.capacity-selector .form-label, .product-selector-section.color-selector .form-label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .product-selector-section.capacity-selector .form-choice-selector ~ .form-choice-selector-label, .product-selector-section.color-selector .form-choice-selector ~ .form-choice-selector-label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 1px 2px; }
  .product-selector-section.capacity-selector .form-choice-selector:checked ~ .form-choice-selector-label, .product-selector-section.color-selector .form-choice-selector:checked ~ .form-choice-selector-label {
    padding: 0 1px; }
  .product-selector-section.capacity-selector .form-choice-selector-label, .product-selector-section.color-selector .form-choice-selector-label {
    height: 100%;
    min-width: 80px;
    overflow: visible; }
  .product-selector-section.capacity-selector .form-selector-singlecolumn, .product-selector-section.color-selector .form-selector-singlecolumn {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
    -webkit-align-content: stretch;
        -ms-flex-line-pack: stretch;
            align-content: stretch;
    -webkit-box-flex: 0;
    -webkit-flex: 0 auto;
        -ms-flex: 0 auto;
            flex: 0 auto;
    -webkit-align-content: stretch;
        -ms-flex-line-pack: stretch;
            align-content: stretch;
    margin-bottom: 1px; }
    .safari .product-selector-section.capacity-selector .form-selector-singlecolumn:first-child, .safari .product-selector-section.color-selector .form-selector-singlecolumn:first-child {
      margin-left: -1px; }
.product-selector-section.capacity-selector .form-choice-selector ~ .form-choice-selector-label {
  min-height: 51px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1px 2px; }
.product-selector-section.capacity-selector .form-choice-selector:checked ~ .form-choice-selector-label {
  padding: 0 1px; }
.product-selector-section.capacity-selector .form-selector {
  margin-bottom: 13px; }
.product-selector-section.capacity-selector .form-label {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0em;
  padding-top: 4px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-selector-section.capacity-selector .form-label:lang(zh) {
    font-size: 14px; }
.product-selector-section.capacity-selector .capacity-price {
  font-size: 12px;
  line-height: 1.33341;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1em;
  padding-top: 1px; }
.product-selector-section.capacity-selector.any-unavailable .form-choice-selector-label {
  min-height: 61px; }
.product-selector-section.capacity-selector.any-unavailable .form-label {
  padding-top: 9px; }
.product-selector-section.capacity-selector.without-price .form-label {
  padding-top: 17px;
  line-height: 1em; }
.product-selector-section.capacity-selector.any-unavailable.without-price .form-choice-selector-label {
  min-height: 51px; }
.product-selector-section.color-selector .form-choice-selector-label {
  min-height: 167px; }
.product-selector-section.color-selector .form-selector-singlecolumn {
  margin-top: 8px; }
.product-selector-section.color-selector .form-label {
  background-size: 39px 80px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 25px;
  -webkit-transform: translateY(4px);
      -ms-transform: translateY(4px);
          transform: translateY(4px);
  min-width: 39px;
  padding-top: 92px; }
  .product-selector-section.color-selector .form-label:lang(de-CH), .product-selector-section.color-selector .form-label:lang(de-DE) {
    font-size: 12px; }
.product-selector-section .swatch-image {
  width: 39px;
  height: 80px;
  background-size: 39px auto;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto; }
.product-selector-section .out-of-stock,
.product-selector-section .limited-capacity {
  font-size: 12px;
  line-height: 1.33341;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.16667em; }
.product-selector-section .limited-capacity {
  color: #333333; }
.product-selector-section .out-of-stock {
  color: #f46c0e;
  margin: 1px 0 -4px; }
.product-selector-section .unavailable .swatch-image {
  opacity: 0.3; }
.product-selector-section .unavailable input:disabled {
  opacity: 0; }
.product-selector-section .unavailable .form-choice-selector-label {
  border-color: white; }
.product-selector-section .unavailable .form-label,
.product-selector-section .unavailable .form-choice:hover ~ .form-choice-selector-label .form-label {
  color: #999999; }
.product-selector-section .unavailable .form-choice {
  cursor: default; }

.toggle-section {
  overflow: hidden;
  font-size: 0.88889em; }
  .toggle-section .toggle {
    width: 100%;
    position: relative;
    min-height: 60px;
    margin: 0;
    background: inherit;
    text-align: left;
    border-top: 1px solid #d6d6d6; }
    .toggle-section .toggle span {
      display: block;
      padding: 6px 40px 5px 0;
      color: #0070c9; }
      @media only screen and (max-width: 735px) {
        .toggle-section .toggle span {
          padding-right: 30px; } }
    .toggle-section .toggle:hover {
      color: #0070c9;
      text-decoration: underline; }
    .toggle-section .toggle.open::after {
      -webkit-transform: translateY(-50%) rotate(0deg);
          -ms-transform: translateY(-50%) rotate(0deg);
              transform: translateY(-50%) rotate(0deg); }
    .toggle-section .toggle::after {
      content: '\00D7';
      position: absolute;
      right: 16px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
              transform: translateY(-50%) rotate(45deg);
      -webkit-transition: -webkit-transform 0.3s ease-out;
              transition: transform 0.3s ease-out;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      font-size: 26px;
      font-weight: 100; }
      @media only screen and (max-width: 735px) {
        .toggle-section .toggle::after {
          font-size: 14px;
          font-weight: 400; } }
  .toggle-section ul {
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 10px; }
    @media only screen and (max-width: 735px) {
      .toggle-section ul {
        padding-right: 0; } }
  .toggle-section li {
    list-style-type: none; }

.page-check-availability .unavailable-message {
  font-size: 12px;
  line-height: 1.33341;
  font-weight: 400;
  letter-spacing: 0em;
  margin-top: 16px; }
.page-check-availability .success {
  color: #00a651; }
  .page-check-availability .success .success-icon {
    font-size: 1.33333em;
    font-weight: 200; }
    .page-check-availability .success .success-icon::before {
      vertical-align: text-top; }
  .page-check-availability .success .success-copy {
    margin-top: 2px;
    font-size: 0.88889em; }
    @media only screen and (max-width: 1068px) {
      .page-check-availability .success .success-copy {
        padding-left: 10px; } }
    @media only screen and (max-width: 735px) {
      .page-check-availability .success .success-copy {
        padding-left: 0; } }
.page-check-availability .form-elements-wrapper {
  width: 270px; }
  @media only screen and (max-width: 735px) {
    .page-check-availability .form-elements-wrapper {
      width: 100%; } }
.page-check-availability .availability-available {
  margin-top: 40px;
  outline: 0; }
.page-check-availability .section-product.hidden + * .availability-available {
  margin-top: 26px; }

@media only screen and (max-width: 735px) {
  .page-reservation .section-hero {
    padding-bottom: 20px; } }
@media only screen and (max-width: 735px) {
  .page-reservation .section-hero .section-content {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0; } }
.page-reservation .section-copy {
  padding-right: 100px; }
  @media only screen and (max-width: 1068px) {
    .page-reservation .section-copy {
      padding-right: 20px; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .section-copy {
      padding-right: 0; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .section-copy {
      padding-bottom: 20px; } }
  .page-reservation .section-copy h2 {
    font-size: 32px;
    line-height: 1.125;
    font-weight: 300;
    letter-spacing: 0em;
    outline: 0; }
    html.ie8 .page-reservation .section-copy h2 {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .page-reservation .section-copy h2 {
        font-size: 28px;
        line-height: 1.14286;
        font-weight: 300;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 735px) {
      .page-reservation .section-copy h2 {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .page-reservation .section-copy h2:lang(th) {
      line-height: 1.21875; }
      @media only screen and (max-width: 1068px) {
        .page-reservation .section-copy h2:lang(th) {
          line-height: 1.25; } }
      @media only screen and (max-width: 735px) {
        .page-reservation .section-copy h2:lang(th) {
          line-height: 1.29167; } }
    .page-reservation .section-copy h2:lang(zh) {
      font-size: 30px; }
      @media only screen and (max-width: 1068px) {
        .page-reservation .section-copy h2:lang(zh) {
          font-size: 26px; } }
      @media only screen and (max-width: 735px) {
        .page-reservation .section-copy h2:lang(zh) {
          font-size: 22px; } }
  .page-reservation .section-copy strong {
    display: block;
    font-weight: 600; }
    @media only screen and (max-width: 1068px) {
      .page-reservation .section-copy strong {
        display: inline; } }
    .page-reservation .section-copy strong.inline {
      display: inline; }
.page-reservation .with-dropdowns + .copy {
  padding-top: 32px; }
.page-reservation .copy {
  padding-top: 43px; }
  @media only screen and (max-width: 735px) {
    .page-reservation .copy {
      padding: 32px 0;
      border-top: 1px solid #d6d6d6; } }
  .page-reservation .copy.selected-store {
    padding-top: 0; }
    @media only screen and (max-width: 735px) {
      .page-reservation .copy.selected-store {
        padding-top: 32px; } }
  .page-reservation .copy.contact-info {
    padding-top: 0; }
    @media only screen and (max-width: 735px) {
      .page-reservation .copy.contact-info {
        border-top: 0; } }
  .page-reservation .copy.gov-id {
    padding-top: 50; }
    @media only screen and (max-width: 735px) {
      .page-reservation .copy.gov-id {
        padding-top: 32px; } }
    @media only screen and (max-width: 735px) {
      .page-reservation .copy.gov-id {
        padding-bottom: 14px; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .copy.verify-info {
      padding-bottom: 0; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .copy.pickup-time .copy {
      margin-top: 32px; } }
.page-reservation .selected-store p {
  margin-bottom: 7px; }
.page-reservation .selected-store.loader {
  opacity: .5; }
.page-reservation .selected-store.single-store button {
  display: none; }
.page-reservation .pickup-time {
  padding-bottom: 6px; }
  .page-reservation .pickup-time .copy {
    padding-bottom: 0; }
  @media only screen and (max-width: 735px) {
    .page-reservation .pickup-time {
      padding-bottom: 32px; } }
.unlocked-carrier .page-reservation .reservation {
  padding-top: 0; }
.page-reservation .callout.error {
  width: 334px;
  margin: 0 0 26px; }
  @media only screen and (max-width: 1068px) {
    .page-reservation .callout.error {
      width: 80%; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .callout.error {
      width: 100%; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .callout.error {
      padding: 20px 0; } }
  @media only screen and (max-width: 735px) {
    .page-reservation .callout.error p {
      padding: 0 20px; } }
  .page-reservation .callout.error.locked {
    display: block; }
.page-reservation .unlocked-carrier {
  display: none; }
  .page-reservation .unlocked-carrier.show {
    display: block; }
.page-reservation .select-plan,
.page-reservation .select-store,
.page-reservation .select-quantity,
.page-reservation .select-state {
  width: 246px; }
  @media only screen and (max-width: 735px) {
    .page-reservation .select-plan,
    .page-reservation .select-store,
    .page-reservation .select-quantity,
    .page-reservation .select-state {
      width: 100%; } }
.page-reservation .select-plan {
  margin-bottom: 14px; }
.page-reservation .verify-info .form-label,
.page-reservation .gov-id-info .form-label {
  width: 129px; }
  @media only screen and (max-width: 735px) {
    .page-reservation .verify-info .form-label,
    .page-reservation .gov-id-info .form-label {
      width: auto; } }
.page-reservation .gov-id-info .form-cell {
  position: relative; }
.page-reservation #plan_error,
.page-reservation #time_error {
  width: 246px; }
  @media only screen and (max-width: 735px) {
    .page-reservation #plan_error,
    .page-reservation #time_error {
      width: auto; } }
.page-reservation .last.is-error {
  margin-bottom: 2px; }
.page-reservation .cancel-continue {
  margin-top: 25px;
  font-size: 0.83333em; }
  @media only screen and (max-width: 735px) {
    .page-reservation .cancel-continue {
      margin-top: 18px; } }
@media only screen and (max-width: 735px) {
  .page-reservation .section-product {
    margin-top: 10px;
    padding-top: 32px;
    border-top: 1px solid #d6d6d6; } }
.page-reservation button.more {
  border: 0;
  padding: 0;
  background: none;
  color: #0070c9;
  vertical-align: top; }
  .page-reservation button.more:hover {
    cursor: pointer; }
@media only screen and (max-width: 735px) {
  .page-reservation .section-reserve {
    padding-bottom: 0; } }
.page-reservation .section-reserve .section-content {
  border-bottom: 0;
  padding-bottom: 0; }
.page-reservation .form-table .form-row:nth-last-of-type(2) {
  margin-bottom: 0; }

.page-confirmation .section-copy .store-needs h3, .page-confirmation .section-wallet h3 {
  font-size: 18px;
  line-height: 1.4446;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: 0; }
  .page-confirmation .section-copy .store-needs h3:lang(zh), .page-confirmation .section-wallet h3:lang(zh) {
    font-size: 16px; }

.page-confirmation .section-hero .section-content {
  border-bottom: 1px solid #d6d6d6; }
.page-confirmation .section-content {
  border-bottom: 0; }
  .page-confirmation .section-content h2 {
    font-size: 28px;
    line-height: 1.14286;
    font-weight: 300;
    letter-spacing: 0em; }
    html.ie8 .page-confirmation .section-content h2 {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .page-confirmation .section-content h2 {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .page-confirmation .section-content h2:lang(th) {
      line-height: 1.25; }
      @media only screen and (max-width: 1068px) {
        .page-confirmation .section-content h2:lang(th) {
          line-height: 1.29167; } }
    .page-confirmation .section-content h2:lang(zh) {
      font-size: 26px; }
      @media only screen and (max-width: 1068px) {
        .page-confirmation .section-content h2:lang(zh) {
          font-size: 22px; } }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-content h2 {
        margin-bottom: 14px; } }
.page-confirmation .section-copy {
  padding-right: 100px; }
  @media only screen and (max-width: 1068px) {
    .page-confirmation .section-copy {
      padding-right: 40px; } }
  @media only screen and (max-width: 735px) {
    .page-confirmation .section-copy {
      padding-right: 0; } }
  .page-confirmation .section-copy .store-name {
    display: block;
    font-weight: 600; }
  .page-confirmation .section-copy ul {
    margin: 0;
    list-style: none; }
  .page-confirmation .section-copy .calendar,
  .page-confirmation .section-copy .store-details {
    padding-top: 6px; }
  .page-confirmation .section-copy .reservation-qrcode {
    width: 60%;
    width: 60%;
    margin-top: 3.66em; }
    @media only screen and (max-width: 1068px) {
      .page-confirmation .section-copy .reservation-qrcode {
        width: 70%; } }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-copy .reservation-qrcode {
        width: 100%; } }
    .page-confirmation .section-copy .reservation-qrcode p {
      margin-top: 1em; }
  .page-confirmation .section-copy .qrcode {
    display: inline-block;
    text-align: center; }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-copy .qrcode {
        display: block;
        margin: 0 auto; } }
  .page-confirmation .section-copy .qrcode-image {
    background-size: 111px 111px;
    width: 111px;
    height: 111px; }
  @media only screen and (max-width: 735px) {
    .page-confirmation .section-copy .store-location,
    .page-confirmation .section-copy .store-needs {
      margin-top: 23px;
      padding: 27px 0 0;
      border-top: 1px solid #d6d6d6; } }
  @media only screen and (max-width: 735px) {
    .page-confirmation .section-copy .store-pickup ul {
      margin-top: 16px; } }
  .page-confirmation .section-copy .store-needs h3 {
    font-weight: 600; }
  .page-confirmation .section-copy .store-needs {
    margin-top: 3.66em; }
    .page-confirmation .section-copy .store-needs h2 {
      margin-bottom: 25px; }
    .page-confirmation .section-copy .store-needs p {
      color: #999999; }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-copy .store-needs {
        padding: 32px 0 40px; } }
  .page-confirmation .section-copy .store-location {
    padding: 3.66em 0 0; }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-copy .store-location {
        padding-top: 24px;
        border: 0; } }
    .page-confirmation .section-copy .store-location .store-name {
      line-height: 1.40; }
@media only screen and (max-width: 735px) {
  .page-confirmation .section-pickup {
    padding-bottom: 0; } }
@media only screen and (max-width: 735px) {
  .page-confirmation .section-product {
    padding-top: 32px;
    border-top: 1px solid #d6d6d6; }
    .page-confirmation .section-product.small-margintop {
      margin-top: 20px; } }
.page-confirmation .section-wallet hr {
  border: solid #d6d6d6;
  border-width: 0 0 1px;
  margin: 1.6em 0; }
.page-confirmation .section-wallet .button.wallet-add {
  background-size: 120px 36px;
  width: 120px;
  height: 36px;
  padding: 0;
  max-width: 50%;
  border: 0; }
.page-confirmation .image-product-lockup {
  width: 258px;
  height: 280px;
  width: 100%;
  width: 100%;
  background-size: contain;
  background-position: bottom center;
  margin-bottom: 30px;
  margin-top: 0; }
  @media only screen and (min-width: 1442px) {
    .page-confirmation .image-product-lockup {
      width: 100%; } }
  @media only screen and (max-width: 1068px) {
    .page-confirmation .image-product-lockup {
      width: 258px;
      height: 280px;
      width: 100%; } }
  @media only screen and (max-width: 735px) {
    .page-confirmation .image-product-lockup {
      width: 478px;
      height: 566px;
      width: 100%; } }
  @media only screen and (max-width: 414px) {
    .page-confirmation .image-product-lockup {
      width: 100%; } }
  @media only screen and (max-width: 1023px) {
    .page-confirmation .image-product-lockup {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .page-confirmation .image-product-lockup {
      width: 100%; } }
  @media only screen and (max-width: 735px) {
    .page-confirmation .image-product-lockup {
      margin-bottom: 0;
      height: 200px; } }
@media only screen and (max-width: 735px) {
  .page-confirmation .product-specs {
    background: white;
    padding-left: 0;
    padding-right: 0; } }
.page-confirmation .section-faqs {
  background: #fafafa;
  padding-top: 50px;
  padding-bottom: 0; }
  .page-confirmation .section-faqs .section-content {
    padding-bottom: 1.5em; }
  .page-confirmation .section-faqs h2 {
    font-size: 32px;
    line-height: 1.125;
    font-weight: 300;
    letter-spacing: 0em;
    margin-bottom: 39px; }
    html.ie8 .page-confirmation .section-faqs h2 {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .page-confirmation .section-faqs h2 {
        font-size: 28px;
        line-height: 1.14286;
        font-weight: 300;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 735px) {
      .page-confirmation .section-faqs h2 {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .page-confirmation .section-faqs h2:lang(th) {
      line-height: 1.21875; }
      @media only screen and (max-width: 1068px) {
        .page-confirmation .section-faqs h2:lang(th) {
          line-height: 1.25; } }
      @media only screen and (max-width: 735px) {
        .page-confirmation .section-faqs h2:lang(th) {
          line-height: 1.29167; } }
    .page-confirmation .section-faqs h2:lang(zh) {
      font-size: 30px; }
      @media only screen and (max-width: 1068px) {
        .page-confirmation .section-faqs h2:lang(zh) {
          font-size: 26px; } }
      @media only screen and (max-width: 735px) {
        .page-confirmation .section-faqs h2:lang(zh) {
          font-size: 22px; } }
  .page-confirmation .section-faqs h3 {
    font-size: 0.88889em;
    font-weight: 400;
    line-height: 20px; }
  .page-confirmation .section-faqs p {
    font-size: 0.88889em; }

html.ie .page-confirmation .toggle-section button.toggle {
  background: #fafafa; }

.page-sms .section-content {
  border-bottom: 0;
  padding-bottom: 0; }
  .page-sms .section-content h2 {
    font-size: 32px;
    line-height: 1.125;
    font-weight: 300;
    letter-spacing: 0em;
    border-bottom: 1px solid #d6d6d6;
    padding-bottom: 30px; }
    html.ie8 .page-sms .section-content h2 {
      font-weight: normal; }
    @media only screen and (max-width: 1068px) {
      .page-sms .section-content h2 {
        font-size: 28px;
        line-height: 1.14286;
        font-weight: 300;
        letter-spacing: 0em; } }
    @media only screen and (max-width: 735px) {
      .page-sms .section-content h2 {
        font-size: 24px;
        line-height: 1.16667;
        font-weight: 300;
        letter-spacing: 0em; } }
    .page-sms .section-content h2:lang(th) {
      line-height: 1.21875; }
      @media only screen and (max-width: 1068px) {
        .page-sms .section-content h2:lang(th) {
          line-height: 1.25; } }
      @media only screen and (max-width: 735px) {
        .page-sms .section-content h2:lang(th) {
          line-height: 1.29167; } }
    .page-sms .section-content h2:lang(zh) {
      font-size: 30px; }
      @media only screen and (max-width: 1068px) {
        .page-sms .section-content h2:lang(zh) {
          font-size: 26px; } }
      @media only screen and (max-width: 735px) {
        .page-sms .section-content h2:lang(zh) {
          font-size: 22px; } }
  .page-sms .section-content .callout.error {
    margin-top: 30px; }
.page-sms .steps {
  margin-top: 32px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0em; }
  @media only screen and (max-width: 1068px) {
    .page-sms .steps {
      margin-top: 38px; } }
  @media only screen and (max-width: 735px) {
    .page-sms .steps {
      margin-top: 38px; } }
  .page-sms .steps h2 {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 200;
    letter-spacing: 0em;
    margin-bottom: .45em;
    border-bottom: 0;
    padding-bottom: 0; }
    html.ie8 .page-sms .steps h2 {
      font-weight: normal; }
  .page-sms .steps ul {
    margin-left: 0;
    list-style: none; }
  .page-sms .steps li,
  .page-sms .steps p {
    clear: both; }
  .page-sms .steps .step {
    padding: 36px 0 20px; }
    @media only screen and (max-width: 1068px) {
      .page-sms .steps .step {
        padding: 36px 0 16px; } }
    @media only screen and (max-width: 735px) {
      .page-sms .steps .step {
        padding: 36px 0; } }
  .page-sms .steps .step-1 {
    padding-top: 0;
    border-bottom: 1px solid #d6d6d6; }
  .page-sms .steps .step-2 {
    padding-right: 25px; }
    @media only screen and (max-width: 1068px) {
      .page-sms .steps .step-2 {
        padding-right: 218px; } }
    @media only screen and (max-width: 735px) {
      .page-sms .steps .step-2 {
        padding-right: 0; } }
  .page-sms .steps .phone-type {
    float: left;
    width: 128px;
    color: #999999; }
  @media only screen and (max-width: 1068px) {
    .page-sms .steps .reg-copy {
      width: 540px; } }
  @media only screen and (max-width: 735px) {
    .page-sms .steps .reg-copy {
      width: 100%; } }
  .page-sms .steps .single-country-code .phone-number {
    width: 83%;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .page-sms .steps .form-cell.form-label {
    width: 178px; }
    @media only screen and (max-width: 414px) {
      .page-sms .steps .form-cell.form-label {
        width: auto; } }
  .page-sms .steps .form-message-wrapper {
    line-height: 16px;
    margin-top: 2px; }
    @media only screen and (max-width: 414px) {
      .page-sms .steps .form-message-wrapper {
        margin-top: 0; } }
.page-sms #registrationcodeError,
.page-sms .callout.show {
  display: block; }
.page-sms .form-message-registration {
  font-size: 12px;
  color: #ee0000; }
.page-sms .is-returning-sosumi {
  display: none; }
.page-sms.is-returning .section-hero {
  padding-bottom: 0; }
.page-sms.is-returning .section-content h1 {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0; }
.page-sms.is-returning .section-content .steps {
  margin-top: 0; }
  .page-sms.is-returning .section-content .steps .step-1,
  .page-sms.is-returning .section-content .steps .step-2 h2 {
    display: none; }
.page-sms.is-returning .first-time {
  display: none; }
.page-sms.is-returning .is-returning-sosumi {
  display: block; }
.page-sms .specialist-keyline {
  border: solid #d6d6d6;
  border-width: 1px 0 0;
  margin: 0 auto;
  width: 301px;
  position: relative;
  left: 6px; }
  .is-returning .page-sms .specialist-keyline {
    display: none; }

.image-sms-hero {
  background-size: 306px 535px;
  width: 306px;
  height: 535px; }
  .image-sms-hero:lang(zh-CN), .image-sms-hero:lang(zh-HK), .image-sms-hero:lang(en-HK), .image-sms-hero:lang(zh-MO), .image-sms-hero:lang(en-AE) {
    background-size: 266px 500px;
    width: 266px;
    height: 500px; }
  .image-sms-hero:lang(ja-JP) {
    background-size: 296px 526px;
    width: 296px;
    height: 526px; }

html {
  background-color: #f2f2f2; }

@media only screen and (max-width: 735px) {
  .page-unavailable .section-hero {
    padding-bottom: 0; } }
.page-unavailable .error-copy {
  padding: 100px 0 145px; }
  @media only screen and (max-width: 735px) {
    .page-unavailable .error-copy {
      padding: 0 0 22px; } }
  .page-unavailable .error-copy a, .page-unavailable .error-copy .page-reservation button.more, .page-reservation .page-unavailable .error-copy button.more {
    display: inline; }
.page-unavailable .section-content {
  border-bottom: 0; }
  .page-unavailable .section-content a, .page-unavailable .section-content .page-reservation button.more, .page-reservation .page-unavailable .section-content button.more {
    white-space: nowrap; }
  .page-unavailable .section-content .error-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
.page-unavailable h2:last-child {
  margin-bottom: 18px; }
.page-unavailable .with-image .generic-error {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .page-unavailable .with-image .generic-error a, .page-unavailable .with-image .generic-error .page-reservation button.more, .page-reservation .page-unavailable .with-image .generic-error button.more {
    display: inline; }
.page-unavailable .with-image .error-copy {
  padding-bottom: 45px;
  padding-top: 0; }
  @media only screen and (max-width: 735px) {
    .page-unavailable .with-image .error-copy {
      padding-bottom: 22px; } }
.page-unavailable .product-image {
  min-height: 539px; }
  @media only screen and (max-width: 1068px) {
    .page-unavailable .product-image {
      min-height: 398px; } }
.page-unavailable .image-error-product-hero {
  background-size: 434px 539px;
  width: 434px;
  height: 539px;
  position: absolute;
  bottom: 0;
  right: 0; }
  @media only screen and (max-width: 1068px) {
    .page-unavailable .image-error-product-hero {
      background-size: 323px 398px;
      width: 323px;
      height: 398px; } }
.page-unavailable #ac-globalfooter .ac-gf-sosumi {
  display: none; }



/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJzaGFyZWQvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvYmFzZS9fcmVzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvX2ZvbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvY29yZS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvdHlwb2dyYXBoeS9fc3BlY3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19jb2xvcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19sb2NhbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19zZWxlY3RvcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9iYXNlL19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvYmFzZS9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvX2ljb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvYmFzZS9faWNvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9iYXNlL192aWV3cG9ydHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9tb2R1bGVzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9tb2R1bGVzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvbW9kdWxlcy9fc29zdW1pLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGFvcy9hYy1mb3Jtcy9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1jb2xvcm5hdi9zcmMvc2Nzcy9hYy1jb2xvcm5hdi9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtY29sb3JuYXYvc3JjL3Njc3MvYWMtY29sb3JuYXYvX3N3YXRjaGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGFvcy9hYy1mb3Jtcy9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1jb2xvcm5hdi9zcmMvc2Nzcy9hYy1jb2xvcm5hdi9fcHJvZHVjdHJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvaW1hZ2VzL19waWN0dXJlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQG1hcmNvbS9hYy1zYXNza2l0L3NyYy9zY3NzL2FjLXNhc3NraXQvY29yZS9pbWFnZXMvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AYW9zL2FjLWZvcm1zL3NyYy9zY3NzL2FjLWZvcm1zL19mb3JtLWFsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGFvcy9hYy1mb3Jtcy9zcmMvc2Nzcy9hYy1mb3Jtcy9fZm9ybS1zZWN0aW9ubnVtYmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGFvcy9hYy1mb3Jtcy9zcmMvc2Nzcy9hYy1mb3Jtcy9fZm9ybS1pY29ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvX2Zvcm0tdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvX2Zvcm0tdGV4dGJveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvX2Zvcm0tbGFiZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AYW9zL2FjLWZvcm1zL3NyYy9zY3NzL2FjLWZvcm1zL19mb3JtLWNob2ljZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvX2Zvcm0tZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AYW9zL2FjLWZvcm1zL3NyYy9zY3NzL2FjLWZvcm1zL19mb3JtLWJ1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bhb3MvYWMtZm9ybXMvc3JjL3Njc3MvYWMtZm9ybXMvX2Zvcm0tdG9nZ2xlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGFvcy9hYy1mb3Jtcy9zcmMvc2Nzcy9hYy1mb3Jtcy90aGVtZXMvX2Rhcmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLWxvY2FsbmF2L25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXZpZXdwb3J0LWVtaXR0ZXIvc3JjL3Njc3MvYWMtdmlld3BvcnQtZW1pdHRlci9fY29yZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fd3JhcHBlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvY29yZS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLWxvY2FsbmF2L3NyYy9zY3NzL2FjLWxvY2FsbmF2L2Jhc2UvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fY3VydGFpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fYWN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvY29yZS9faGVscGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fbWVudWN0YS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvY29yZS9fY2hldnJvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtbG9jYWxuYXYvc3JjL3Njc3MvYWMtbG9jYWxuYXYvYmFzZS9fdGl0bGUuc2NzcyIsInNoYXJlZC9fdXRpbGl0aWVzLnNjc3MiLCJzaGFyZWQvX3NpdGUuc2NzcyIsInNoYXJlZC9tb2R1bGVzL19hbGlnbm1lbnQuc2NzcyIsInNoYXJlZC9tb2R1bGVzL19hY2NvcmRpb24uc2NzcyIsInNoYXJlZC9tb2R1bGVzL190eXBvZ3JhcGh5LnNjc3MiLCJzaGFyZWQvbW9kdWxlcy9fc2VjdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BtYXJjb20vYWMtc2Fzc2tpdC9zcmMvc2Nzcy9hYy1zYXNza2l0L2NvcmUvX3ZpZXdwb3J0cy5zY3NzIiwic2hhcmVkL21vZHVsZXMvX2xvY2FsLW5hdi5zY3NzIiwic2hhcmVkL21vZHVsZXMvX3ZlcnRpY2FsLWRpdmlkZXIuc2NzcyIsInNoYXJlZC9tb2R1bGVzL19mb3Jtcy1hbmQtZXJyb3JzLnNjc3MiLCJzaGFyZWQvbW9kdWxlcy9fc2VjdGlvbi1wcm9kdWN0LnNjc3MiLCJzaGFyZWQvX2hlbHBlcnMuc2NzcyIsInNoYXJlZC9tb2R1bGVzL19mbGV4LnNjc3MiLCJzaGFyZWQvbW9kdWxlcy9fdG9nZ2xlLnNjc3MiLCJwYWdlcy9jaGVjay1hdmFpbGFiaWxpdHkuc2NzcyIsInBhZ2VzL3Jlc2VydmF0aW9uLnNjc3MiLCJwYWdlcy9jb25maXJtYXRpb24uc2NzcyIsInBhZ2VzL3Ntcy5zY3NzIiwicGFnZXMvdW5hdmFpbGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AbWFyY29tL2FjLXNhc3NraXQvc3JjL3Njc3MvYWMtc2Fzc2tpdC9jb3JlL19tYXBzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDaUZqQjtFQUNDLGNBQWE7RUFDYixZQUFXO0VBQ1gsYUFBWTtFQUNaLGlCQUFnQixFQUFBOztBQUdqQjs7RUFFQyxlQUFjLEVBQUE7O0FBR2Y7RUFDQyxjQUFhLEVBQUE7O0FBR2Q7RUFDQyxjQUFhLEVBQUE7O0FBR2Q7RUFDQyxjQUFhLEVBQUE7O0FBR2Q7Ozs7OztFQU1DLFlBQVcsRUFBQTs7QUFHWjtFQUNDLGdFQUErRDtFQUMvRCwyQkFBMEI7RUFDMUIsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxZQUFXO0VBQ1gsYUFBWTtFQUNaLFNBQVE7RUFDUixZQUFXLEVBQUE7O0FBT1Y7RUFDQyxZQUFXO0VBQ1gsZ0VBQStEO0VBQy9ELDJCQUEwQjtFQUMxQixZQUFXO0VBQ1gsYUFBWTtFQUNaLFNBQVE7RUFDUixZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQiw0Q0FBbUM7VUFBbkMsb0NBQW1DO0VBQ25DLFdBQVUsRUFBQTtBQUdYO0VBQ0MsNENBQW1DO1VBQW5DLG9DQUFtQyxFQUFBO0FBSW5DO0VBQ0MsV0FBVSxFQUFBO0FBR1g7RUFDQyxXQUFVLEVBQUE7QUFLWDtFQUNDLFdBQVUsRUFBQTtBQUdYO0VBQ0MsV0FBVSxFQUFBOztBQU1kO0VBQ0M7SUFDQyxXQUFVLEVBQUEsRUFBQTtBQUlaO0VBQ0MsV0FBVSxFQUFBO0VBRVY7SUFDQyxXQUFVO0lBQ1YsNENBQW1DO1lBQW5DLG9DQUFtQyxFQUFBO0VBR3BDO0lBQ0MsV0FBVTtJQUNWLDRDQUFtQztZQUFuQyxvQ0FBbUMsRUFBQTs7QUFTcEM7RUFDQyxjQUFhLEVBQUE7QUFHZDtFQUNDLGVBQWMsRUFBQTtBQUdmO0VBQ0MsZ0JBQWUsRUFBQTtBQUdoQjtFQUNDLG1CQUFrQixFQUFBOztBQUlwQjs7O0VBR0MsY0FBYSxFQUFBOztBQzlNZDtFQUNDLGdCQUFlO0VBQ2YsMkJBQTBCO0VBQzFCLCtCQUE4QixFQUFBOztBQU0vQjtFQUNDLFVBQVM7RUFDVCxXQUFVLEVBQUE7O0FBTVg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBdUJDLFVBQVM7RUFDVCxXQUFVLEVBQUE7O0FBTVg7Ozs7OztFQU1DLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBT25COzs7RUFHQyxVQUFTLEVBQUE7O0FBTVY7O0VBRUMsaUJBQWdCLEVBQUE7O0FBTWpCO0VBQ0MsMEJBQXlCO0VBQ3pCLGtCQUFpQixFQUFBOztBQVFsQjs7Ozs7Ozs7Ozs7O0VBWUMsZUFBYyxFQUFBOztBQU9mOzs7O0VBSUMsc0JBQXFCO0VBQ3JCLHlCQUF3QixFQUFBOztBQU96QjtFQUNDLGlCQUFnQjtFQUNoQixVQUFTO0VBQ1Qsd0JBQXVCO0VBQ3ZCLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGNBQWE7RUFDYixxQkFBb0I7RUFDcEIsa0JBQWlCO0VBQ2pCLHdCQUF1QixFQUFBO0VBRXZCO0lBQ0MsZ0JBQWUsRUFBQTs7QUFrQmhCOzs7Ozs7RUMyREEsMkJBQXFFO0VBQ3JFLDRDQUF5QztFQUN6QyxvQkFIZ0MsRUFBQTtFQWdEL0I7Ozs7Ozs7Ozs7O0lBMUNBLGNBQWEsRUFBQTtBRDVEZDs7Ozs7O0VBQ0MsVUFBUztFQUNULFdBQVUsRUFBQTs7QUFRWjtFQUVDOzs7SUFHQyxZQUFXLEVBQUE7O0VBR1o7Ozs7O0lBR0MsWUFBVztJQUNYLHNCQUFxQixFQUFBOztFQUd0Qjs7Ozs7O0lBTUMsY0FBYSxFQUFBLEVBQUE7QUUxSGY7RUFDQyxrRkNsQzRFO0VEbUM1RSxrQkFBOEM7RUFDOUMsZ0JFNUNpQixFQUFBOztBRmlEaEI7RUFDQyx3RUN6QzZELEVBQUE7O0FEd0M5RDtFQUNDLHVKQ3hDK0ksRUFBQTs7QUR1Q2hKO0VBQ0MscUpDdkM2SSxFQUFBOztBRHNDOUk7RUFDQyxpRkN0Q3lFLEVBQUE7O0FEcUMxRTtFQUNDLDBIQ3JDa0gsRUFBQTs7QURvQ25IO0VBQ0MsdUhDcEMrRyxFQUFBOztBRG1DaEg7RUFDQyx1SENuQytHLEVBQUE7O0FEa0NoSDtFQUNDLHVIQ2xDK0csRUFBQTs7QUR5Q2hIO0VBQ0MsZ0JFekRVLEVBQUE7O0FGd0RYO0VBQ0Msa0JFeERZLEVBQUE7O0FGdURiO0VBQ0MsZ0JFdkRhLEVBQUE7O0FGc0RkO0VBQ0MsZ0JFdERhLEVBQUE7O0FGcURkO0VBQ0MsZ0JFckRhLEVBQUE7O0FGb0RkO0VBQ0MsZ0JFcERVLEVBQUE7O0FGbURYO0VBQ0MsZ0JFbkRhLEVBQUE7O0FGd0RoQjtFRXlXTSxnQkN0Tm1CO0VEc05uQixvQkN6TWtEO0VGZ0N2RCxpQkEyQjBDO0VDOElyQyxvQkMxTHVCO0VIN0s1Qix3Qkl0RHFCO0VKdURyQixlQUE4QjtFQUM5QixtQkFBa0IsRUFBQTtFSzJFakI7SUgwUkksZ0JDdE5tQixFQUFBOztBSDVJekI7Ozs7O0VDd1NDLHFCQUFvQjtFQUNwQixtQ0FBa0M7RUFDbEMsb0NBQW1DO0VBQ25DLG1DQUFrQztFQUNsQywyQ0FBMEM7RUR0UzFDLGVLcUlzQztFTHBJdEMsaUJLMEt5QyxFQUFBO0VBekd4Qzs7Ozs7SUp1T0Esb0RBQTJDO1lBQTNDLDRDQUEyQztJQUMzQyxtQ0FBa0MsRUFBQTs7QUR0U3BDO0VBQ0MsZUFBOEIsRUFBQTtFQUU5QjtJQUVDLHNCQUFxQixFQUFBO0VBR3RCO0lBQ0MsMkJBQTBCLEVBQUE7RUFHM0I7SUFDQyxzQkFBcUIsRUFBQTs7QUFJdkI7Ozs7OztFQU1DLHFCQXpFNkIsRUFBQTtFQWlGN0I7Ozs7OztJQUNDLGVBQWM7SUFDZCxVQUFTLEVBQUE7O0FBSVg7O0VDMElDLGlCQTJCMEMsRUFBQTtFQTREdkM7Ozs7O0lBRUUsd0dBUHVFLEVBQUE7RUtsUW5FO0lMcVJOLG9CQUFtQixFQUFBO0VBZG5COzs7OztJQUVFLDBHQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLHVLQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLHdLQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLHNHQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLDBKQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLG9KQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLG9KQVB1RSxFQUFBO0VBS3pFOzs7OztJQUVFLG9KQVB1RSxFQUFBOztBRHZON0U7Ozs7RUFJQyxtQkFBa0IsRUFBQTtFQUVsQjs7Ozs7Ozs7Ozs7Ozs7OztJQUlDLG1CQUFrQixFQUFBOztBQUlwQjtFQUNDLGtCQXpINEIsRUFBQTs7QUE2SDVCO0VBQ0MsZUFBYyxFQUFBOztBQUloQjs7RUFFQyw0QkE3SGdDLEVBQUE7RUErSGhDOzs7O0lBRUMsY0FBYTtJQUNiLGlCQUFnQixFQUFBO0VBR2pCOztJQUNDLGlCQUFnQjtJQUNoQixVQUFTLEVBQUE7O0FBSVg7RUFDQyxnQkFBZTtFQUNmLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLGNBQWEsRUFBQTtFQUViO0lBR0MsZ0JBQWUsRUFBQTtFTTdGUDtJTm9HUCxnQkFBZTtJQUNmLG9CQUFtQjtJQUNuQixlQUFjO0lBQ2QsYUFBWSxFQUFBO0VBSWQ7SUFDQyxlQUE4QixFQUFBO0lBRTlCO01BQ0MsZUFBOEI7TUFDOUIsc0JBQXFCLEVBQUE7O0FBS3hCO0VBQ0MsZUFBYyxFQUFBOztBQUdmO0VBQ0MsVUFBUyxFQUFBOztBRHRGVDtFQUVDLGFBQVk7RUFDWixlQUFjLEVBQUE7QUFHZjtFQUNDLFlBQVcsRUFBQTs7QVE5SWI7RVJzSkMsbUJBQWtCO0VBQ2xCLDRCQUEyQjtFQUMzQiwrQkFBOEI7RUFDOUIsOENBQXFDO1VBQXJDLHNDQUFxQztFQUNyQyxpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLFdBQVU7RUFDVixXQUFVO0VBQ1YsVUFBUyxFQUFBOztBUTFKVjtFUmtLQyxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUFBOztBUWhLcEI7RUFDQyxzQkFBcUI7RUFDckIseUJBQXdCO0VBQ3hCLG9CQUFtQixFQUFBOztBQUdwQjtFQUNDLFlBQVcsRUFBQTs7QUFHWjtFQUNDLG1CQUFrQjtFQUNsQixPQUFNLEVBQUE7O0FBR1A7RVI0SkUsYUFBWTtFQUViLHFCUTdKb0I7RVI2SnBCLGFRN0pvQixFQUFBOztBQUdyQjtFUndKRSxhQUFZO0VBRWIseUJRekp3QjtFUnlKeEIsaUJRekp3QixFQUFBOztBQzdCekI7RUNrREMsbUJBQWtCO0VBQ2xCLFdBQVUsRUFBQTtFVnFGVjtJQUVDLGFBQVk7SUFDWixlQUFjLEVBQUE7RUFHZjtJQUNDLFlBQVcsRUFBQTs7QVN4SWI7RUN5UEMsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsVUFBUztFQUNULFdBQVU7RUFDVixZQTVQMkI7RUErUDNCLGdCQUFlLEVBQUE7O0FBeExkO0VBZ0ZBLGVBQXVCLEVBQUE7O0FBNUV2QjtFQWdJQSxXQUFrQjtFQUduQixZQUEyQixFQUFBOztBQS9IMUI7RUE0SEEsWUFBa0I7RUFHbkIsV0FBMkIsRUFBQTs7QUEzSTFCO0VBbURBLGdCQUF5RCxFQUFBO0VIM0JqRDtJRzhCTixjQUE2RCxFQUFBOztBQWxEL0Q7RUF5RUEsc0JBQXdFLEVBQUE7RUhyRGhFO0lHd0ROLG9CQUE0RSxFQUFBOztBQXhFOUU7RUE4SEEsZUFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGdCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGNBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4sb0JBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsV0FBeUQsRUFBQTtFSDNCakQ7SUc4Qk4sZUFBNkQsRUFBQTs7QUFsRC9EO0VBeUVBLGlCQUF3RSxFQUFBO0VIckRoRTtJR3dETixxQkFBNEUsRUFBQTs7QUF4RTlFO0VBOEhBLFVBQWdFO0VBS2pFLFlBQTJCLEVBQUE7O0FBL0gxQjtFQTBIQSxXQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGFBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4sbUJBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGVBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4scUJBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsV0FBeUQsRUFBQTtFSDNCakQ7SUc4Qk4sY0FBNkQsRUFBQTs7QUFsRC9EO0VBeUVBLGlCQUF3RSxFQUFBO0VIckRoRTtJR3dETixvQkFBNEUsRUFBQTs7QUF4RTlFO0VBOEhBLFVBQWdFO0VBS2pFLFlBQTJCLEVBQUE7O0FBL0gxQjtFQTBIQSxXQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGVBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4scUJBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGFBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4sbUJBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsV0FBeUQsRUFBQTtFSDNCakQ7SUc4Qk4sZUFBNkQsRUFBQTs7QUFsRC9EO0VBeUVBLGlCQUF3RSxFQUFBO0VIckRoRTtJR3dETixxQkFBNEUsRUFBQTs7QUF4RTlFO0VBOEhBLFVBQWdFO0VBS2pFLFlBQTJCLEVBQUE7O0FBL0gxQjtFQTBIQSxXQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGNBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4sb0JBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsaUJBQXlELEVBQUE7RUgzQmpEO0lHOEJOLGVBQTZELEVBQUE7O0FBbEQvRDtFQXlFQSx1QkFBd0UsRUFBQTtFSHJEaEU7SUd3RE4scUJBQTRFLEVBQUE7O0FBeEU5RTtFQThIQSxnQkFBZ0U7RUFLakUsWUFBMkIsRUFBQTs7QUEvSDFCO0VBMEhBLGlCQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQTNJMUI7RUFtREEsWUFBeUQsRUFBQTtFSDNCakQ7SUc4Qk4sYUFBNkQsRUFBQTs7QUFsRC9EO0VBeUVBLGtCQUF3RSxFQUFBO0VIckRoRTtJR3dETixtQkFBNEUsRUFBQTs7QUF4RTlFO0VBOEhBLFdBQWdFO0VBS2pFLFlBQTJCLEVBQUE7O0FBL0gxQjtFQTBIQSxZQUFnRTtFQUtqRSxXQUEyQixFQUFBOztBQXhIM0I7RUFtSUMsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUNsQixZQUFXLEVBQUE7O0FBaklaO0VBbUlDLGVBQWM7RUFDZCxnQkFBZSxFQUFBOztBQWhJaEI7RUE0SUMsYVYxTFcsRUFBQTs7QVVrRFo7RUEwSUMsWUF2Q3FELEVBQUE7O0FDbkVyRDtFRDNEQTtJQWdGQSxlQUF1QixFQUFBOztFQTVFdkI7SUFnSUEsV0FBa0I7SUFHbkIsWUFBMkIsRUFBQTs7RUEvSDFCO0lBNEhBLFlBQWtCO0lBR25CLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxnQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHNCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZUFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGdCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxXQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsaUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxVQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsV0FBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxXQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsaUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxVQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsV0FBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxXQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsaUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxVQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsV0FBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxZQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsa0JBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxXQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsWUFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUF4SDNCO0lBbUlDLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsWUFBVyxFQUFBOztFQWpJWjtJQW1JQyxlQUFjO0lBQ2QsZ0JBQWUsRUFBQTs7RUFoSWhCO0lBNElDLGFWMUxXLEVBQUE7O0VVa0RaO0lBMElDLFlBdkNxRCxFQUFBLEVBQUE7QUNuRXJEO0VEM0RBO0lBZ0ZBLGVBQXVCLEVBQUE7O0VBNUV2QjtJQWdJQSxXQUFrQjtJQUduQixZQUEyQixFQUFBOztFQS9IMUI7SUE0SEEsWUFBa0I7SUFHbkIsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGdCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsc0JBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxlQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsZ0JBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLFdBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSxpQkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLFVBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxXQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLFdBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSxpQkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLFVBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxXQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLFdBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSxpQkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLFVBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxXQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsaUJBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSx1QkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGdCQUFnRTtJQUtqRSxZQUEyQixFQUFBOztFQS9IMUI7SUEwSEEsaUJBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLFlBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSxrQkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLFdBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxZQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQXhIM0I7SUFtSUMsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixZQUFXLEVBQUE7O0VBaklaO0lBbUlDLGVBQWM7SUFDZCxnQkFBZSxFQUFBOztFQWhJaEI7SUE0SUMsYVYxTFcsRUFBQTs7RVVrRFo7SUEwSUMsWUF2Q3FELEVBQUEsRUFBQTtBQ25FckQ7RUQzREE7SUFnRkEsZUFBdUIsRUFBQTs7RUE1RXZCO0lBZ0lBLFdBQWtCO0lBR25CLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTRIQSxZQUFrQjtJQUduQixXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsZ0JBQXlELEVBQUE7O0VBL0N6RDtJQXlFQSxzQkFBd0UsRUFBQTs7RUFyRXhFO0lBOEhBLGVBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxnQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsV0FBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLGlCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsVUFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLFdBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsV0FBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLGlCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsVUFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLFdBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsV0FBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLGlCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsVUFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLFdBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBM0kxQjtJQW1EQSxpQkFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLHVCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsZ0JBQWdFO0lBS2pFLFlBQTJCLEVBQUE7O0VBL0gxQjtJQTBIQSxpQkFBZ0U7SUFLakUsV0FBMkIsRUFBQTs7RUEzSTFCO0lBbURBLGlCQUF5RCxFQUFBOztFQS9DekQ7SUF5RUEsdUJBQXdFLEVBQUE7O0VBckV4RTtJQThIQSxnQkFBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLGlCQUFnRTtJQUtqRSxXQUEyQixFQUFBOztFQTNJMUI7SUFtREEsWUFBeUQsRUFBQTs7RUEvQ3pEO0lBeUVBLGtCQUF3RSxFQUFBOztFQXJFeEU7SUE4SEEsV0FBZ0U7SUFLakUsWUFBMkIsRUFBQTs7RUEvSDFCO0lBMEhBLFlBQWdFO0lBS2pFLFdBQTJCLEVBQUE7O0VBeEgzQjtJQW1JQyxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLFlBQVcsRUFBQTs7RUFqSVo7SUFtSUMsZUFBYztJQUNkLGdCQUFlLEVBQUE7O0VBaEloQjtJQTRJQyxhVjFMVyxFQUFBOztFVWtEWjtJQTBJQyxZQXZDcUQsRUFBQSxFQUFBO0FFaEV0RDs7O0VWb0hHLDJCQWxLa0I7RVVpRHBCLGVBQWM7RUFDZCxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixtQkFBa0I7RUFDbEIsZUFBYztFQUNkLDJCQUEwQjtFQUMxQixtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFFBQU8sRUFBQTtBQUdSOzs7RUFFQyxzQkFBcUIsRUFBQTtBQUd0Qjs7RUFDQyxjQUFhLEVBQUE7O0FBbUNkOztFTnFLQSxvQkFBb0M7RU1uS25DLE9BbEtnQixFQUFBOztBQTJJakI7RU40TUEscUJBQWtDO0VNMU1qQyxzQkFBcUI7RUFDckIsY0F2SXVCLEVBQUE7QUEwSXhCO0VBQ0MsY0FBYSxFQUFBOztBQXBEZDtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBO0FBNkM5QjtFQUVDLGFBL0M2QixFQUFBOztBQTZDOUI7RUFFQyxhQS9DNkIsRUFBQTtBQzFCOUI7RUFDQyxpQkFBZ0IsRUFBQTs7QUM3RGxCO0VBWUUsaUJBTG1CLEVBQUE7O0FBZ0NuQjtFQUNDLGNBQWEsRUFBQTs7QUFHZDtFQUNDLGVBQWMsRUFBQTs7QUFHZjtFQUNDLGdCQUFlLEVBQUE7O0FBR2hCO0VBQ0Msc0JBQXFCLEVBQUE7O0FIc0Z0QjtFR25HQTtJQUNDLGNBQWEsRUFBQTs7RUFHZDtJQUNDLGVBQWMsRUFBQTs7RUFHZjtJQUNDLGdCQUFlLEVBQUE7O0VBR2hCO0lBQ0Msc0JBQXFCLEVBQUEsRUFBQTtBSHNGdEI7RUduR0E7SUFDQyxjQUFhLEVBQUE7O0VBR2Q7SUFDQyxlQUFjLEVBQUE7O0VBR2Y7SUFDQyxnQkFBZSxFQUFBOztFQUdoQjtJQUNDLHNCQUFxQixFQUFBLEVBQUE7QUhzRnRCO0VHbkdBO0lBQ0MsY0FBYSxFQUFBOztFQUdkO0lBQ0MsZUFBYyxFQUFBOztFQUdmO0lBQ0MsZ0JBQWUsRUFBQTs7RUFHaEI7SUFDQyxzQkFBcUIsRUFBQSxFQUFBO0FDMkN4QjtFWjZWTSxnQkN0Tm1CO0VEc05uQixvQkN6TWtEO0VGZ0N2RCxpQkEyQjBDO0VDOElyQyxvQkMxTHVCO0VGRHpCLGtGQTJGZ0Q7RWFyUW5ELDBCQTdENkM7RUE4RDdDLHNEQUEwQztFQUExQyw4Q0FBMEM7RUFDMUMsbUJBeERtQjtFQW9FbkIsa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixtQmZ0R3lCO0VldUd6QixhQTlGc0M7RUErRnRDLGdCQUFlO0VBQ2Ysc0JBQXFCO0VBQ3JCLGdCQUE4QjtFQUM5QixtQkFaYztFQWFkLG9CQWJjO0VBY2QsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixvQkFBbUIsRUFBQTtFYjBQaEI7SUFFRSx3R0FQdUUsRUFBQTtFS2xRbkU7SUxxUk4sb0JBQW1CLEVBQUE7RUFkbkI7SUFFRSwwR0FQdUUsRUFBQTtFQUt6RTtJQUVFLHVLQVB1RSxFQUFBO0VBS3pFO0lBRUUsd0tBUHVFLEVBQUE7RUFLekU7SUFFRSxzR0FQdUUsRUFBQTtFQUt6RTtJQUVFLDBKQVB1RSxFQUFBO0VBS3pFO0lBRUUsb0pBUHVFLEVBQUE7RUFLekU7SUFFRSxvSkFQdUUsRUFBQTtFQUt6RTtJQUVFLG9KQVB1RSxFQUFBO0VJbk0zRTtJSitGRSx3RUEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLHVKQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUscUpBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSxpRkEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLDBIQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUsdUhBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSx1SEEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLHVIQTJGZ0QsRUFBQTtFYTFPbkQ7SUEzQkEsMEJBTm9EO0lBT3BELHNEQUEwQztJQUExQyw4Q0FBMEM7SUFDMUMsc0JBTHVFO0lBZ0N0RSxzQkFBcUIsRUFBQTtFQUd0QjtJZmdIQSwrQ0FBNEI7SUFDNUIsY0FBYSxFQUFBO0lBc0JaO01BaEJDLGlCQUFnQixFQUFBO0lPM0lUO01QZ0pSLDJCQUFxRSxFQUFBO0VleEh0RTtJQXBDQSwwQkFOb0Q7SUFPcEQsc0RBQTBDO0lBQTFDLDhDQUEwQztJQUMxQyxzQkFMdUU7SUF5Q3RFLGNBQWEsRUFBQTtFQUdkO0lBekNBLDBCVmVxQjtJVWRyQixzREFBMEM7SUFBMUMsOENBQTBDO0lBQzFDLG1CVmFxQjtJVTZCcEIsYUF6SHFDO0lBMEhyQyxnQkFBZTtJQUNmLGFBL0UwQixFQUFBO0lSNkNsQjtNUXFDUCwwQkFBd0csRUFBQTs7QUErQjNHO0VacVJNLGdCQ3RObUI7RURzTm5CLHFCQ3pNa0Q7RUZnQ3ZELGlCQTJCMEM7RUM4SXJDLG9CQzFMdUI7RVduR3pCLGdCQUE4QjtFQUM5QixtQkFKYztFQUtkLG9CQUxjLEVBQUE7RVJ6RFI7SUxxUk4sb0JBQW1CLEVBQUE7RUl0TnJCO0lIMFJJLGdCWXZTa0IsRUFBQTtFVGF0QjtJSDBSSSxnQll2U2tCLEVBQUE7O0FBeUJ4QjtFQUNDLHVCQUFzQjtFQUN0QixlQUFjO0VBQ2QsWUFBVyxFQUFBOztBQTZIWjtFQXZOQywwQkFzTDBEO0VBckwxRCxvREFBMEM7RUFBMUMsNENBQTBDO0VBQzFDLHNCQTJMK0M7RUFoRC9DLGVBMEJnRCxFQUFBO0VBeEJoRDtJQS9JQSwwQkFOb0Q7SUFPcEQsb0RBQTBDO0lBQTFDLDRDQUEwQztJQUMxQyxzQkFMdUUsRUFBQTtFQXNKdkU7SUFuSkEsNEJBTm9EO0lBT3BELHdEQUEwQztJQUExQyxnREFBMEM7SUFDMUMsc0JBTHVFLEVBQUE7RUEwSnZFO0lBdkpBLDBCVmVxQjtJVWRyQixvREFBMEM7SUFBMUMsNENBQTBDO0lBQzFDLHNCVmFxQjtJVTJJcEIsZUFhK0MsRUFBQTtJUjNKdkM7TVFpSlAsMEJBQTBGLEVBQUE7O0FDcE03RjtFQUNDLG1CaEJoRHlCO0VnQmlEekIsMEJBQXdDO0VBQ3hDLDBCQUE0QztFQUM1Qyx1QkF2QjhCO0VBd0I5Qiw2QkEvQm1DLEVBQUE7RWJnZm5DO0lBQ0MsY0FBYSxFQUFBO0VBR2Q7SUFDQyxpQkFBZ0IsRUFBQTtFYWxkakI7SUFDQyxlQUE0QjtJQUM1QixjQUFhO0liaVlULGdCQ3RObUI7SURzTm5CLG1CQ3pNa0Q7SUZnQ3ZELGlCQTJCMEM7SUM4SXJDLG9CQzFMdUIsRUFBQTtJRndHekI7TUFFRSx3R0FQdUUsRUFBQTtJS2xRbkU7TUxxUk4sb0JBQW1CLEVBQUE7SUFkbkI7TUFFRSwwR0FQdUUsRUFBQTtJQUt6RTtNQUVFLHVLQVB1RSxFQUFBO0lBS3pFO01BRUUsd0tBUHVFLEVBQUE7SUFLekU7TUFFRSxzR0FQdUUsRUFBQTtJQUt6RTtNQUVFLDBKQVB1RSxFQUFBO0lBS3pFO01BRUUsb0pBUHVFLEVBQUE7SUFLekU7TUFFRSxvSkFQdUUsRUFBQTtJQUt6RTtNQUVFLG9KQVB1RSxFQUFBO0lTM04zRTtNS2pGRDtRYm1ZSyxnQkN0Tm1CO1FEc05uQixxQkN6TWtEO1FEMkxqRCxpQkRoSW9DO1FDOElyQyxvQkMxTHVCLEVBQUEsRUFBQTtJT3hIM0I7TUtqRkQ7UWJtWUssZ0JDdE5tQjtRRHNObkIscUJDek1rRDtRRDJMakQsaUJEaElvQztRQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7SUVoRzNCO01IMFJJLHFCQ3pNa0QsRUFBQTtNT3pHdEQ7UUx3QkE7VUgwUkksa0JDek1rRCxFQUFBLEVBQUE7TU96R3REO1FMd0JBO1VIMFJJLHFCQ3pNa0QsRUFBQSxFQUFBO0lFakZ0RDtNSDBSSSxnQkN0Tm1CLEVBQUE7TU81RnZCO1FMd0JBO1VIMFJJLGdCQ3RObUIsRUFBQSxFQUFBO01PNUZ2QjtRTHdCQTtVSDBSSSxnQkN0Tm1CLEVBQUEsRUFBQTtFWXRLeEI7SUFDQyxlQUEyQjtJYjJYdkIsZ0JDdE5tQjtJRHNObkIsaUJDek1rRDtJRmdDdkQsaUJBMkIwQztJQzhJckMsb0JDMUx1QjtJWTlMM0IsaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUFBO0lWNkZsQjtNSDBSSSxnQkN0Tm1CLEVBQUE7O0FZcEd6QjtFQWpCQywwQkFBb0M7RUFDcEMsMEJBbUJxQjtFQWxCckIsdUJBdEY4QjtFQXVGOUIsNkJBOUZtQyxFQUFBO0VBZ0duQztJQUNDLGVBQTBCLEVBQUE7RUFHM0I7SUFDQyxlQUF5QixFQUFBOztBQ2xGM0I7RWRtWk0sZ0JDdE5tQjtFRHNObkIscUJDek1rRDtFRmdDdkQsaUJBMkIwQztFQzhJckMsb0JDMUx1QjtFYXZONUIsZUFBZ0MsRUFBQTtFQUVoQztJQUNDLFVBQVM7SUFDVCxXQUFVLEVBQUE7RUFHWDtJQUNDLGVBQWdDLEVBQUE7RUFHakM7SUFDQyxpQkFBZ0IsRUFBQTtFQUdqQjtJQUNDLDRCQUEyQjtJQUMzQix3QkFwRDBCO0lBcUQxQix5QkFyRDBCLEVBQUE7RUF3RDNCOztJQUVDLDBCQW5ENEIsRUFBQTtFQXNEN0I7SUFDQyxlQUFjLEVBQUE7RUFHZjtJQUNDLDBCQUFrQyxFQUFBOztBQytEcEM7RUFDQyxzQkFBcUI7RUFDckIsbUJBQWtCLEVBQUE7O0FBR25CO0VmOFNNLGdCQ3RObUI7RURzTm5CLHFCQ3pNa0Q7RUZnQ3ZELGlCQTJCMEM7RUM4SXJDLG9CQzFMdUI7RWNsSDVCLGlDQUEwRTtFQUMxRSxVQUFTO0VBQ1QsZ0JBQWUsRUFBQTtFUFJkO0lPSUY7TWY4U00sZ0JDdE5tQjtNRHNObkIsbUJDek1rRDtNRDJMakQsaUJEaElvQztNQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7O0FjN0c3QjtFQUNDLHNCQUFxQjtFQUNyQixpQkFBZ0I7RUFDaEIsZUFBNkQ7RUFDN0Qsa0JBQWlCLEVBQUE7RVBmaEI7SU9XRjtNQVNFLGlCQUZ5RTtNQUd6RSxrQkFIeUU7TUFJekUsa0JBQWlCLEVBQUEsRUFBQTs7QUFJbkI7RUFDQyxZQUFXO0VBQ1gsY0FBZ0MsRUFBQTtFUDVCL0I7SU8wQkY7TUFLRSxpQkF4RmdDO01BeUZoQyxrQkF6RmdDLEVBQUEsRUFBQTs7QUE2RmxDO0VBQ0MsOEJBQWlEO0VBQ2pELG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsZUFBbUM7RUFDbkMsZ0JBQWU7RUFDZixZQUFXO0VBQ1gseUJBQXlCO0VBQ3pCLGFBQTBGO0VBQzFGLG1CQUFrQjtFQUNsQixZQWhHeUI7RUFpR3pCLGFBakd5QjtFQWtHekIsV0FBVSxFQUFBO0VQaERUO0lPb0NGO01BZUUseUJBQXlCO01BQ3pCLGFBQXdHO01BQ3hHLFlBOUYrQjtNQStGL0IsYUEvRitCLEVBQUEsRUFBQTtFQWtHaEM7SUFDQyxzQkMxTXlDO0lEMk16QyxzQkFBcUIsRUFBQTtFQUd0QjtJQUNDLHNCQzlNb0M7SUQrTXBDLGdCQUFlLEVBQUE7O0FBSWpCO0VBQ0Msa0NBQWlEO0VBQ2pELG1CQUFrQjtFQUNsQixxREFBOEU7RUFDOUUsZUFBYztFQUNkLFlBM0cyQjtFQTRHM0IsYUE1RzJCLEVBQUE7RVBrQzFCO0lPb0VGO01BU0UsWUF4R2lDO01BeUdqQyxhQXpHaUMsRUFBQSxFQUFBO0VBNEdsQztJQUNDLHVCQUFzQjtJQUN0QixpREFBNEM7SUFDNUMsWUFBVztJQUNYLGVBQWM7SUFDZCxnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixlQUFjLEVBQUE7O0FBS2Y7RWxCakZBLG1CQUFrQjtFQUNsQiw0QkFBMkI7RUFDM0IsK0JBQThCO0VBQzlCLDhDQUFxQztVQUFyQyxzQ0FBcUM7RUFDckMsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxXQUFVO0VBQ1YsV0FBVTtFQUNWLFVBQVMsRUFBQTtBa0I4RVQ7RWZnTkssZ0JDdE5tQjtFRHNObkIsZUN6TWtEO0VGZ0N2RCxpQkEyQjBDO0VDOElyQyxvQkMxTHVCO0VjcEIzQixXQUFVO0VBQ1Ysd0JBQWU7VUFBZixnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxVQUFTO0VBQ1QsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixhQUFZO0VBQ1osYUFBWTtFQUNaLFdBQVUsRUFBQTtFUC9HVjtJT2tHRDtNZmdOSyxnQkN0Tm1CO01Ec05uQixpQkN6TWtEO01EMkxqRCxpQkRoSW9DO01DOElyQyxvQkMxTHVCLEVBQUEsRUFBQTtFT3hIM0I7SU9rR0Q7TUFnQkUsaUJBQWdCLEVBQUEsRUFBQTs7QUEwQmxCO0VBQ0Msc0JBQWtDLEVBQUE7QUFHbkM7RUFDQyxlQUEwQixFQUFBO0VBRTFCO0lBQ0Msc0JBQWtDLEVBQUE7RUFHbkM7SUFDQyxzQkFBb0MsRUFBQTtBQWdCdEM7RUFDQyxxREFBd0YsRUFBQTs7QUU3T3pGO0VBQ0MsMEJBNUNjLEVBQUE7O0FBMkNmO0VBQ0MsMEJBM0NZLEVBQUE7O0FBMENiO0VBQ0MsMEJBMUNpQixFQUFBOztBQXlDbEI7RUFDQywwQkF6Q2dCLEVBQUE7O0FBd0NqQjtFQUNDLDBCQXhDa0IsRUFBQTs7QUF1Q25CO0VBQ0MsMEJBckNzQixFQUFBOztBQW9DdkI7RUFDQywwQkFwQ3NCLEVBQUE7O0FBbUN2QjtFQUNDLDBCQW5Dc0IsRUFBQTs7QUFrQ3ZCO0VBQ0MsMEJBbEN1QixFQUFBOztBQWlDeEI7RUFDQywwQkFqQzJCLEVBQUE7O0FBZ0M1QjtFQUNDLDBCQWhDb0IsRUFBQTs7QUErQnJCO0VBQ0MsMEJBL0J3QixFQUFBOztBQThCekI7RUFDQywwQkE5QjBCLEVBQUE7O0FBNkIzQjtFQUNDLDBCQTdCNkIsRUFBQTs7QUE0QjlCO0VBQ0MsMEJBNUI2QixFQUFBOztBQTJCOUI7RUFDQywwQkEzQnlCLEVBQUE7O0FBMEIxQjtFQUNDLDBCQTFCc0IsRUFBQTs7QUF5QnZCO0VBQ0MsMEJBekIwQixFQUFBOztBQXdCM0I7RUFDQywwQkF4QnFCLEVBQUE7O0FBdUJ0QjtFQUNDLDBCQXZCNkIsRUFBQTs7QUFzQjlCO0VBQ0MsMEJBcEIyQixFQUFBOztBQW1CNUI7RUFDQywwQkFuQm1CLEVBQUE7O0FBa0JwQjtFQUNDLDBCQWxCcUIsRUFBQTs7QUFpQnRCO0VBQ0MsMEJBakJ3QixFQUFBOztBQWdCekI7RUFDQywwQkFoQnVCLEVBQUE7O0FBZXhCO0VBQ0MsMEJBZjRCLEVBQUE7O0FBYzdCO0VBQ0MsMEJBZHlCLEVBQUE7O0FBYTFCO0VBQ0MsMEJBYjBCLEVBQUE7O0FBWTNCO0VBQ0MsMEJBWnFCLEVBQUE7O0FDdkN2QjtFQUVFLG9CQUE4RixFQUFBOztBQUloRztFQzZCRyxZQUp5QztFQUt6QyxhQUoyQztFQzBFNUMsMkJBQStCO0VBekUvQiw2QkFBNEI7RUEyQnRCLHdCQUEyQjtFRm5EakMsaUJBQW1FO0VBQ25FLGlCQWYrQjtFQWdCL0IsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixTQUFRO0VBQ1IsV0FBVSxFQUFBOztBR3RCWjtFckJnYk0sZ0JDdE5tQjtFRHNObkIsb0JDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFb0JuUHpCLDJDQUFrRTtFQUNsRSw2QkFBNEI7RUFDNUIsMEJBQTBDO0VBQzFDLG1CeEJqQnNCO0V3QmtCdEIsbUJBQXNEO0VBQ3RELG9CQXpCMkI7RUEwQjNCLGlCQXpCd0IsRUFBQTtFYjhJMUI7SWE5SEY7TUFZUSx3QkFBZ0Y7TUFDaEYsb0JBNUJ1QjtNQTZCdkIsaUJBN0J1QixFQUFBLEVBQUE7RUFnQzNCO0lBQ0ksbUNBQW1EO0lBQ25ELHdDQUF3RCxFQUFBOztBQUtoRTtFckJ3Wk0sZ0JDdE5tQjtFRHNObkIsb0JDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFb0IzTnpCLG9CQXpDaUMsRUFBQTtFYjRJbkM7SWF0R0Y7TUFNUSxnQkEzQ2dDO01BNENoQyxvQkEzQ29DLEVBQUEsRUFBQTs7QUNvQjVDO0VBQ0ksaUJBQWdCO0VBQ2hCLHNCQUFxQjtFQUNyQixrQkE3QmlDO0VBOEJqQyxnQkFqQitCLEVBQUE7RWRtSWpDO0ljdEhGO01BT1Esa0JBaENvQyxFQUFBLEVBQUE7RWQrSTFDO0ljdEhGO01BV1EsZUFBYyxFQUFBLEVBQUE7RWQyR3BCO0ljeEdFO01BRVEsa0JBeENzQyxFQUFBLEVBQUE7RWQ4SWhEO0ljeEdFO01BTVEsZUFBYyxFQUFBLEVBQUE7RUFJdEI7SUFDSSxzQkFBcUI7SUFDckIsZ0JBQWUsRUFBQTtJZDRGckI7TWM5RkU7UUFLUSxtQkFwQ2dDLEVBQUEsRUFBQTs7QUF5QzVDO0VBQ0ksNEJBQTJCO0VBQzNCLGNBQWEsRUFBQTtFZGtGZjtJYy9FTTtNQUNJLG1CQWhEdUMsRUFBQSxFQUFBO0VkOEhqRDtJY3pFTTtNQUNJLG9CQUFtQjtNQUNuQixnQkFBZSxFQUFBLEVBQUE7RUFJdkI7SUFDSSxpQkFBZ0IsRUFBQTs7QUFJeEI7RUFDSSxnQ0FBK0I7RUFDL0IsbUJBaEYwQztFQWlGMUMsWUEvRW1DO0VBZ0ZuQyxtQkFBa0IsRUFBQTtFZDBEcEI7SWM5REY7TUFPUSxlQUFjO01BQ2Qsb0JBckY4QyxFQUFBLEVBQUE7RUF3RmxEO0l0QnFXRSxnQkN0Tm1CO0lEc05uQixxQkN6TWtEO0lGZ0N2RCxpQkUzQjRCO0lEb012QixvQkMxTHVCLEVBQUE7SUZ3R3pCO01BRUUsd0dBUHVFLEVBQUE7SUtsUW5FO01McVJOLG9CQUFtQixFQUFBO0lBZG5CO01BRUUsMEdBUHVFLEVBQUE7SUFLekU7TUFFRSx1S0FQdUUsRUFBQTtJQUt6RTtNQUVFLHdLQVB1RSxFQUFBO0lBS3pFO01BRUUsc0dBUHVFLEVBQUE7SUFLekU7TUFFRSwwSkFQdUUsRUFBQTtJQUt6RTtNQUVFLG9KQVB1RSxFQUFBO0lBS3pFO01BRUUsb0pBUHVFLEVBQUE7SUFLekU7TUFFRSxvSkFQdUUsRUFBQTtJUzNOM0U7TWNuREU7UXRCcVdFLGdCQ3RObUI7UURzTm5CLHFCQ3pNa0Q7UUQyTGpELGlCQ3RMc0I7UURvTXZCLG9CQzFMdUIsRUFBQSxFQUFBO0VxQnZLekI7SUFDSSxnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBS2xCLCtCQUE4QjtJQUM5QiwwQkFBd0Q7SUFDeEQsbUJBakdzQztJQWtHdEMsc0JBQXFCO0lBQ3JCLGVBdEd1QztJQXVHdkMsbUJBakc2QztJQWtHN0MsbUJBakc2QztJQWtHN0MsZ0JBdkcwQztJQXdHMUMsbUJBQWtCO0lBQ2xCLGNBM0d1QztJQTRHdkMsdUJBQXNCLEVBQUE7SWQ0QjVCO01jL0NFO1FBc0JRLGdCQUFlO1FBQ2Ysa0JBQWlCO1FBQ2pCLGFBaEh1QztRQWlIdkMsWUFqSHVDO1FBa0h2QyxtQkEvR2dELEVBQUEsRUFBQTtJZG9JMUQ7TWMvQ0U7UUE4QlEsZUEvRzRDO1FBZ0g1QyxrQkEvRytDLEVBQUEsRUFBQTtFQW1IdkQ7SUFDSSxhQWxJZ0MsRUFBQTs7QUF1SXBDO0VBQ0ksY0FBYSxFQUFBO0FBR2pCO0VBQ0ksZUFBYyxFQUFBO0FkQ3BCO0VjRUU7SUFFUSxrQkFuSmdDLEVBQUEsRUFBQTtBZCtJMUM7RWNFRTtJQU1RLGVBQWMsRUFBQSxFQUFBO0FBSXRCO0VBQ0ksZ0JBQWUsRUFBQTtBZGJyQjtFY2tCVTtJQUNJLGdCQUFlLEVBQUEsRUFBQTs7QUNyQy9CO0VBRUksbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixzQkEzSDhCO0VBNEg5QixZQTVIOEI7RUE2SDlCLGFBN0g4QjtFQThIOUIsU0EvSGdCO0VBZ0loQixhQWpJbUIsRUFBQTtFQTRFbkI7SUF2QkEsMjBEQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLDhCQXZDWSxFQUFBO0VBMERwQjtJQTNCQSxza0VBQTBEO0lBQzFELHNCQUEyQjtJQUMzQiw2QkFBNEIsRUFBQTtJbkI2Q3RCO01tQjFDRix3QkFBMkU7TUFHdkUsa0NBcENrQixFQUFBO0VBMkQxQjtJQS9CQSx1bkZBQTBEO0lBQzFELHNCQUEyQjtJQUMzQiw2QkFBNEIsRUFBQTtJbkI2Q3RCO01tQjFDRix3QkFBMkU7TUFHdkUsa0NBbEN3QixFQUFBO0VBNkRoQztJQW5DQSxxL0RBQTBEO0lBQzFELHNCQUEyQjtJQUMzQiw2QkFBNEIsRUFBQTtJbkI2Q3RCO01tQjFDRix3QkFBMkU7TUFHdkUsaUNBdENhLEVBQUE7RUFxRXJCO0lBdkNBLDIwREFBMEQ7SUFDMUQsc0JBQTJCO0lBQzNCLDZCQUE0QixFQUFBO0luQjZDdEI7TW1CMUNGLHdCQUEyRTtNQUd2RSw2QkF4Q1csRUFBQTtFQTJFbkI7SUEzQ0Esc2tFQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLGtDQXJDa0IsRUFBQTtFQTRFMUI7SUEvQ0EsdW5GQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLGtDQW5Dd0IsRUFBQTtFQThFaEM7SUFuREEsMHlEQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLGtDQWpDcUIsRUFBQTtFQWdGN0I7SUF2REEsdTNDQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLGlDQWhDbUIsRUFBQTtFQW1GM0I7SUEzREEseTBDQUEwRDtJQUMxRCxzQkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7SW5CNkN0QjtNbUIxQ0Ysd0JBQTJFO01BR3ZFLGlDQS9CWSxFQUFBO0VBc0ZwQjtJQS9EQSxpekNBQTBEO0lBQzFELHNCQUEyQjtJQUMzQiw2QkFBNEIsRUFBQTtJbkI2Q3RCO01tQjFDRix3QkFBMkU7TUFHdkUsbUNBN0JaLEVBQUE7RUFtR0k7SUFDSSxzQkFBcUIsRUFBQTtFQUd6QjtJQUNJLGNBMUk0QjtJQTJJNUIsb0JBMUlrQztJQTJJbEMsaUJBQWdCLEVBQUE7RUFHcEI7SUFDSSxzQkFBcUIsRUFBQTs7QUFJN0I7RXZCMlNNLGdCQ3RObUI7RURzTm5CLGtCQ3pNa0Q7RUZnQ3ZELGlCRTNCNEI7RURvTXZCLG9CQzFMdUI7RXNCL0d6QixtQkF6SmtDLEVBQUE7RWZnSnBDO0llT0Y7TUFNUSxtQkE1SnFDLEVBQUEsRUFBQTtFQStKekM7SUFDSSxnQkF0Sm1CO0lBdUpuQixtQkFBa0IsRUFBQTtJZmxCeEI7TWVnQkU7UUFLUSxnQkFBZTtRQUNmLG1CQUFrQixFQUFBLEVBQUE7RUFLdEI7SUFDSSxrQkFBaUIsRUFBQTtJZjVCM0I7TWUyQk07UUFJUSxpQkF6SmtCLEVBQUEsRUFBQTtFQTZKMUI7SUFFSSxXQUFVO0lBQ1YsbUJBNUs4QjtJQTZLOUIsK0NBQXFGLEVBQUE7SW5COUV2RjtNbUJpRk0sMkJBQThELEVBQUE7RUFJdEU7SUFDSSxnQkFBZSxFQUFBOztBQUszQjtFdkI4UE0sZ0JDdE5tQjtFRHNObkIscUJDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFc0JqRXpCLDhCQXJNNkM7RUFzTTdDLGVBcExvQztFQXFMcEMsaUJBbExnQyxFQUFBO0VBb0xoQztJQUNJLGVBdkx5QyxFQUFBOztBQTJMakQ7RUFDSSxtQkFBa0IsRUFBQTtFbkJ4R1o7SW1CNkdFLDJCQUE4RCxFQUFBO0VBSWxFOztJQUNJLGVBQWMsRUFBQTs7QUNqTDFCO0V4QndaTSxnQkN0Tm1CO0VEc05uQixtQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCO0V1QjVOekIsYUF4Q3NCO0VBeUN0QixtQjNCdENzQjtFMkJ1Q3RCLG9CQTVDb0Q7RUE2Q3BELG1CQUFrQjtFQUNsQixhQTNDc0I7RUE0Q3RCLFdBQVU7RUFDVixjQUFhO0VBQ2IsVUFBUztFQUNULGFBOUNzQjtFQStDdEIsZUFsRG1DO0VBbURuQyxrQkE5QzJCLEVBQUE7RUFnRDNCO0lBQ0ksbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCx3Q0FBaUQ7SUFDakQseUNBQWtEO0lBQ2xELG1DQUFtRTtJQUNuRSxpQkE3RDJCLEVBQUE7RUFnRS9CO0lBQ0ksYUFBa0MsRUFBQTs7QUFJMUM7RUFDSSxzQkFBcUI7RUFDckIsbUJBQWtCLEVBQUE7RUFFbEI7SUFDSSxjQUFhLEVBQUE7SUFFYjtNQUNJLG1CQUFrQjtNQUNsQixRQUFPO01BQ1AsU0FBUSxFQUFBOztBQUtwQjtFQUNJLG1CQUFrQixFQUFBO0VBR2Q7SUFDSSxTQUFRLEVBQUE7O0FBS3BCO0V4Qm1XTSxnQkN0Tm1CO0VEc05uQixtQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCO0V1QnZLekIsbUJBeEZrQztFQXlGbEMsa0JBeEYrQixFQUFBO0VBMEYvQjtJQUNJLG1CQUFrQixFQUFBOztBQUkxQjtFQUNJLGlCQUFnQjtFQUNoQixVQUFTLEVBQUE7RUFFVDtJQUNJLG1CQUFrQjtJQUNsQixTQUFRLEVBQUE7O0FBSWhCO0VBQ0ksWUF6R21DLEVBQUE7RUEyR25DO0lBQ0ksWUF4R3VDLEVBQUE7SUEwR3ZDO01BQ0ksWUFBbUQsRUFBQTs7QUFLL0Q7RUFDSSxhQXBIcUMsRUFBQTtFQXNIckM7SUFDSSxnQkFySDRDLEVBQUE7O0FBeUhwRDtFQUNJLGFBaklzQyxFQUFBO0VoQnlJeEM7SWdCVEY7TUFJUSxhQS9IaUMsRUFBQSxFQUFBO0VBa0lyQztJQUNJLGFBbEkyQyxFQUFBO0loQm1JakQ7TWdCRkU7UUFJUSxnQkFwSXdDLEVBQUEsRUFBQTs7QUF5SXBEO0VBQ0ksaUJBQWdCLEVBQUE7RUFHaEI7SUFDSSxpQkFBZ0IsRUFBQTtFQUdwQjtJQUNJLGFBQThCLEVBQUE7RUFHbEM7SUFDSSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixRQUFPLEVBQUE7RUFHWDtJQUNJLFlBMUp5QyxFQUFBO0loQitIL0M7TWdCMEJFO1FBSVEsYUFBWSxFQUFBLEVBQUE7RUFJcEI7SUFDSSxhQUFZLEVBQUE7SWhCbkNsQjtNZ0JrQ0U7UUFJUSxhQUE4QixFQUFBLEVBQUE7SWhCdEN4QztNZ0JrQ0U7UUFRUSxhQUFZLEVBQUEsRUFBQTtFQUlwQjtJQUNJLFNBN0tzQztJQThLdEMsbUJBQWtCO0lBQ2xCLFlBdEtpRDtJQXVLakQsZUFBYyxFQUFBO0loQmxEcEI7TWdCOENFO1FBT1Esa0JBeEtxRDtRQXlLckQsbUJBQWtCO1FBQ2xCLFdBQVUsRUFBQSxFQUFBO0VBSWxCO0lBQ0ksbUJBQWtCO0lBQ2xCLG9CQUFtQixFQUFBO0loQjdEekI7TWdCMkRFO1FBS1EsaUNBdkxrRDtRQXVMbEQseUJBdkxrRCxFQUFBLEVBQUE7SUEwTHREO01BQ0ksU0FBUTtNQUNSLFdBQVUsRUFBQTs7QUFNbEI7RUFDSSxVQWhNMEMsRUFBQTs7QWhCb0hoRDtFZ0JnRkY7SUFFUSxzQkFBcUIsRUFBQSxFQUFBOztBQUk3QjtFQUNJLGlCQUFnQjtFQUNoQixjQUFhLEVBQUE7O0FBR2pCO0VBQ0ksbUJBQWtCO0VBQ2xCLFNBQVEsRUFBQTtFaEI3RlY7SWdCZ0dNO01BQ0ksY0FBYSxFQUFBO0lBSWI7TUFDSSxpQkFBZ0IsRUFBQSxFQUFBO0VBSzVCO0lBQ0ksWUFBVyxFQUFBO0loQjVHakI7TWdCOEdNO1FBRVEsY0FBYSxFQUFBLEVBQUE7SUFJckI7TUFDSSxvQkFBbUIsRUFBQTtFQUt2QjtJQUNJLHFCQWpQNEMsRUFBQTs7QUFzUHhEO0VBQ0ksWUFBVztFQUNYLHVCQUFzQjtFQUN0QixhQWhRZ0M7RUFpUWhDLFFBQU87RUFDUCxVQUFTO0VBQ1Qsa0JBQWlCLEVBQUE7RWhCdEluQjtJZ0JnSUY7TUFTUSxhQXBRbUMsRUFBQSxFQUFBO0VBdVF2QztJQUNJLHFCQXRRd0M7SUF1UXhDLG1CQXhRa0M7SUF5UWxDLGNBQWE7SUFDYixTQTVRNkIsRUFBQTtJaEI0SG5DO01nQjRJRTtRQU9RLG9CQTNRMEMsRUFBQSxFQUFBO0VBK1FsRDtJQUNJLHNCQUFxQixFQUFBO0VBS3JCOztJQUNJLGNBQWEsRUFBQTtFQUtqQjtJQUNJLHNCQUFxQixFQUFBO0VBS3pCO0lBQ0ksc0JBQXFCLEVBQUE7O0FBS2pDO0V4Qm1JTSxnQkN0Tm1CO0VEc05uQixpQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCO0V1QnlEekIsb0JBblM0QztFQW9TNUMsaUJBQWdCLEVBQUE7RUFFaEI7SUFDSSxZQXRTb0M7SUF1U3BDLGFBdlNvQyxFQUFBO0lBeVNwQztNQUNJLGNBelN3QyxFQUFBOztBQzRCcEQ7RTFCMk1JLGtGQTJGZ0Q7RUNnRzlDLGdCQ3RObUI7RURzTm5CLGtCQ3pNa0Q7RUZnQ3ZELGlCRTNCNEI7RURvTXZCLG9CQzFMdUI7RXdCdk16QixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG9CQUFtQjtFQUNuQixZQUFXO0VBQ1gsYUFBWTtFQUNaLGlCQUFnQjtFQUVoQixtQkFBa0I7RUFFbEIsb0JBQW1CO0VBQ25CLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsZUE3RWtDO0VBOEVsQyxpQkFBZ0I7RUFDaEIsMEJBQTRDO0VBQzVDLG1CNUJ6RXNCO0U0QjBFdEIsa0JBL0V3QztFQWdGeEMsNkJBQTRCLEVBQUE7RXRCc0Y5QjtJSitGRSx3RUEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLHVKQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUscUpBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSxpRkEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLDBIQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUsdUhBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSx1SEEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLHVIQTJGZ0QsRUFBQTtFU2xObEQ7SWlCcEZGO01BMEJRLGFBQVk7TUFDWixvQkFBbUIsRUFBQTtNQUdmO1FBQWlCLGVBdEZpQixFQUFBO01Bc0ZsQztRQUFpQixlQXRGaUIsRUFBQTtNQXNGbEM7UUFBaUIsZUF0RmlCLEVBQUE7TUFzRmxDO1FBQWlCLGVBdEZpQixFQUFBLEVBQUE7RUEwRjFDO0lBQWlCLGVBMUZ5QixFQUFBO0VBMEYxQztJQUFpQixlQTFGeUIsRUFBQTtFQTBGMUM7SUFBaUIsZUExRnlCLEVBQUE7RUEwRjFDO0lBQWlCLGVBMUZ5QixFQUFBO0VBNEYxQztJQUNJLHlCQUF3QjtJQUN4QixzQkY3RXlDO0lFOEV6QyxXQUFVO0lBQ1YsNkNBQXNELEVBQUE7RUFHMUQ7SUFDSSwwQkFyR3NEO0lBc0d0RCxlQXJHc0MsRUFBQTtJQXVHdEM7TUFDSSxpQkFBZ0I7TUFDaEIsc0JUN0crQixFQUFBO0VTd0h2QztJQS9FQSxzQlR6Q3VDO0lTMEN2QyxrQkF4Q3dDLEVBQUE7SUEwQ3hDO01BQ0ksa0JBM0NvQztNQTRDcEMsc0JGekJ5QyxFQUFBO0lFNEI3QztNQUF3QixjQUFhLEVBQUE7RUFJckM7SUFDSSxlQUFjO0lBQ2QsV0FBVTtJQUNWLFNBQVEsRUFBQTtFQXlFRTtJQUF3QixjQUFhLEVBQUE7O0FBSW5EO0VBNUZBLHNCRnRCdUM7RUV1QnZDLGlDVHZDK0QsRUFBQTtFU3lDL0Q7SUFDSSxrQkEzQ29DO0lBNENwQyxzQkZ6QnlDLEVBQUE7RUU0QjdDO0lBQXdCLGNBQWEsRUFBQTs7QUFJckM7RUFDSSxlQUFjO0VBQ2QsV0FBVTtFQUNWLFNBQVEsRUFBQTs7QUFvRmhCO0VBQ0ksaUJBQWdCO0VBQ2hCLGNBQWEsRUFBQTs7QUFPakI7RUFDSSxrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLHFCQUFvQjtFQUNwQixlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLG1CQXJJOEIsRUFBQTs7QUE0SWxDO0V6QmdTTSxnQkN0Tm1CO0VEc05uQixxQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCO0V3QnBHekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2Ysb0JBQW1CLEVBQUE7O0FBSW5CO0VBR0ksZUFBYztFQUNkLGVGM0ptQyxFQUFBOztBRW9LM0M7RXpCMlFNLGdCQ3RObUI7RURzTm5CLHFCQ3pNa0Q7RUZnQ3ZELGlCRTNCNEI7RURvTXZCLG9CQzFMdUI7RXdCOUV6QixnQ0FBa0Q7RUFDbEQsb0JBeEwwRDtFQXlMMUQsZ0NBQXVHO0VBQ3ZHLG1DQUEwRztFQUMxRyxlQTFMMEM7RUEyTDFDLGVBcExvQztFQXFMcEMsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixRQUFPO0VBQ1AsaUJBQWdCO0VBQ2hCLG1CQXJMOEM7RUFzTDlDLG9CQXRMOEM7RUF1TDlDLFdBOUwrQjtFQStML0IsaUJBQWdCO0VBQ2hCLGVBQWMsRUFBQTtFakJ4RGhCO0lpQnVDRjtNQW9CUSxRQUFPO01BQ1AsV0FuTWtDLEVBQUEsRUFBQTtFQXNNdEM7SUFDSSxrQ0EzTXFFO0lBNE1yRSwwQ0E1TXFFLEVBQUE7RUFnTnJFO0lBQ0ksV0FBNkM7SUFDN0Msb0JEck40QztJQ3NONUMsNEJUeE4rQixFQUFBOztBUzhOdkM7RUFDSSxpQkFBZ0I7RUFHaEIsZ0JBeE5xQixFQUFBO0VqQnNJM0I7SWlCOEVFO01BT1EsaUJBQWdCO01BQ2hCLFlBQVc7TUFDWCxRQUFPLEVBQUE7TUFFUDtRQUNJLFdBQVUsRUFBQTtNQUdkO1FBQ0ksV0FBVSxFQUFBLEVBQUE7RUFPZDtJQUNJLGVBbFA4QixFQUFBO0VBaVBsQztJQUNJLGVBbFA4QixFQUFBO0VBaVBsQztJQUNJLGVBbFA4QixFQUFBO0VBaVBsQztJQUNJLGVBbFA4QixFQUFBO0VBcVBsQztJQUNJLG1CQWpPd0MsRUFBQTtFQW9PNUM7SUFDSSxXQUFzRixFQUFBO0VBRzFGO0lBQ0ksbUJBMU9rQyxFQUFBO0VBNk90QztJQUNJLFdBQWdGLEVBQUE7RUFHcEY7SUFDSSxtQkFoUHlDLEVBQUE7RUFtUDdDO0lBQ0ksV0FBdUYsRUFBQTtFQUczRjtJQUNJLG1CQXZQd0MsRUFBQTtFQTBQNUM7SUFDSSxXQUFzRixFQUFBO0VyQjdLNUY7SXFCbUxFLGFBaFI2QjtJQWlSN0IsaUJBaFJpQyxFQUFBO0VBb1JyQztJQUNJLG1CQUFrQixFQUFBO0VBRHRCO0lBQ0ksbUJBQWtCLEVBQUE7RUFEdEI7SUFDSSxtQkFBa0IsRUFBQTtFQUR0QjtJQUNJLG1CQUFrQixFQUFBO0VBSXRCO0lBQ0ksZUFuU2tDLEVBQUE7RUFrU3RDO0lBQ0ksZUFuU2tDLEVBQUE7RUFrU3RDO0lBQ0ksZUFuU2tDLEVBQUE7RUFrU3RDO0lBQ0ksZUFuU2tDLEVBQUE7SWpCNEk1QztNaUJzSk07UUFLUSxtQkFBa0IsRUFBQTtNQUwxQjtRQUtRLG1CQUFrQixFQUFBO01BTDFCO1FBS1EsbUJBQWtCLEVBQUE7TUFMMUI7UUFLUSxtQkFBa0IsRUFBQSxFQUFBO0VqQjNKaEM7SWlCK0pNO01BSVEsZUEvUzhCLEVBQUE7SUEyU3RDO01BSVEsZUEvUzhCLEVBQUE7SUEyU3RDO01BSVEsZUEvUzhCLEVBQUE7SUEyU3RDO01BSVEsZUEvUzhCLEVBQUEsRUFBQTtBQXNUdEM7RUFDSSxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLHVCQUFzQixFQUFBO0VqQjdLaEM7SWlCMEtNO01BTVEsZ0JBQWUsRUFBQSxFQUFBO0FBSzNCO0VBQ0ksbUJBQWtCLEVBQUE7O0FqQnRMeEI7RWlCNkxVO0lBQ0ksV0FBVSxFQUFBLEVBQUE7QWpCOUx4QjtFaUJxTVU7SUFDSSxpQkFBZ0IsRUFBQTtFQUlwQjtJQUNJLGlCQUFnQixFQUFBLEVBQUE7QUFNNUI7RUFDSSxpQkFBZ0I7RUFDaEIscUJBQW9CLEVBQUE7O0FBS3hCO0VBQ0ksaUJBQWdCO0VBQ2hCLGFBQVksRUFBQTtBQUdoQjtFQUNJLGtCQUFpQixFQUFBO0FBeUl6QjtFQUNJLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsWUFBVyxFQUFBO0VBRVg7SUFDSSxtQkF4ZW1CO0lBeWVuQix1QkFBc0IsRUFBQTtJQUV0QjtNQUNJLGtCQTVlZTtNQTZlZixpQkFBZ0IsRUFBQTs7QUM3WDVCOztFMUI2VE0sZ0JDdE5tQjtFRHNObkIsa0JDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFeUIvSHpCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGVBekl1QztFQTBJdkMsZ0JBQWU7RUFDZixtQkFBa0IsRUFBQTs7QUFJdEI7RUFDSSxjQUFhLEVBQUE7O0FBR2pCO0VBQ0ksb0JBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksa0JBQWlCLEVBQUE7O0FsQlhuQjtFa0JjRjtJQXBKSSxtQkFBa0I7SUF1SmQsZUFBYyxFQUFBO0lBckpsQjtNQUE2QixtQkFBa0IsRUFBQTtJQUEvQztNQUE2QixtQkFBa0IsRUFBQTtJQUEvQztNQUE2QixtQkFBa0IsRUFBQTtJQUEvQztNQUE2QixtQkFBa0IsRUFBQTtJQUMvQztNQUFtQyxlQVp3QixFQUFBO0lBWTNEO01BQW1DLGVBWndCLEVBQUE7SUFZM0Q7TUFBbUMsZUFad0IsRUFBQTtJQVkzRDtNQUFtQyxlQVp3QixFQUFBO0lBZXZEO01BQTZCLGVBZjBCLEVBQUE7SUFldkQ7TUFBNkIsZUFmMEIsRUFBQTtJQWV2RDtNQUE2QixlQWYwQixFQUFBO0lBZXZEO01BQTZCLGVBZjBCLEVBQUE7SUFtQnZEO01BQ0ksOEJBQTZCO01BQzdCLGVBckJtRCxFQUFBO0lBd0J2RDtNQUNJLG1CQUFrQixFQUFBO0lBRHRCO01BQ0ksbUJBQWtCLEVBQUE7SUFEdEI7TUFDSSxtQkFBa0IsRUFBQTtJQUR0QjtNQUNJLG1CQUFrQixFQUFBO0lBR3RCO01BQ0ksZUE3Qm1ELEVBQUE7SUE0QnZEO01BQ0ksZUE3Qm1ELEVBQUE7SUE0QnZEO01BQ0ksZUE3Qm1ELEVBQUE7SUE0QnZEO01BQ0ksZUE3Qm1ELEVBQUE7SUFpQzNEO003QjBISCxtQkFBa0I7TUFDbEIsNEJBQTJCO01BQzNCLCtCQUE4QjtNQUM5Qiw4Q0FBcUM7Y0FBckMsc0NBQXFDO01BQ3JDLGlCQUFnQjtNQUNoQixZQUFXO01BQ1gsV0FBVTtNQUNWLFdBQVU7TUFDVixVQUFTLEVBQUE7STZCOUhOO01BQ0ksZUFBYztNQUNkLG1CQUFrQjtNQUNsQixxQkFBb0I7TUFDcEIsV0FBVTtNQUNWLFdBQVU7TUFDVixpQkFBZ0I7TUFDaEIsb0JBQW1CO01BQ25CLGVBN0N1RDtNQThDdkQsV0FBVTtNQUNWLG9DQUEyQjtVQUEzQixnQ0FBMkI7Y0FBM0IsNEJBQTJCO01BRTNCLCtIQUMwQztjQUQxQywrR0FDMEMsRUFBQSxFQUFBO0lsQjZGaEQ7TWtCMUdFO1FBZ0JRLFdBQVU7UUFDVixXQUFVLEVBQUEsRUFBQTtBbEJ5RnBCO01KdkNRO1FzQjdDRSxXQUFVLEVBQUEsRUFBQTtJbEJvRnBCO01rQmpGTTtRQUVRLFdBQVUsRUFBQSxFQUFBO0FsQitFeEI7SWtCMUVFO01BQ0ksbUJBQWtCO01BQ2xCLGVBQWMsRUFBQTtNQUVkO1FBQ0ksV0FBVSxFQUFBO1FBRVY7VUFDSSxZQUFXO1VBQ1gsaUJBQWdCO1VBQ2hCLG9CQUFtQjtVQUNuQixtQkFBa0I7VUFDbEIsb0JBQW1CO1VBQ25CLFdBQVU7VUFDVixRQUFPO1VBQ1AsZUFsRjJCO1VBbUYzQixvQkFBbUI7VUFDbkIsbUI3QmhGVTtVNkJpRlYsMEJBcEZzQztVQXFGdEMsV0FBVTtVQUNWLGlDQUF3QjtjQUF4Qiw2QkFBd0I7a0JBQXhCLHlCQUF3QjtVQUN4QixXQUFVLEVBQUE7UUFHZDtVQUNJLG1CQUFrQjtVQUNsQixrQkFBaUI7VUFDakIsVUFBUztVQUNULFdBQVU7VUFDVixZQUFXO1VBQ1gsbUNBQWtDO1VBQ2xDLG9DQUFtQztVQUNuQyw4QkFBa0Q7VUFDbEQsV0FBVSxFQUFBO0lBS3RCO01BQ0ksb0JBdkcwQztNQXdHMUMsZUEzR21DLEVBQUE7TUE2R25DO1FBQ0ksMEJBM0dzQyxFQUFBLEVBQUE7RWxCMEloRDtJa0J6QlU7TUFDSSxXQUFVLEVBQUE7SUFLVjtNQUNJLFdBQVUsRUFBQSxFQUFBOztBQXNDMUI7RUFDSSxlQWxLbUM7RUFtS25DLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsZUFBYyxFQUFBO0FsQnhCcEI7RWtCMkJFO0lBRVEsaUJBQWdCLEVBQUEsRUFBQTtBQUl4QjtFQUNJLGlCQUFnQixFQUFBO0VBRWhCO0lBQ0ksaUJBQWdCLEVBQUE7O0FBT3hCOztFQUdJLGVBMUxrQyxFQUFBOztBQThMMUM7RUFDSSxlQW5NMkQsRUFBQTs7QUFzTS9EOztFQUVJLGtCQUFpQjtFQUNqQixpQkFBZ0IsRUFBQTtFbEIxRGxCO0lrQnVERjs7TUFNUSxlQUFjO01BQ2QsZ0JBQWUsRUFBQSxFQUFBOztBQUl2QjtFQUNJLGlCQUFnQixFQUFBOztBQ25JcEI7RUFwQkksa0JBQTJCO0VBQzNCLG1CQUE0QixFQUFBO0VBRTVCO0lBQ0ksa0JBeEMyQjtJQXlDM0IsbUJBekMyQjtJQTBDM0IsdUJBQXNCLEVBQUE7RUFpQjFCO0lBQ0ksaUJBQWdCLEVBQUE7O0FBSXhCO0VBQ0ksa0JBQWlCO0VBQ2pCLG9CQUFtQixFQUFBO0VuQnNEckI7SW1CeERGO01BS1Esa0JBQWlCO01BQ2pCLG9CQUFtQixFQUFBLEVBQUE7RUFJbkI7SUFDSSxXQUFVO0lBQ1YsUUFBTyxFQUFBO0VBS1g7SUFDSSxXQUFVLEVBQUE7RUFJbEI7SUFDSSxvQkFBbUIsRUFBQTs7QUFLdkI7RTNCOFVFLGdCQ3RObUI7RURzTm5CLHFCQ3pNa0Q7RUZnQ3ZELGlCRTNCNEI7RURvTXZCLG9CQzFMdUIsRUFBQTtBMEJoSnpCO0VBQ0ksZ0JBL0Z3QyxFQUFBO0FBa0c1QztFQUNJLGdCQWxHeUMsRUFBQTtFQW9HekM7SUFDSSxnQkFBZSxFQUFBO0VBR25CO0lBQ0ksZ0JBQWUsRUFBQTtBQUl2QjtFQUNJLGdCQTdHMEMsRUFBQTtBQWdIOUM7RUFDSSxtQkFBa0I7RUFDbEIsVUFoSHdDLEVBQUE7RUFrSHhDO0lBQ0ksVUFBUztJQUNULFVBQVMsRUFBQTtBQUlqQjtFQUNJLFlBOUhtQjtFQStIbkIsYUEvSG1CO0VBZ0luQixhQUFZO0VBQ1osc0JBQXFCO0VBQ3JCLGdCQUFlLEVBQUE7O0FBSXZCO0UzQm1TTSxnQkN0Tm1CO0VEc05uQixpQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCO0UwQnZHekIsZ0JBakl1QyxFQUFBO0VBbUl2QztJQUNJLGdCQW5Jd0I7SUFvSXhCLGVBQWM7SUFDZCxlQUFjLEVBQUE7O0FBSXRCO0VBQ0ksZUFqS29DLEVBQUE7O0FBb0t4QztFM0JvUk0sZ0JDdE5tQjtFRHNObkIsbUJDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFMEJ4RnpCLGVBdEtvQztFQXVLcEMsc0JBQXFCO0VBQ3JCLGlCQUFnQixFQUFBOztBQUdwQjtFQUNJLGlCQWpLdUI7RUFrS3ZCLGlCQUFnQixFQUFBO0VBRWhCO0lBQ0ksaUJBcEt1QixFQUFBO0lBc0t2Qjs7TUFFSSxlQUFjLEVBQUE7SUFHbEI7TUFDSSxlQUFjLEVBQUE7O0FBSzFCO0VBQ0ksaUJBbkx1QjtFQW9MdkIsaUJBbEwyQixFQUFBO0VuQnlIN0I7SW1CdURGO01BS1EsZ0JBQWU7TUFDZixZQUFXLEVBQUEsRUFBQTtFQUdmO0lBQ0ksY0FBYSxFQUFBO0VBSWI7SUFDSSxhQXhNNEIsRUFBQTs7QUE2TXhDO0VBQ0ksZUFBYztFQUNkLFlBQVcsRUFBQTtFQUVYO0lBQ0ksVUE5TDZDO0lBK0w3QyxVQTlMNkM7SUErTDdDLG1CQUFrQixFQUFBO0VBR3RCO0lBQ0ksc0JBQXFCLEVBQUE7RUFHekI7SUFDSSxPQUFNO0lBQ04sV0FBVTtJQUNWLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQUE7RUFHcEI7SUFDSSxhQTdNNEQsRUFBQTs7QUFrTnBFO0VBQ0ksdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixvQkFBbUIsRUFBQTtFQUVuQjtJM0J1TUUsZ0JDdE5tQjtJRHNObkIscUJDek1rRDtJRmdDdkQsaUJFM0I0QjtJRG9NdkIsb0JDMUx1QjtJMEJYckIsVUF4TmlEO0lBeU5qRCxXQUFVLEVBQUE7SUFFVjtNQUNJLGdCQWxPcUI7TUFtT3JCLGtCQTNOMkQsRUFBQTtFQStObkU7SUFDSSxnQkFqTzRELEVBQUE7O0FBcU9wRTtFQUNJLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsb0JBQW1CLEVBQUE7RUFFbkI7SUFDSSxpQkFBZ0IsRUFBQTtJQUVoQjtNQUNJLGlCQUFnQixFQUFBOztBQUs1QjtFQUdJLHNCQUFxQjtFQUNyQixZQUF3QztFQUN4QyxhQUF5QztFQUN6QywwQkFBNEM7RUFDNUMsa0JBNVJpRCxFQUFBOztBQStSckQ7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLFdBQVU7RUFDVixnQkFBZTtFQUNmLFdBQVUsRUFBQTtFQUVWO0lBQ0ksZUFBYztJQUNkLG1CQUFrQjtJQUNsQixnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixlQXhTZ0M7SUF5U2hDLGdCQUFlO0lBQ2YseUNBQTZDLEVBQUE7SUFFN0M7TUFDSSxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFFBQU8sRUFBQTtNbkJ6S2pCO1FtQnNLTTtVQU1RLFNBQVEsRUFBQSxFQUFBO0VBT2hCO0lBQ0ksc0JBblQ0QztJQW9UNUMsNkNBQXNELEVBQUE7RUFJOUQ7SUFDc0QsZUFoVWxCLEVBQUE7RUFrVXBDO0lBQ0ksMEJBQW9HO0lBQ3BHLFdBelVnQztJQTBVaEMsWUExVWdDLEVBQUE7O0FBZ1ZwQztFQUNJLGVBQWMsRUFBQTs7QUFnQnRCO0VBQ0ksbUJBQWtCLEVBQUE7RW5Cdk5wQjtJbUJzTkY7TUFJUSxTQUFRO01BQ1IsVUFBUyxFQUFBLEVBQUE7O0FBVWI7RUFDSSxtQkFBa0IsRUFBQTtFbkJ0T3hCO0ltQnFPRTtNQUlRLFNBQVE7TUFDUixVQUFTLEVBQUEsRUFBQTtBQUtiO0VBR0ksb0JBalg0QztFQWtYNUMsbUJBQWtCLEVBQUE7RWxCaFA3QjtJVm9IRywyQkFsS2tCO0lVaURwQixlQUFjO0lBQ2Qsc0JBQXFCO0lBQ3JCLG1CQUFrQjtJQUNsQixxQkFBb0I7SUFDcEIsbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCwyQkFBMEI7SUFDMUIsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixRQUFPLEVBQUE7RUFHUjtJQUVDLHNCQUFxQixFQUFBO0VBR3RCO0lBQ0MsY0FBYSxFQUFBO0VBL0JkO0lBRUMsYUEvQzZCLEVBQUE7QWtCMFN2QjtFQUNJLGFBbll5QztFQW9ZekMsVUFBb0Q7RUFDcEQsWUFBcUQ7RUFDckQsV0FBVTtFQUNWLGlCQUFnQjtFQUNoQixrQkExWXFCO0VBMllyQixZQUFxRjtFQUNyRixvQkFBbUI7RUFDbkIsZ0JBQWUsRUFBQTs7QUFTM0I7RUFHSSxzQkFBcUI7RUFDckIsWUFBVztFQUNYLGFBQVk7RUFFWixpRUFBZ0U7RUFFaEUseUNBQTZDLEVBQUE7RXZCeFR2QztJdUIyVEYsVUFBUztJQUNULGNBQWEsRUFBQTtFQTlWakI7SUFrV0ksc0JBeFpnRDtJQXlaaEQsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUVqQixtQkFBaUQ7SUFDakQsb0JBQWtELEVBQUE7SUFFbEQ7TUFDSSxlQXZhNEIsRUFBQTtFQWlFcEM7SUE4Vkksc0JBeFpnRDtJQXlaaEQsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUVqQixtQkFBaUQ7SUFDakQsb0JBQWtELEVBQUE7SUFFbEQ7TUFDSSxlQXZhNEIsRUFBQTtFQTJhcEM7SUFDSSxlQUFjO0lBQ2QsWUFBVztJQUNYLGNBNWEyQjtJQTZhM0IsbUJBNWEyQjtJQTZhM0Isb0JBN2EyQjtJQThhM0IsbUJBQWtCO0lBQ2xCLDBCQUFvRDtJQUNwRCxnQkFBZTtJQUNmLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0lBQ2hCLGdCQUFlLEVBQUE7SUFFZjtNQUNJLG1CQUFrQjtNQUVsQixjQUFhO01BQ2IsaUJBQWdCO01BQ2hCLGVBcmJxQztNQXNickMsZUFBYztNQUNkLG9CQUFtQjtNQUNuQix1QkFBc0I7TUFDdEIsT0FBTTtNQUNOLGtCQUFpQixFQUFBO0VBTXpCO0lBQ0ksc0JBcGMrQyxFQUFBO0lBc2MvQztNQUNJLGVBcGNxQyxFQUFBO0VBd2M3QztJQUNJLHNCQTNjZ0QsRUFBQTtJQTZjaEQ7TUFDSSxlQXJkNEIsRUFBQTtFQTRkaEM7SUFDSSxzQkF0ZDRDO0lBdWQ1QyxrQkFBaUI7SUFDakIsNkNBQXNELEVBQUE7RUFPMUQ7SUFDSSxrQkFBaUI7SUFDakIsc0JBamU0QyxFQUFBO0VBcWVwRDtJQUNJLG1COUJoZmtCLEVBQUE7O0ErQkgxQjtFN0JtUUksa0ZBMkZnRDtFNkIzVmhELGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGVBWm1DO0VBYW5DLGdCWlJ5QjtFWVN6QixtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGlCQUFnQjtFQUNoQixrQkFmeUM7RUFnQnpDLDBCQUE0QztFQUM1QyxtQi9CWnNCO0UrQmF0Qiw2QkFBNEI7RUFDNUIsb0JBQW1CO0VBR25CLHlCQUF3QjtFQUN4QixzQkFBcUI7RUFDckIsaUJBQWdCO0VBR2hCLHNCQUFxQjtFQUNyQixpQkFBZ0IsRUFBQTtFekIwSWxCO0lKK0ZFLHdFQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUsdUpBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSxxSkEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLGlGQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUsMEhBMkZnRCxFQUFBO0VJMUxsRDtJSitGRSx1SEEyRmdELEVBQUE7RUkxTGxEO0lKK0ZFLHVIQTJGZ0QsRUFBQTtFSTFMbEQ7SUorRkUsdUhBMkZnRCxFQUFBO0U2QmxVaEQ7SUFDSSxzQkRoQmdEO0lDaUJoRCxXQUFVO0lBQ1YsNkNBQXNELEVBQUE7RUFHMUQ7SUFDSSxlQUFjO0lBQ2QscUJBQW9CO0lBQ3BCLGVBeENnQztJQXlDaEMsWUFBVztJQUNYLGdCQUFlO0lBQ2YsU0FBUTtJQUNSLGtCQUFpQjtJQUVqQixnQkFBZSxFQUFBO0lwQmlHckI7TW9CMUdFO1FBYVEsWUFBVyxFQUFBLEVBQUE7RUFJbkI7SUFDSSxzQkZuRGtDO0lFb0RsQyxpQ1p0RDJEO0lZdUQzRCxpQkFBZ0IsRUFBQTtJQUVoQjtNQUNJLHNCRDVDNEM7TUM2QzVDLHdCQTVEaUMsRUFBQTs7QUNHN0M7RUFDSSxpQkFBZ0IsRUFBQTs7QUFHcEI7RWpCb0ZDLDBCaUI1RnFDO0VqQjZGckMsc0RBQTBDO0VBQTFDLDhDQUEwQztFQUMxQyxtQlZhcUI7RVU4SHJCLGFBMU5zQztFaUJKbkMsVUFBUyxFQUFBO0VqQmdPWjtJQS9JQSwwQkFOb0Q7SUFPcEQsc0RBQTBDO0lBQTFDLDhDQUEwQztJQUMxQyxzQkFMdUUsRUFBQTtFQXNKdkU7SUFuSkEsMEJBTm9EO0lBT3BELHNEQUEwQztJQUExQyw4Q0FBMEM7SUFDMUMsc0JBTHVFLEVBQUE7RUEwSnZFO0lBdkpBLDBCVmVxQjtJVWRyQixzREFBMEM7SUFBMUMsOENBQTBDO0lBQzFDLG1CVmFxQjtJVTJJcEIsYUF2T3FDLEVBQUE7SVJ5RjdCO01RaUpQLDBCQUEwRixFQUFBOztBaUIzTzdGO0VqQjhFQywwQmlCMUZvRDtFakIyRnBELG1EQUEwQztFQUExQywyQ0FBMEM7RUFDMUMsbUJWYXFCO0VVOEhyQixhQTFOc0M7RWlCRW5DLFVBQVMsRUFBQTtFakIwTlo7SUEvSUEsMEJBTm9EO0lBT3BELHNEQUEwQztJQUExQyw4Q0FBMEM7SUFDMUMsc0JBTHVFLEVBQUE7RUFzSnZFO0lBbkpBLDBCQU5vRDtJQU9wRCxzREFBMEM7SUFBMUMsOENBQTBDO0lBQzFDLHNCQUx1RSxFQUFBO0VBMEp2RTtJQXZKQSwwQlZlcUI7SVVkckIsbURBQTBDO0lBQTFDLDJDQUEwQztJQUMxQyxtQlZhcUI7SVUySXBCLGFBdk9xQyxFQUFBO0lSeUY3QjtNUWlKUCwwQkFBMEYsRUFBQTs7QWtCdE83RjtFOUI4YU0sZ0JDdE5tQjtFRHNObkIsbUJDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFNkJqUHpCLGVBQWM7RUFDZCxpQkFYeUIsRUFBQTtFQWF6QjtJQUNJLG1CQWhCd0I7SUFpQnhCLGdCQWQrQixFQUFBOztBQW1CdkM7RUFDSSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLFNBdkJ5QjtFQXdCekIsUUFBTztFQUNQLDBCSHZCK0M7RUd3Qi9DLFlBdENvQjtFQXVDcEIsYUF4Q3FCO0VBeUNyQixvQkF6Q3FCO0VBMENyQixvQ0FBMkQ7VUFBM0QsNEJBQTJEO0VBQzNELDBCQUFpQyxFQUFBO0VBRWpDO0lBRUksbUJBQWtCO0lBQ2xCLFlBQVcsRUFBQTtFQUdmO0lBQ0ksU0FsRHVDO0lBbUR2QyxXQWxEeUM7SUFtRHpDLFdBL0MrQjtJQWdEL0IsWUFoRCtCO0lBaUQvQixtQkE1Q2M7SUE2Q2QsMEJBQStCLEVBQUE7SUFFL0I7TUFDSSxVQXhENEM7TUF5RDVDLGlCQUFnQjtNQUNoQixVQUFTO01BQ1QsK0JBQW1DO01BQ25DLFlBMURxQztNQTJEckMsU0E1RDJDLEVBQUE7RUFnRW5EO0lBQ0ksT0FBTTtJQUNOLFFBQU87SUFDUCxZQWhFK0I7SUFpRS9CLGFBakUrQjtJQWtFL0Isd0JGeEVxQztJRXlFckMsbUJBL0RjO0lBZ0VkLDhCQUFxRDtZQUFyRCxzQkFBcUQsRUFBQTtJQUVyRDtNQUNJLFdBdEU0QyxFQUFBO0VBMEVwRDtJQUNJLDBCSG5FZ0Q7SUdvRWhELHNCSHBFZ0QsRUFBQTtFR3VFcEQ7SUFFSSwwQkFBOEI7SUFDOUIsNkNBQXNELEVBQUE7RUFHMUQ7SUFFSSwwQkFBOEI7SUFDOUIsT0FBTTtJQUNOLFdBQVUsRUFBQTs7QUFPVjtFQUNJLDBCSHpGNEMsRUFBQTtFRzJGNUM7SUFDSSxVQXpHd0M7SUEwR3hDLGlCQUFnQjtJQUNoQixVQUFTO0lBQ1QsK0JBQW1DO0lBQ25DLFlBM0dpQztJQTRHakMsU0E3R3VDLEVBQUE7RUFnSDNDO0lBQ0ksV0E3R3dDLEVBQUE7QUNKaEQ7OztFTHFOSixlQUFrQixFQUFBO0FsQjFFcEI7RWtCaUZNO0lBQ0ksb0JLOU04QixFQUFBO0lMZ045QjtNQUNJLDBCS2pOMEIsRUFBQSxFQUFBO0FIeUR0QztFQUNJLGVBQWtCO0VBQ2xCLDJDQUFtQztFQUNuQyx1Q0FBMkIsRUFBQTtFQUUzQjtJQUNJLHNCQUFpQztJQUNqQywrQ0FBNkQsRUFBQTtBQUtqRTtFQUNJLHlDQUF5QztFQUN6QyxzQkFBaUM7RUFDakMsZUFBa0IsRUFBQTtFQUVsQjtJQUNJLHNCQUFpQztJQUNqQywyQ0FBbUM7SUFDbkMsK0NBQTZELEVBQUE7QUVtQ3pFO0VBQ0ksNENBQW1DO0VBQ25DLHVDQUEyQixFQUFBO0VBRTNCO0lBQ0ksdUNBQWdDLEVBQUE7QUFJeEM7RUFDSSwwQkFBMkM7RUFDM0Msc0JBQXVDLEVBQUE7QUFHM0M7RUFDSSxnQ0FBK0IsRUFBQTtBSHFYbkM7RUFDSSx1Q0FBMkIsRUFBQTtFQUUzQjtJQUNJLGVBQWtCLEVBQUE7RUFHdEI7SUFDSSxlQUEwQixFQUFBO0VBRzlCO0lBQ0ksZUFBMEIsRUFBQTtFQUc5QjtJQUNJLDBCQUErQyxFQUFBO0FBSXZEO0VBQ0ksdUNBQWlDLEVBQUE7RUFFakM7SUFDSSxlQUFrQixFQUFBO0FBT3RCO0VBQ0ksc0JBQWlDO0VBQ2pDLCtDQXJDZ0UsRUFBQTtBQXlDeEU7RUFDSSxZQUFXLEVBQUE7QUF2ZWY7RUEyZUksc0JBQWlDLEVBQUE7RUFFakM7SUFDSSxlQUEwQixFQUFBO0FBMWVsQztFQXVlSSxzQkFBaUMsRUFBQTtFQUVqQztJQUNJLGVBQTBCLEVBQUE7QUFNOUI7RUFDSSxzQkFBaUM7RUFDakMsK0NBeEQ4RCxFQUFBO0FBb0U5RDtFQUNJLHNCQUFpQztFQUNqQywwQkFBeUMsRUFBQTtBQUlqRDtFQUNJLHNCQUEyQjtFQUMzQiwyQ0FBbUMsRUFBQTtBQU12QztFQUNJLGVBQWMsRUFBQTtBQVlkO0VBQ0ksc0JBQWlDO0VBQ2pDLDBCQUFxQyxFQUFBO0FBR3pDO0VBQ0ksZUFBOEIsRUFBQTtBQUl0QztFQUNJLHNCQUEyQjtFQUMzQiwyQ0FBbUMsRUFBQTtBQUt2QztFQUNJLGVBQWMsRUFBQTtBSW5oQmxCO0VWeENKLDJDQUFtQztFQUNuQyx1Q0FBMkIsRUFBQTtFQUUzQjtJQUNJLDBDQUF5QztJQUN6QyxxQ0FBaUMsRUFBQTtBVW1EakM7RVArTkosMEJBQW1DO0VBQ25DLGVPN051QixFQUFBO0VQK052QjtJQUNJLDBCQUFtQyxFQUFBO0FGMUt2QztFQUNJLHNCQUEyQixFQUFBO0FDNUYvQjtFQXZCQSwyMERBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsOEJBM0JZLEVBQUE7QUE0Q3BCO0VBM0JBLDBrRUFBMEQ7RUFDMUQsc0JBQTJCO0VBQzNCLDZCQUE0QixFQUFBO0VuQjZDdEI7SW1CMUNGLHdCQUEyRTtJQUt2RSxrQ0F4QmtCLEVBQUE7QUE2QzFCO0VBL0JBLHVuRkFBMEQ7RUFDMUQsc0JBQTJCO0VBQzNCLDZCQUE0QixFQUFBO0VuQjZDdEI7SW1CMUNGLHdCQUEyRTtJQUt2RSxrQ0F0QnVCLEVBQUE7QUErQy9CO0VBbkNBLHUvREFBMEQ7RUFDMUQsc0JBQTJCO0VBQzNCLDZCQUE0QixFQUFBO0VuQjZDdEI7SW1CMUNGLHdCQUEyRTtJQUt2RSxrQ0ExQmMsRUFBQTtBQXVEdEI7RUF2Q0EsMjBEQUEwRDtFQUMxRCxzQkFBMkI7RUFDM0IsNkJBQTRCLEVBQUE7RW5CNkN0QjtJbUIxQ0Ysd0JBQTJFO0lBS3ZFLDhCQTVCWSxFQUFBO0FBNkRwQjtFQTNDQSwwa0VBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsa0NBekJrQixFQUFBO0FBOEQxQjtFQS9DQSx1bkZBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsa0NBdkJ1QixFQUFBO0FBZ0UvQjtFQW5EQSwweURBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsa0NBckJxQixFQUFBO0FBa0U3QjtFQXZEQSxvM0NBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsa0NBcEJvQixFQUFBO0FBcUU1QjtFQTNEQSwyMENBQTBEO0VBQzFELHNCQUEyQjtFQUMzQiw2QkFBNEIsRUFBQTtFbkI2Q3RCO0ltQjFDRix3QkFBMkU7SUFLdkUsa0NBbkJhLEVBQUE7QUF3RXJCO0VBL0RBLGl6Q0FBMEQ7RUFDMUQsc0JBQTJCO0VBQzNCLDZCQUE0QixFQUFBO0VuQjZDdEI7SW1CMUNGLHdCQUEyRTtJQUt2RSxtQ0FqQlosRUFBQTtBQWtNUTtFQUVJLGlEQUFxRixFQUFBO0FBSTdGO0VBQ0ksZUFBMkIsRUFBQTtFQUUzQjtJQUNJLGVBQW9DLEVBQUE7QUU4SDVDO0VBQ0ksZUFBa0I7RUFDbEIsMkNBQW1DO0VBQ25DLHVDQUEyQixFQUFBO0VBRTNCO0lBQ0ksMkNBQW1DLEVBQUE7RUFHdkM7SUFDSSxzQkFBaUM7SUFDakMsK0NBQTZELEVBQUE7RUFHakU7SUFDSSw0Q0FBK0M7SUFDL0MsZUFBeUIsRUFBQTtJQUV6QjtNQUNJLGlCQUFnQjtNQUNoQix1Q0FBMkIsRUFBQTtFQUluQztJQUNJLGVBQThCLEVBQUE7RUFEbEM7SUFDSSxlQUE4QixFQUFBO0VBRGxDO0lBQ0ksZUFBOEIsRUFBQTtFQURsQztJQUNJLGVBQThCLEVBQUE7QWpCdFF4QztFaUI0UVU7SUFDSSxtQkFBa0IsRUFBQTtFQUR0QjtJQUNJLG1CQUFrQixFQUFBO0VBRHRCO0lBQ0ksbUJBQWtCLEVBQUE7RUFEdEI7SUFDSSxtQkFBa0IsRUFBQTtFQUlsQjtJQUNJLDBCQUFpQztJQUNqQyxlQUFrQixFQUFBO0VBR3RCO0lBQ0ksMEJBQWlDLEVBQUE7RUFHckM7SUFDSSxlQUE4QixFQUFBO0VBRGxDO0lBQ0ksZUFBOEIsRUFBQTtFQURsQztJQUNJLGVBQThCLEVBQUE7RUFEbEM7SUFDSSxlQUE4QixFQUFBO0VBTXRDO0lBQ0ksZUFBOEIsRUFBQTtFQURsQztJQUNJLGVBQThCLEVBQUE7RUFEbEM7SUFDSSxlQUE4QixFQUFBO0VBRGxDO0lBQ0ksZUFBOEIsRUFBQSxFQUFBO0FBTXRDO0VBQ0kseUNBQXlDO0VBQ3pDLHNCQUFpQztFQUNqQyxlQUFrQixFQUFBO0VBRWxCO0lBQ0ksc0JBQWlDO0lBQ2pDLDJDQUFtQztJQUNuQywrQ0FBNkQsRUFBQTtBQUlyRTtFQUNJLGVBQTBCLEVBQUE7QUFHOUI7RUFDSSxXQUFVLEVBQUE7QUFjVjtFQUNJLDRDQUErQztFQUMvQyx1Q0FBaUQsRUFBQTtBQUdyRDtFQUNJLHlDQUFxRDtFQUNyRCxxQ0FBNkMsRUFBQTtBQUt6RDtFQUNJLGVBQThCO0VBQzlCLDRDQUErQztFQUMvQyx1Q0FBaUQsRUFBQTtFakJ0VnZEO0lpQjJWYztNQUNJLG1CQUFrQixFQUFBO0lBRHRCO01BQ0ksbUJBQWtCLEVBQUE7SUFEdEI7TUFDSSxtQkFBa0IsRUFBQTtJQUR0QjtNQUNJLG1CQUFrQixFQUFBO0lBR3RCO01BQ0ksZUFBOEIsRUFBQTtJQURsQztNQUNJLGVBQThCLEVBQUE7SUFEbEM7TUFDSSxlQUE4QixFQUFBO0lBRGxDO01BQ0ksZUFBOEIsRUFBQSxFQUFBOztBVHZhbEQ7RUFDSSxlQUFjO0VBQ2QsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFBQTtFUm1FcEI7SVF2RUY7TUFPUSxlQUFjLEVBQUEsRUFBQTs7QUFJdEI7RUFDSSx5QkFBd0IsRUFBQTs7QUFHNUI7RUFDSSx1QkFBc0IsRUFBQTs7QUFHMUI7RUFDSSxtQkFBa0IsRUFBQTtFUm1EcEI7SVFwREY7TUFJUSxlQUFjO01BQ2QsbUJBQWtCLEVBQUEsRUFBQTs7QUFJMUI7RUFDSSxvQkFBbUI7RUFDbkIsb0JBQW1CO0VBQ25CLGVBQWMsRUFBQTtFUndDaEI7SVEzQ0Y7TUFJc0MsZUFBYyxFQUFBLEVBQUE7RUFFaEQ7SUFBaUIsY0FBYSxFQUFBOztBQUdsQztFQUFnQixtQkFBa0IsRUFBQTs7QUFFbEM7RUFBMkIsb0JBQW1CLEVBQUE7O0FBRTlDO0VBQTZCLHFCQUFvQixFQUFBOztBQUVqRDtFaEI4VU0sZ0JDdE5tQjtFRHNObkIscUJDek1rRDtFRmdDdkQsaUJFM0I0QjtFRG9NdkIsb0JDMUx1QjtFZWxKekIsY0FBYSxFQUFBO0VaYlA7SUxxUk4sb0JBQW1CLEVBQUE7RVM5T3JCO0lRNUJGO01oQjhVTSxnQkN0Tm1CO01Ec05uQixxQkN6TWtEO01EMkxqRCxpQkN0THNCO01Eb012QixvQkMxTHVCLEVBQUEsRUFBQTs7QWU5STdCO0VBQ0kseUJBQXdCLEVBQUE7RVJxQjFCO0lRdEJGO01BSVEsVUFBUyxFQUFBLEVBQUE7RUFHYjtJQUNJLHFCQUFvQixFQUFBOztBUGlCM0I7RVZvSEcsMkJBbEtrQjtFVWlEcEIsZUFBYztFQUNkLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsMkJBQTBCO0VBQzFCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsUUFBTyxFQUFBO0FBR1I7RUFFQyxzQkFBcUIsRUFBQTtBQUd0QjtFQUNDLGNBQWEsRUFBQTtBQS9CZDtFQUVDLGFBL0M2QixFQUFBOztBT2dEL0I7RUFDSSxjQUFhO0VBQ2IsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixZQUFXLEVBQUE7O0FnQnRHZDtFQUNDLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULG1CQUFrQjtFQUNsQixZQUFXO0VBSVQsK0JBQXFCLEVBQUE7RUFFckI7SUFDQyw2QkFBbUIsRUFBQTtFeEJ1RnRCO0l3QnRHRDtNQVlHLGdDQUFxQixFQUFBO01BRXJCO1FBQ0MsOEJBQW1CLEVBQUEsRUFBQTtFeEJ1RnRCO0l3QnRHRDtNQVlHLCtCQUFxQixFQUFBO01BRXJCO1FBQ0MsNkJBQW1CLEVBQUEsRUFBQTs7QUMxQ3ZCO0VBRUMsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFDa0hxQjtFRGpIckIsa0JBTnFFO0VBT3JFLGNDOElzQixFQUFBO0UxQnJCdEI7SXlCaklEO01BWUcsaUJDcUVjLEVBQUEsRUFBQTtFMUJnRGhCO0l5QmpJRDtNQWlCRSxhQzZHMEIsRUFBQSxFQUFBO0VEMUczQjtJQUNDLHFCQUFpQyxFQUFBO0l6QjRHbEM7TXlCN0dBO1FBSUUscUJBQXVDLEVBQUEsRUFBQTtFQUl6QztJQUNDLGlCQytIdUI7SUQ5SHZCLHFCQUEwRCxFQUFBO0l6Qm1HM0Q7TXlCckdBO1FBS0UsaUJDaUk0QjtRRGhJNUIscUJBQXNFLEVBQUEsRUFBQTtFQUl4RTtJQUNDLGlCQUFnQixFQUFBOztBQUlsQjtFQUNDLGNBQVksRUFBQTtBQUlkO0VBQ0MsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsV0FBVSxFQUFBOztBQUdYO0VBQ0MsZUFBYztFQUNkLGlCQ3dFOEI7RUR2RTlCLGdCQUFxQztFQUNyQyxtQkFBa0I7RUFDbEIsV0FBVSxFQUFBO0VwQytEVjtJQUVDLGFBQVk7SUFDWixlQUFjLEVBQUE7RUFHZjtJQUNDLFlBQVcsRUFBQTtFV0pYO0l5QnZFRjtNQVVFLG9CQUFtQixFQUFBLEVBQUE7RXpCNkRuQjtJeUJ2RUY7TUFjRSxnQkFBMkMsRUFBQSxFQUFBOztBRTlFM0M7RUFDQyx5QkFBZ0I7RUFBaEIsaUJBQWdCLEVBQUE7QUFJaEI7RUFDQyx5QkFBd0I7RUFDeEIsNEJBQTJCO0VBQzNCLGdCQUFlLEVBQUE7O0FBS2xCO0VBQ0MsZUFBYztFQUNkLFVBQVM7RUFDVCxXQUFVO0VBQ1YsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixZQUFXLEVBQUE7RUFHVjtJQUNDLGFEdUdtQixFQUFBO0lDckduQjtNQUVJLFVBQVMsRUFBQTtJM0I0R2Y7TTJCakhDO1FBU0UsYURxR3dCLEVBQUEsRUFBQTtBRW5JNUI7RUFDQywrQkFBMkI7RUFDM0IsV0FBVTtFQUNWLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULGNBQWlDO0VBQ2pDLHNDQUE2QjtVQUE3Qiw4QkFBNkIsRUFBQTtFNUI2SDdCO0k0QnRJRDtNQWFFLGtGQUFpRjtjQUFqRiwwRUFBaUYsRUFBQSxFQUFBO0VBR2xGO0lBRUMseUNBQWdDO1lBQWhDLGlDQUFnQyxFQUFBO0k1Qm9IakM7TTRCdEhBO1FBS0UsV0FBVTtRQUNWLFNBQVE7UUFDUixVQUFTO1FBQ1QsWUFBVztRQUNYLGFBQVksRUFBQSxFQUFBO0FDN0JoQjtFQUNDLFlsQzBReUMsRUFBQTtFS2pJeEM7STZCMUlGO01sQ2dhQyxTQUEwQjtNa0MzWnpCLGdCQUEyQztNQUMzQyxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFdBQVUsRUFBQSxFQUFBO0U3QmtJVjtJNkIvSEQ7TWxDbVlBLFVBQTRCLEVBQUEsRUFBQTtFS3BRM0I7STZCMUhBO01sQ3NURCxtQkFBbUM7TUF3RW5DLFFBQTRCO01rQzFYekIsbUJBQWtCO01BQ2xCLFdBQVUsRUFBQSxFQUFBOztBQU1kO0VsQzJTQyxrQkFBbUM7RWtDelNuQyxZbEM4T3lDLEVBQUE7RUtqSXhDO0k2Qi9HRjtNbEMyU0Msa0JBQW1DLEVBQUEsRUFBQTtFSzVMbEM7STZCbkdEO01sQytSQSxrQkFBbUM7TWtDNVJqQyxhbENnUHVDLEVBQUEsRUFBQTtFa0M1T3pDO0l4Q3dHQSxtQkFBa0I7SUFDbEIsNEJBQTJCO0lBQzNCLCtCQUE4QjtJQUM5Qiw4Q0FBcUM7WUFBckMsc0NBQXFDO0lBQ3JDLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsV0FBVTtJQUNWLFdBQVU7SUFDVixVQUFTO0l3QzlHUixVQUFTO0lBQ1QsV0FBVSxFQUFBO0VBR1g7SUFDQyxtQkFBa0I7SUFDbEIsV0FBVSxFQUFBO0k3Qm9GVjtNNkJ0RkQ7UUFLRSxZbENrTnVDLEVBQUEsRUFBQTs7QW1Dek8xQztFQUVDLG1CQUFrQjtFQUNsQixRQUFPO0VBQ1AsT0FBTTtFQUNOLFlBQVc7RUFDWCxhQUFZO0VBQ1osV0FBVTtFQUNWLDRFQUF3RDtVQUF4RCxvRUFBd0QsRUFBQTtFQWpCeEQ7SUFDQywyQ0FKMkMsRUFBQTtFbEM2RW5DO0lrQ3JFUixzQkFQbUQsRUFBQTtFOUJtSG5EO0k4QnhHRjtNQVdFLGlCSjBGMkI7TUl6RjNCLG9EQUEyQztjQUEzQyw0Q0FBMkMsRUFBQTtNbENxRG5DO1FrQ2xEUCw2QkFBb0I7Z0JBQXBCLHFCQUFvQixFQUFBLEVBQUE7RUF4QnRCO0lBQ0MsMkNBSjJDLEVBQUE7RWxDNkVuQztJa0NyRVIsc0JBUG1ELEVBQUE7RWxDNEUzQztJa0N4Q1IsMkNBQXdDLEVBQUE7SUFsQ3pDO01BQ0MsMkNBSjJDLEVBQUE7SWxDNkVuQztNa0NyRVIsc0JBUG1ELEVBQUE7SUNtSm5EO01uQ3ZFUTtRUDZLVCwyQ0FBZ0Q7UXlDak45QywyQ0FBK0MsRUFBQSxFQUFBO0lDRmhEOztNRE1DLHdDQUE4QyxFQUFBO01DdUcvQztRQTdHQTs7VURTRSx3Q0FBcUQsRUFBQSxFQUFBO0VsQzZCL0M7SWtDdEJSLDJDQUF3QztJQUN4Qyw0RUFBd0Q7WUFBeEQsb0VBQXdEO0lBQ3hELCtEQUFzRDtZQUF0RCx1REFBc0QsRUFBQTtJQXREdkQ7TUFDQywyQ0FKMkMsRUFBQTtJbEM2RW5DO01rQ3JFUixzQkFQbUQsRUFBQTtJQ21KbkQ7TW5DdkVRO1FQNktULDJDQUFnRDtReUM3TDlDLDJDQUErQyxFQUFBLEVBQUE7SUN0QmhEOztNRDBCQyx3Q0FBOEMsRUFBQTtNQ21GL0M7UUE3R0E7O1VENkJFLHdDQUFxRCxFQUFBLEVBQUE7RUNNL0M7SURDUix3QlZyRzJDO0lVc0czQyxpQkFBZ0I7SUFDaEIsK0NBQXNDO1lBQXRDLHVDQUFzQztJQUN0QywrREFBc0Q7WUFBdEQsdURBQXNELEVBQUE7SUEzRXZEO01BQ0MsMkNBSjJDLEVBQUE7SWxDNkVuQztNa0NyRVIsc0JBUG1ELEVBQUE7SUNtSm5EO01BMUVRO1ExQ2dMVCwyQ0FBZ0Q7UXlDeEs5QywyQ0FBa0QsRUFBQSxFQUFBO0VBL0VwRDs7SUFDQywyQ0FKMkMsRUFBQTtFbEM2RW5DO0lrQ3JFUixzQkFQbUQsRUFBQTtFQUVwRDtJQUNDLDJDQUoyQyxFQUFBO0VsQzZFbkM7SWtDckVSLHNCQVBtRCxFQUFBO0VBRXBEO0lBQ0MsMEJBSjJDLEVBQUE7RWxDNkVuQztJa0NyRVIsc0JBUG1ELEVBQUE7RUFFcEQ7SUFDQywyQ0FKMkMsRUFBQTtFbEM2RW5DO0lrQ3JFUixzQkFQbUQsRUFBQTtFQUVwRDtJQUNDLDBCQUoyQyxFQUFBO0VsQzZFbkM7SWtDckVSLHNCQVBtRCxFQUFBO0VDc0NuRDs7SURzRUMsMEJBQWlELEVBQUE7SUExR25EOztNQUNDLDBCQUoyQyxFQUFBO0lsQzZFbkM7TWtDckVSLHNCQVBtRCxFQUFBO0lDbUpuRDtNQTdHQTs7UUR5RUUsd0NBQXdELEVBQUEsRUFBQTtFQUszRDtJbkMyTEEsb0JBQW1DO0lBd0VuQyxVQUE0QjtJbUNoUTNCLFlBQVc7SUFDWCxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxhSkw2QjtJSU03QixZQUFXO0lBQ1gsV0FBVSxFQUFBO0lsQ2pERjtNa0NvRFAsY0FBYSxFQUFBO0k5QmJkO004QkNEO1FuQzJMQSxlQUFtQztRQXdFbkMsUUFBNEI7UW1DMVk1QixZQUFXLEVBQUEsRUFBQTtJbEMrRkY7TWtDNERQLGNBQWEsRUFBQTtNbEM1RE47UWtDK0ROLGVBQWMsRUFBQTtJbEMvRFI7TURtT1QsZUFBbUM7TUF3RW5DLFFBQTRCO01tQzFZNUIsWUFBVyxFQUFBO0lsQytGRjtNRG1PVCxlQUFtQztNQXdFbkMsUUFBNEI7TW1DMVk1QixZQUFXLEVBQUE7SUM0RkY7TXBDc09ULGVBQW1DO01Bd0VuQyxRQUE0QjtNbUMxWTVCLFlBQVcsRUFBQTtFbEMrRkY7SURtT1Qsb0JBQW1DO0lBd0VuQyxVQUE0QjtJbUN4TjNCLHlCQUF3QjtJQUN4QixVQUFTO0lBQ1QsYUozQzZCO0lJNEM3QixhQUFZLEVBQUE7SWxDdEZKO01rQ3lGUCx1QkFBc0IsRUFBQTtNbEN6RmY7UWtDNEZOLHlCQUF3QixFQUFBO0lsQzVGbEI7TURtT1QsZUFBbUM7TUF3RW5DLFFBQTRCO01tQzFZNUIsWUFBVztNQWlNVCx3QnBDL0ptQyxFQUFBO0lFNkQ1QjtNRG1PVCxlQUFtQztNQXdFbkMsUUFBNEI7TW1DMVk1QixZQUFXO01Bc01ULHdCcENwS21DLEVBQUE7SUU2RDVCO01rQzRHTiwwQnBDektrQyxFQUFBO0lFNkQ1QjtNa0NnSE4sMEJwQzdLa0MsRUFBQTs7QXNDRnRDO0V4Q3daTSxnQkN0Tm1CO0VEc05uQixlQ3pNa0Q7RUQyTGpELGlCQ3RMc0I7RURvTXZCLG9CQzFMdUI7RXVDMU41QixhckNrUHlDO0VxQ2pQekMsa0JBQXNEO0VBQ3RELGlCQUw0QyxFQUFBO0VoQ3FHM0M7SWdDdEdGO014Q3daTSxnQkN0Tm1CO01Ec05uQixlQ3pNa0Q7TUQyTGpELGlCQ3RMc0I7TURvTXZCLG9CQzFMdUIsRUFBQSxFQUFBO0VFaEczQjtJSDBSSSxnQndDdGJnQyxFQUFBO0loQ29JcEM7TUx3QkE7UUgwUkksZ0J3Q3JiZ0MsRUFBQSxFQUFBO0VyQzJKcEM7SUgwUkksZ0J3Q3RiZ0MsRUFBQTtJaENvSXBDO01Md0JBO1FIMFJJLGdCd0NyYmdDLEVBQUEsRUFBQTtFaENtSXBDO0lnQ3RHRjtNQVNFLGtCTjBGMkI7TU16RjNCLGVBQWM7TUFDZCxZQUFXLEVBQUEsRUFBQTtFQUdaO0lBQ0MsWXJDd053QyxFQUFBO0lLakl4QztNZ0N4RkQ7UUFRRSxZQUFXO1FBQ1gsaUJBQWdCO1FBQ2hCLHFCQUFvQjtRQUNwQixtQkFBa0I7UUFDbEIsWUFBVztRQUNYLGNBQWE7UUFDYixvR0FBbUY7Z0JBQW5GLDRGQUFtRixFQUFBO1FEZ0M1RTtVQzNCTixrQkFBaUI7VUFDakIsOENBSHFGO1VBR3JGLHNDQUhxRjtVQUlyRixpQkFBZ0I7VUFDaEIsa0NBQWlDO1VBQ2pDLHFCQUFvQjtVQUNwQixvQkFBbUI7VUFDbkIsbUNBQTBCO2tCQUExQiwyQkFBMEIsRUFBQSxFQUFBO0loQytENUI7TStCMUNRO1FDbEJMLGtCQUFpQjtRQUNqQiw4Q0Fab0Y7UUFZcEYsc0NBWm9GLEVBQUEsRUFBQTtJaEN1RXZGO1VKdkNRO1lvQ2hCTCxtQkFBa0IsRUFBQTtVcENnQmI7WW9DWkwsdUNBQW9EO1lBQXBELCtCQUFvRCxFQUFBLEVBQUE7RWhDbUR2RDtJZ0M3Q0Q7TUFLRSxXQUFVO01BQ1YsNkJBQStKO01BQy9KLDZDQUFvQztjQUFwQyxxQ0FBb0M7TUFDcEMsK0hBQWdIO2NBQWhILCtHQUFnSCxFQUFBO01ETHpHO1FDUU4sV0FBVTtRQUNWLHdDQUErQjtnQkFBL0IsZ0NBQStCO1FBQy9CLHFDQUE0QjtnQkFBNUIsNkJBQTRCLEVBQUEsRUFBQTtFQUsvQjtJckN1TkEsa0JBQW1DO0lxQ3JObEMsWXJDMEp3QztJcUN6SnhDLGlCQUFnQixFQUFBO0loQ3dCaEI7TWdDM0JEO1FyQ3VOQSxrQkFBbUMsRUFBQSxFQUFBO0lLNUxsQztNZ0MzQkQ7UXJDdU5BLGVBQW1DO1FxQzNNakMsc0JBQXFCO1FBQ3JCLFlBQVc7UUFDWCxrQk5VMEI7UU1UMUIsWUFBVztRQUNYLGFOUTBCLEVBQUE7UU1MekI7VUFDQyxjQUFhLEVBQUE7UUR0RWhCOztVQzJFRSxvQ0FBeUMsRUFBQTtRQUt4QztVQUNDLGdDQUE0QjtrQkFBNUIsd0JBQTRCLEVBQUE7UUFEN0I7VUFDQyxnQ0FBNEI7a0JBQTVCLHdCQUE0QixFQUFBO1FBRDdCO1VBQ0MsZ0NBQTRCO2tCQUE1Qix3QkFBNEIsRUFBQTtRQUQ3QjtVQUNDLGdDQUE0QjtrQkFBNUIsd0JBQTRCLEVBQUE7UUFEN0I7VUFDQyxnQ0FBNEI7a0JBQTVCLHdCQUE0QixFQUFBO1FBRDdCO1VBQ0MsZ0NBQTRCO2tCQUE1Qix3QkFBNEIsRUFBQTtRQUQ3QjtVQUNDLGdDQUE0QjtrQkFBNUIsd0JBQTRCLEVBQUE7UUFRNUI7VUFDQyxnQ0FBa0M7a0JBQWxDLHdCQUFrQyxFQUFBO1FBRG5DO1VBQ0MsZ0NBQWtDO2tCQUFsQyx3QkFBa0MsRUFBQTtRQURuQztVQUNDLGdDQUFrQztrQkFBbEMsd0JBQWtDLEVBQUE7UUFEbkM7VUFDQyxnQ0FBa0M7a0JBQWxDLHdCQUFrQyxFQUFBO1FBRG5DO1VBQ0MsZ0NBQWtDO2tCQUFsQyx3QkFBa0MsRUFBQTtRQURuQztVQUNDLGdDQUFrQztrQkFBbEMsd0JBQWtDLEVBQUE7UUFEbkM7VUFDQyxnQ0FBa0M7a0JBQWxDLHdCQUFrQyxFQUFBLEVBQUE7RUFReEM7SUFFQyxlWnZLcUM7SVl3S3JDLHNCQUFxQjtJQUNyQixrQkFBaUI7SUFDakIsb0JBQW1CLEVBQUE7SUFFbkI7TUFDQyxzQkFBcUIsRUFBQTtJaEM3QnRCO01nQ3FCRDtRQVlFLCtDQUEyQztRQUMzQyxlQUFhO1FBQ2Isa0JOdEMwQjtRTXVDMUIsV0FBVTtRQUNWLDRDQUFtQztnQkFBbkMsb0NBQW1DO1FBQ25DLDhCQUFxQjtnQkFBckIsc0JBQXFCO1FBQ3JCLHdEQUF1QztnQkFBdkMsd0NBQXVDLEVBQUE7UURwSHhDOztVQ3VIRSxzQkFBbUMsRUFBQTtRRHBGN0I7VUN3Rk4sV0FBVTtVQUNWLHdDQUErQjtrQkFBL0IsZ0NBQStCLEVBQUEsRUFBQTtJcEN0RnpCO01vQzJGUCxhNUJwTG9DLEVBQUE7TVJ5RjdCO1FvQzhGTixlWnZNbUMsRUFBQTtNV3NHN0I7UUNxR04sZVozTW1DLEVBQUE7TXhCc0t0QztRb0N5Q0csZUFBeUIsRUFBQTtRcEN0R25CO1VvQ3lHTCxlYmpNbUQsRUFBQTtRWXFGOUM7VUNnSEwsZWJyTW1ELEVBQUE7SVlrRHREOztNQ3lKQyxhNUI1TW9DLEVBQUE7TVJ5RjdCO1FvQ3NITixhNUIvTW1DLEVBQUE7TTJCc0Y3QjtRQzZITixhNUJuTm1DLEVBQUE7TVJzSnRDOztRb0NpRUcsZUFBeUIsRUFBQTtRcEM5SG5CO1VvQ2lJTCxlQUF5QixFQUFBO1FEcElwQjtVQ3dJTCxlQUF5QixFQUFBO0lwQ3hFN0I7TW9DOEVFLGVibk9xRDtNYW9PckQsc0JBQXFCLEVBQUE7SUFHdEI7TUE3TkQsNkJBSHlDO01Ba092QyxnQkFBZSxFQUFBO01wQ2pKUjtRb0MzRVIsZUFMeUMsRUFBQTtNcEM2STFDO1FvQ3BJQyw2QkFWd0MsRUFBQTtRcENpRmhDO1VvQ3BFUCxlQVp3QyxFQUFBO01wQ2dGakM7UW9DOUVULGdDQUh5QyxFQUFBO1FwQ2lGaEM7VW9DM0VSLGVBTHlDLEVBQUE7UXBDNkkxQztVb0NwSUMsZ0NBVndDLEVBQUE7VXBDaUZoQztZb0NwRVAsZUFad0MsRUFBQTtRcENnRmpDO1VvQzlFVCw2QkFIeUMsRUFBQTtVcENpRmhDO1lvQzNFUixlQUx5QyxFQUFBO1VwQzZJMUM7WW9DcElDLDZCQVZ3QyxFQUFBO1lwQ2lGaEM7Y29DcEVQLGVBWndDLEVBQUE7UUQ2RWpDO1VDM0VULDZCQUh5QyxFQUFBO1VwQ2lGaEM7WW9DM0VSLGVBTHlDLEVBQUE7VXBDNkkxQztZb0NwSUMsNkJBVndDLEVBQUE7WXBDaUZoQztjb0NwRVAsZUFad0MsRUFBQTtNRDBDekM7O1FDeENELGdDQUh5QyxFQUFBO1FwQ2lGaEM7VW9DM0VSLGVBTHlDLEVBQUE7UXBDNkkxQzs7VW9DcElDLGdDQVZ3QyxFQUFBO1VwQ2lGaEM7WW9DcEVQLGVBWndDLEVBQUE7UUQ2RWpDO1VDM0VULGdDQUh5QyxFQUFBO1VwQ2lGaEM7WW9DM0VSLGVBTHlDLEVBQUE7VXBDNkkxQztZb0NwSUMsZ0NBVndDLEVBQUE7WXBDaUZoQztjb0NwRVAsZUFad0MsRUFBQTtRcENnRmpDO1VvQzlFVCxnQ0FIeUMsRUFBQTtVcENpRmhDO1lvQzNFUixlQUx5QyxFQUFBO1VwQzZJMUM7WW9DcElDLGdDQVZ3QyxFQUFBO1lwQ2lGaEM7Y29DcEVQLGVBWndDLEVBQUE7O0FDckIzQztFQUNDLGNBQWEsRUFBQTtFakMySVo7SWlDNUlGO01BSUUsZUFBYyxFQUFBLEVBQUE7O0FBSWhCO0V0Q2tWQyxvQkFBaUM7RXNDaFZqQyxnQkFBZTtFQUNmLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsWVBrTDZCO0VPakw3QixhUDJINEI7RU8xSDVCLHlDQUF3QyxFQUFBO0VBRXhDO0lDUUEsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtJQUNaLFdBQVU7SUFDVixvSUFiNkg7WUFhN0gsZ0hBYjZIO1lBYTdILDRHQWI2SDtJQTBEN0gsbUNBQTBCO1FBQTFCLCtCQUEwQjtZQUExQiwyQkFBMEIsRUFBQTtJQTNDMUI7TUFFQyxZQUFXO01BQ1gsZUFBYztNQUNkLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsWUFBVztNQUNYLFlBQVc7TUFDWCxXQUFVO01BQ1Ysb0lBeEI0SDtjQXdCNUgsZ0hBeEI0SDtjQXdCNUgsNEdBeEI0SCxFQUFBO0lBMkI3SDtNQUNDLFdBQVUsRUFBQTtJQUdYO01BQ0MsVUFBUyxFQUFBO0lBY1Y7TUFFQyxvQmRyRXFDLEVBQUE7SWNpRnRDO01BQ0Msb0NBQTBCO1VBQTFCLGdDQUEwQjtjQUExQiw0QkFBMEI7TUFDMUIsNkNBQW1GO1VBQW5GLHlDQUFtRjtjQUFuRixxQ0FBbUYsRUFBQTtJQUdwRjtNQUNDLGtDQUF3QjtVQUF4Qiw4QkFBd0I7Y0FBeEIsMEJBQXdCO01BQ3hCLDhDQUFvRjtVQUFwRiwwQ0FBb0Y7Y0FBcEYsc0NBQW9GLEVBQUE7SUhjNUU7TUdKVCxvQ0FBMkI7VUFBM0IsZ0NBQTJCO2NBQTNCLDRCQUEyQixFQUFBO01BRTNCO1FBQ0Msa0NBQXdCO1lBQXhCLDhCQUF3QjtnQkFBeEIsMEJBQXdCO1FBQ3hCLDhDQUFvRjtZQUFwRiwwQ0FBb0Y7Z0JBQXBGLHNDQUFvRixFQUFBO01BR3JGO1FBQ0MsZ0NBQXNCO1lBQXRCLDRCQUFzQjtnQkFBdEIsd0JBQXNCO1FBQ3RCLDZDQUFtRjtZQUFuRix5Q0FBbUY7Z0JBQW5GLHFDQUFtRixFQUFBO0lBeENwRjtNQUVDLGtCOUJyRHFDLEVBQUE7SThCbUR0QztNQUVDLG9CZHJFcUMsRUFBQTtJY21FdEM7TUFFQyxvQmRyRXFDLEVBQUE7SWNtRXRDOzs7TUFFQyxrQjlCckRxQyxFQUFBO0k4Qm1EdEM7TUFFQyxrQjlCckRxQyxFQUFBO0k4Qm1EdEM7TUFFQyxrQjlCckRxQyxFQUFBO0U2QnVDdEM7SUFDQyxjQUFhO0lBQ2IsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixRQUFPO0lBQ1AsV0FBVTtJQUNWLFlBQVc7SUFDWCxZQUFXLEVBQUE7SUFFWDtNQUNDLHFCQUFvQjtNQUNwQixZQUFXO01BQ1gsYUFBWSxFQUFBO0lBR2I7TUFDQyxjQUFhLEVBQUE7SUFHZDtNNUNrRkQsbUJBQWtCO01BQ2xCLDRCQUEyQjtNQUMzQiwrQkFBOEI7TUFDOUIsOENBQXFDO2NBQXJDLHNDQUFxQztNQUNyQyxpQkFBZ0I7TUFDaEIsWUFBVztNQUNYLFdBQVU7TUFDVixXQUFVO01BQ1YsVUFBUyxFQUFBO0lXcEJSO01pQ3pGRDtRQXdCRSxlQUFjLEVBQUEsRUFBQTtJQUlkO01BQ0MsY0FBYSxFQUFBO0lBR2Q7TUFDQyxlQUFjLEVBQUE7O0FFekRsQjtFM0NtYU0sZ0JDdE5tQjtFRHNObkIsb0JDek1rRDtFRDJMakQsaUJDdExzQjtFRG9NdkIsb0JDMUx1QjtFMEN2TzVCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLFl4QzhPeUM7RXdDN096QyxVQUFTO0VBQ1QsV0FBVTtFQUNWLGFUaUdzQjtFU2hHdEIsb0JBQW1CLEVBQUE7RW5DeUdsQjtJbUNqSEY7TTNDbWFNLGdCQ3RObUI7TURzTm5CLGlCQ3pNa0Q7TUQyTGpELGlCQ3RMc0I7TURvTXZCLG9CQzFMdUIsRUFBQSxFQUFBO0VPeEgzQjtJbUNqSEY7TUFZRSxzQkFBcUI7TUFDckIsa0JUaUcyQjtNU2hHM0IsYVRnRzJCLEVBQUEsRUFBQTtFUzdGNUI7SUFFQyxzQkFBcUI7SUFDckIsZUFBYztJQUNkLFVBQVM7SUFDVCxzQkFBcUI7SUFDckIsb0JBQW1CO0lBQ25CLHVCQUFzQixFQUFBO0l2Q2tEZDtNdUMvQ1Asa0JUNkVvQixFQUFBO0k5QitCdEI7TXVDeEdFLHNCQUFxQixFQUFBO0VBSXZCOzs7O0lBRUMsZW5CakVxQztJbUJrRXJDLGlFQUE2QztZQUE3Qyx5REFBNkMsRUFBQTtJdkNvQ3JDO011Q2pDUCxhL0J4RG9DLEVBQUE7TVJ5RjdCO1F1QzlCTixlbkJ4RW1DLEVBQUE7TWVtRzdCO1FJdkJOLGVuQjVFbUMsRUFBQTtJZWdFckM7O01JaUJDLGEvQnBFb0MsRUFBQTtNUnlGN0I7UXVDbEJOLGEvQnZFbUMsRUFBQTtNMkJzRjdCO1FJWE4sYS9CM0VtQyxFQUFBO0UrQmdGdEM7STlDNEVBLGlCQUFnQjtJQUNoQixrQkFBaUI7SUFDakIsb0JBQW1CO0k4QzNFbEIsc0JBQXFCLEVBQUE7RUFXdEI7STNDb1ZLLGdCQ3RObUI7SURzTm5CLGVDek1rRDtJRDJMakQsaUJDdExzQjtJRG9NdkIsb0JDMUx1QixFQUFBO0lPeEgzQjtNbUNsQ0Q7UTNDb1ZLLGdCQ3RObUI7UURzTm5CLGVDek1rRDtRRDJMakQsaUJDdExzQjtRRG9NdkIsb0JDMUx1QixFQUFBLEVBQUE7RTBDcko1QjtJQUNDLGFBQVksRUFBQTtJdkNYSjtNdUNjUCxlQUF1QixFQUFBO012Q2RoQjtRdUNpQk4sZUFBNkIsRUFBQTtNSnZEL0I7O1FJMkRFLGVBQTZCLEVBQUE7RUFLaEM7STNDK1RLLGdCQ3RObUI7SURzTm5CLGVDek1rRDtJRDJMakQsaUJDdExzQjtJRG9NdkIsb0JDMUx1QjtJRXdHNUIsa0JBQW9DO0lKekdqQywyQkFsS2tCLEVBQUE7SVMyQ3BCO01tQ2JEO1EzQytUSyxnQkN0Tm1CO1FEc05uQixlQ3pNa0Q7UUQyTGpELGlCQ3RMc0I7UURvTXZCLG9CQzFMdUIsRUFBQSxFQUFBO0lPeEgzQjtNbUNiRDtReEM2T0EsZ0JBQW9DLEVBQUEsRUFBQTs7QXlDaFhyQzs7Ozs7OztHQU9HO0FBT0g7Ozs7OztHQU1HO0FBZ0JIOzs7Ozs7OztHQVFHO0FBb0JIOzs7Ozs7Ozs7Ozs7O0dBYUc7QXBDbUVEO0VxQ25JRDtJQVRhLGNBQWEsRUFBQSxFQUFBO0FyQzRJekI7RXFDN0hEO0lBZmEsY0FBYSxFQUFBLEVBQUE7QUFxQjFCO0VBckJhLGNBQWEsRUFBQTtBQXlCMUI7RUF6QmEsY0FBYSxFQUFBO0VyQzRJekI7SXFDbkhEO01BekJhLGNBQWEsRUFBQSxFQUFBO0FyQzRJekI7RXFDekdEO0lBbENhLGVBQWMsRUFBQSxFQUFBO0FyQzJJMUI7RXFDbkdEO0lBeENhLGVBQWMsRUFBQSxFQUFBOztBQWlENUI7RUFsRGMsY0FBYSxFQUFBO0VyQzRJekI7SXFDMUZGO01BakRjLGVBQWMsRUFBQSxFQUFBOztBckMySTFCO0VxQ2xGRjtJQTFEYyxjQUFhLEVBQUEsRUFBQTtBckM0SXpCO0VxQ2xGRjtJQXpEYyxlQUFjLEVBQUEsRUFBQTs7QXJDMkkxQjtFcUN4RUY7SUFwRWMsY0FBYSxFQUFBLEVBQUE7O0FyQzRJekI7RXFDbEVGO0lBekVjLGVBQWMsRUFBQSxFQUFBOztBQStFNUI7RUFoRmMsY0FBYSxFQUFBO0VyQzRJekI7SXFDNURGO01BL0VjLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDbklEO01BVGEsY0FBYSxFQUFBLEVBQUE7RXJDNEl6QjtJcUM3SEQ7TUFmYSxjQUFhLEVBQUEsRUFBQTtFckM0SXpCO01xQ3ZIRDtRQXJCYSxjQUFhLEVBQUE7TUF5QjFCO1FBekJhLGNBQWEsRUFBQSxFQUFBO0lyQzRJekI7TXFDbkhEO1FBekJhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDekdEO01BbENhLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDbkdEO01BeENhLGVBQWMsRUFBQSxFQUFBOztBckMySTFCO0VxQ3BERjtJQXZGYyxlQUFjLEVBQUEsRUFBQTs7QUE2RjVCO0VBOUZjLGNBQWEsRUFBQTtFckM0SXpCO0lxQ25JRDtNQVRhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDN0hEO01BZmEsY0FBYSxFQUFBLEVBQUE7RUFxQjFCO0lBckJhLGNBQWEsRUFBQTtFQXlCMUI7SUF6QmEsY0FBYSxFQUFBO0lyQzRJekI7TXFDbkhEO1FBekJhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDOUNGO01BN0ZjLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDekdEO01BbENhLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDbkdEO01BeENhLGVBQWMsRUFBQSxFQUFBOztFckMySTFCO0lxQzlDRjtNQTlGYyxjQUFhLEVBQUEsRUFBQTtFckM0SXpCO0lxQ25JRDtNQVRhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDN0hEO01BZmEsY0FBYSxFQUFBLEVBQUE7RXJDNEl6QjtNcUN2SEQ7UUFyQmEsY0FBYSxFQUFBO01BeUIxQjtRQXpCYSxjQUFhLEVBQUEsRUFBQTtJckM0SXpCO01xQ25IRDtRQXpCYSxjQUFhLEVBQUEsRUFBQTs7QUE0RzNCO0VBM0djLGVBQWMsRUFBQTs7QUErRzVCO0VBL0djLGVBQWMsRUFBQTtFckMySTFCO0lxQ25JRDtNQVRhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDN0hEO01BZmEsY0FBYSxFQUFBLEVBQUE7RUFxQjFCO0lBckJhLGNBQWEsRUFBQTtFQXlCMUI7SUF6QmEsY0FBYSxFQUFBO0lyQzRJekI7TXFDbkhEO1FBekJhLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDekdEO01BbENhLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDbkdEO01BeENhLGVBQWMsRUFBQSxFQUFBO0VyQzJJMUI7SXFDNUJGO01BaEhjLGNBQWEsRUFBQSxFQUFBO0VyQzRJekI7SXFDbklEO01BVGEsY0FBYSxFQUFBLEVBQUE7RXJDNEl6QjtJcUM3SEQ7TUFmYSxjQUFhLEVBQUEsRUFBQTtFckM0SXpCO01xQ3ZIRDtRQXJCYSxjQUFhLEVBQUE7TUF5QjFCO1FBekJhLGNBQWEsRUFBQSxFQUFBO0lyQzRJekI7TXFDbkhEO1FBekJhLGNBQWEsRUFBQSxFQUFBOztBQTZIM0I7RUFFQyxpQkFBZ0IsRUFBQTs7QUFHakI7RUFDQyxnQkFBZSxFQUFBOztBQ3ZJaEI7RWpEZ0hFLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFBQTs7QWlENUdwQjtFRjZFSSwrQkFBb0I7RUV2RXZCLGVBQWM7RUFDZCxrQkFBaUIsRUFBQTtFdENvSWhCO0lzQzNJRjtNRjZFSSxnQ0FBb0IsRUFBQSxFQUFBO0VwQzhEdEI7SXNDM0lGO01GNkVJLCtCQUFvQixFQUFBLEVBQUE7O0FFbkV4QjtFakRtSEMsbUJBQWtCO0VBbEJqQixrQkFBaUI7RUFDakIsbUJBQWtCLEVBQUE7O0FpRDlGcEI7RUFDQyxpQkFBZ0IsRUFBQTs7QUFHakI7RUFDQyxrQkFBaUIsRUFBQTs7QUFHbEI7RWpEdUdDLG1CQUFrQjtFQWxCakIsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUFBO0VXK0JsQjtJc0NySEY7TUFHRSxpQkFBZ0IsRUFBQSxFQUFBOztBdENrSGhCO0VzQ3ZHRjtJakR5RkMsbUJBQWtCO0lBbEJqQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBQUEsRUFBQTs7QWlEbEVwQjtFQUNDLGlCQUFnQixFQUFBOztBQUdqQjtFQUNDLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUyxFQUFBOztBQzFEVjtFQUNDLDBCQUFvQztFQUNwQyxrQ0FBNEM7RUFDNUMsK0JBQXlDLEVBQUE7O0FBRzFDO0VBQ0MsaUJBQWdCLEVBQUE7O0FBR2pCO0VBQ0MsZUFBYyxFQUFBOztBQ0pmO0VoRCtiTSxnQkN0Tm1CO0VEc05uQixxQkN6TWtEO0VGZ0N2RCxpQkEyQjBDO0VDOElyQyxvQkMxTHVCLEVBQUE7RUcvSm5CO0lMcVJOLG9CQUFtQixFQUFBO0VTOU9yQjtJd0M3SUY7TWhEK2JNLGdCQ3RObUI7TURzTm5CLGlCQ3pNa0Q7TUQyTGpELGlCRGhJb0M7TUM4SXJDLG9CQzFMdUIsRUFBQSxFQUFBO0VFaEczQjtJSDBSSSxnQkN0Tm1CLEVBQUE7SU81RnZCO01Md0JBO1FIMFJJLGdCQ3RObUIsRUFBQSxFQUFBOztBK0NyT3pCO0VuRDJIQyxtQkFBa0I7RUFsQmpCLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFBQTs7QW1EdEdwQjtFSmlEQywwQkFBeUI7RUFDekIsc0JBQTZCLEVBQUE7O0FJOUM5QjtFaERtYk0sZ0JDdE5tQjtFRHNObkIsaUJDek1rRDtFRmdDdkQsaUJBMkIwQztFQzhJckMsb0JDMUx1QixFQUFBO0VFaEczQjtJSDBSSSxnQkN0Tm1CLEVBQUE7O0FnRHRPeEI7RUw0RUcsbUJqRGpGUyxFQUFBO0VhK0lYO0l5QzFJRDtNTDRFRyxrQmpEaEZTLEVBQUEsRUFBQTtFYThJWDtJeUMxSUQ7TUw0RUcsa0JqRC9FUSxFQUFBLEVBQUE7QXNET1g7RUx3RUcsc0JqRGpGUyxFQUFBO0VhK0lYO0l5Q3RJRDtNTHdFRyxxQmpEaEZTLEVBQUEsRUFBQTtFYThJWDtJeUN0SUQ7TUx3RUcscUJqRC9FUSxFQUFBLEVBQUE7O0FzRFlaO0VMbUVJLGtCakRqRVE7RWlEaUVSLHFCakRqRVE7RXNERVgsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixXQUFVLEVBQUE7RXBEd0hWO0lBRUMsYUFBWTtJQUNaLGVBQWMsRUFBQTtFQUdmO0lBQ0MsWUFBVyxFQUFBO0VXSlg7SXlDaklGO01MbUVJLGtCakRoRVMsRUFBQSxFQUFBO0VhOEhYO0l5Q2pJRjtNTG1FSSxrQmpEL0RRLEVBQUEsRUFBQTtFYTZIVjtJeUNqSUY7TUxtRUkscUJqRGhFUyxFQUFBLEVBQUE7RWE4SFg7SXlDaklGO01MbUVJLHFCakQvRFEsRUFBQSxFQUFBO0VzRElYO0lBQ0MsZUFBYztJQUNkLGtCQUFpQixFQUFBOztBQUluQjs7RUFFQyxlQUFjLEVBQUE7O0FBR2Y7O0VBRUMsa0JBQWlCLEVBQUE7O0FBR2xCO0VBQ0Msa0JBQWlCLEVBQUE7RUFFakI7SUx3Q0cscUJqRGpFUTtJc0QyQlYsaUN0RHlLZ0MsRUFBQTtJYXJFaEM7TXlDdEdEO1FMd0NHLHFCakRoRVMsRUFBQSxFQUFBO0lhOEhYO015Q3RHRDtRTHdDRyxxQmpEL0RRLEVBQUEsRUFBQTtFc0Q2QlY7SUFDQyxrQkFBaUIsRUFBQTs7QXpDK0ZsQjtFeUMxRkY7SUFFRSxrQkFBaUIsRUFBQTtJQUVqQjtNTHdCRSxxQmpEakVRO01zRDJDVCxpQ3REeUorQixFQUFBLEVBQUE7SWFyRWhDO015Q3RGQTtRTHdCRSxxQmpEaEVTLEVBQUEsRUFBQTtJYThIWDtNeUN0RkE7UUx3QkUscUJqRC9EUSxFQUFBLEVBQUE7O0FzRDhDWjtFTGlCSSxxQmpEakVRO0VzRGhCWCxzQkFBNkI7RUFDN0Isc0JBQXFCO0VwRDhHcEIsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFcUQyUWpCLGFBTGlDLEVBQUE7RTFDdk9sQztJeUMvRUY7TUxpQkkscUJqRGhFUyxFQUFBLEVBQUE7RWE4SFg7SXlDL0VGO01MaUJJLHFCakQvRFEsRUFBQSxFQUFBO0VhNkhWO0l5Qy9FRjtNcEQrQ0Usa0JBQWlCO01BQ2pCLG1CQUFrQjtNcUQyUWpCLGFBTGlDLEVBQUEsRUFBQTtFMUN2T2xDO0l5Qy9FRjtNcEQrQ0Usa0JBQWlCO01BQ2pCLG1CQUFrQjtNcUQyUWpCLGFBTGlDLEVBQUEsRUFBQTtFMUN2T2xDO0l5Qy9FRjtNcEQrQ0Usa0JBQWlCO01BQ2pCLG1CQUFrQjtNcUQyUWpCLFdBTGlDLEVBQUEsRUFBQTtFRGpUbkM7SUFDQyxnQkFBZTtJQUNmLGtCQUFpQixFQUFBO0VBR2xCOzs7SWpEdVhLLGdCQ3RObUI7SURzTm5CLG1CQ3pNa0Q7SUZnQ3ZELGlCQTJCMEM7SUM4SXJDLG9CQzFMdUI7SWdEekwzQixxQkFBb0IsRUFBQTtJN0MwQlo7TUxxUk4sb0JBQW1CLEVBQUE7SVM5T3JCO015Q3JFRDs7O1FqRHVYSyxnQkN0Tm1CO1FEc05uQixxQkN6TWtEO1FEMkxqRCxpQkRoSW9DO1FDOElyQyxvQkMxTHVCLEVBQUEsRUFBQTtJT3hIM0I7TXlDckVEOzs7UWpEdVhLLGdCQ3RObUI7UURzTm5CLHFCQ3pNa0Q7UUQyTGpELGlCRGhJb0M7UUM4SXJDLG9CQzFMdUIsRUFBQSxFQUFBO0lFaEczQjs7O01IMFJJLHFCQ3pNa0QsRUFBQTtNT3pHdEQ7UUx3QkE7OztVSDBSSSxrQkN6TWtELEVBQUEsRUFBQTtNT3pHdEQ7UUx3QkE7OztVSDBSSSxxQkN6TWtELEVBQUEsRUFBQTtJRWpGdEQ7OztNSDBSSSxnQkN0Tm1CLEVBQUE7TU81RnZCO1FMd0JBOzs7VUgwUkksZ0JDdE5tQixFQUFBLEVBQUE7TU81RnZCO1FMd0JBOzs7VUgwUkksZ0JDdE5tQixFQUFBLEVBQUE7O0FnRHpKekI7RUFDQyxXQUFVLEVBQUE7RUFFVjtJTEpHLHFCakQzRWU7SWlEMkVmLG9CakR0RWU7SXNEWGxCLHNCQUE2QjtJQUM3QixzQkFBcUIsRUFBQTtJekM4SXBCO015QzFERDtRTEpHLHFCakR6RUosRUFBQSxFQUFBO0lhdUlFO015QzFERDtRTEpHLG9CakRwRUosRUFBQSxFQUFBO0lzRDZFRTtNQUNDLGlCQUFnQjtNQUNoQixrQkFBaUIsRUFBQTtJQUdsQjs7TWpEa1dJLGdCQ3RObUI7TURzTm5CLGlCQ3pNa0Q7TUZnQ3ZELGlCQTJCMEM7TUM4SXJDLHlCQzFMdUI7TWdEcksxQixxQkFBb0IsRUFBQTtNN0NNYjtRTHFSTixvQkFBbUIsRUFBQTtNUzlPckI7UXlDaERBOztVakRrV0ksZ0JDdE5tQjtVRHNObkIsbUJDek1rRDtVRDJMakQsaUJEaElvQztVQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7TU94SDNCO1F5Q2hEQTs7VWpEa1dJLGdCQ3RObUI7VURzTm5CLHFCQ3pNa0Q7VUQyTGpELGlCRGhJb0M7VUM4SXJDLG9CQzFMdUIsRUFBQSxFQUFBO01FaEczQjs7UUgwUkksb0JDMUx1QixFQUFBO01FaEczQjs7UUgwUkksb0JDMUx1QixFQUFBO01FaEczQjs7UUgwUkksaUJDek1rRDtRRHlNbEQsb0JDMUx1QixFQUFBO1FPeEgzQjtVTHdCQTs7WUgwUkkscUJDek1rRCxFQUFBLEVBQUE7UU96R3REO1VMd0JBOztZSDBSSSxrQkN6TWtELEVBQUEsRUFBQTtNRWpGdEQ7O1FIMFJJLGdCQ3RObUI7UURzTm5CLG9CQzFMdUIsRUFBQTtRT3hIM0I7VUx3QkE7O1lIMFJJLGdCQ3RObUIsRUFBQSxFQUFBO1FPNUZ2QjtVTHdCQTs7WUgwUkksZ0JDdE5tQixFQUFBLEVBQUE7TWdEdkl0Qjs7UUxuQkMsb0JLcUJZLEVBQUE7UXpDeUNkO1V5QzNDQzs7WUxuQkMsb0JLc0JZLEVBQUEsRUFBQTtJekN3Q2Q7TXlDbkNBO1FwREhBLFdvREtxQjtRcERDckIsa0JBQWlCO1FBQ2pCLG1CQUFrQixFQUFBLEVBQUE7O0FvREtuQjtFcEROQyxrQkFBaUI7RUFDakIsbUJBQWtCO0VxRDJRakIsYUFMaUM7RUQ1UGhDLFlBQVcsRUFBQTs7QUFNYjtFQUNDLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsWUFBVyxFQUFBOztBekNZWjtFeUMxQkQ7SXBETkMsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJcUQyUWpCLGFBTGlDLEVBQUEsRUFBQTtBMUN2T2xDO0V5QzFCRDtJQUtHLFlBQVcsRUFBQSxFQUFBOztBekNxQmI7RXlDZkE7SUFDQyxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLFlBQVcsRUFBQSxFQUFBO0F6Q1laO0V5QzFCRDtJcEROQyxrQkFBaUI7SUFDakIsbUJBQWtCO0lxRDJRakIsYUFMaUMsRUFBQSxFQUFBO0ExQ3ZPbEM7RXlDMUJEO0lBS0csWUFBVyxFQUFBLEVBQUE7O0F6Q3FCYjtFeUNmQTtJQUNDLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsWUFBVyxFQUFBLEVBQUE7QXpDWVo7RXlDMUJEO0lwRE5DLGtCQUFpQjtJQUNqQixtQkFBa0I7SXFEMlFqQixXQUxpQyxFQUFBLEVBQUE7QTFDdk9sQztFeUMxQkQ7SUFLRyxZQUFXLEVBQUEsRUFBQTs7QXpDcUJiO0V5Q2ZBO0lBQ0Msa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixZQUFXLEVBQUEsRUFBQTtBekNZWjtFeUMxQkQ7SUFLRyxZQUFXLEVBQUEsRUFBQTs7QXpDcUJiO0V5Q2ZBO0lBQ0Msa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixZQUFXLEVBQUEsRUFBQTtBQWRiO0VBS0csWUFBVyxFQUFBOztBQU1iO0VBQ0Msa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUNsQixZQUFXLEVBQUE7O0F6Q1laO0V5QzFCRDtJQUtHLFlBQVcsRUFBQSxFQUFBOztBekNxQmI7RXlDZkE7SUFDQyxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLFlBQVcsRUFBQSxFQUFBO0F6Q1laO0V5QzFCRDtJQUtHLFlBQVcsRUFBQSxFQUFBOztBekNxQmI7RXlDZkE7SUFDQyxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLFlBQVcsRUFBQSxFQUFBO0FFbklaO0V0RDJKRCxtQkFBa0I7RUFDbEIsNEJBQTJCO0VBQzNCLCtCQUE4QjtFQUM5Qiw4Q0FBcUM7VUFBckMsc0NBQXFDO0VBQ3JDLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsV0FBVTtFQUNWLFdBQVU7RUFDVixVQUFTO0UrQ2xGTixpQk83RVcsRUFBQTtFM0MySWI7STJDL0lBO01QaUZFLGdCTzVFVSxFQUFBLEVBQUE7O0FDTmI7RXBEa2NLLGdCQ3RObUI7RURzTm5CLG1CQ3pNa0Q7RUZnQ3ZELGlCQTJCMEM7RUM4SXJDLG9CQzFMdUIsRUFBQTtFRy9KbkI7SUxxUk4sb0JBQW1CLEVBQUE7RVM5T3JCO0k0Q2hKRDtNcERrY0ssZ0JDdE5tQjtNRHNObkIscUJDek1rRDtNRDJMakQsaUJEaElvQztNQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7RU94SDNCO0k0Q2hKRDtNcERrY0ssZ0JDdE5tQjtNRHNObkIscUJDek1rRDtNRDJMakQsaUJEaElvQztNQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7RUVoRzNCO0lIMFJJLHFCQ3pNa0QsRUFBQTtJT3pHdEQ7TUx3QkE7UUgwUkksa0JDek1rRCxFQUFBLEVBQUE7SU96R3REO01Md0JBO1FIMFJJLHFCQ3pNa0QsRUFBQSxFQUFBO0VFakZ0RDtJSDBSSSxnQkN0Tm1CLEVBQUE7SU81RnZCO01Md0JBO1FIMFJJLGdCQ3RObUIsRUFBQSxFQUFBO0lPNUZ2QjtNTHdCQTtRSDBSSSxnQkN0Tm1CLEVBQUEsRUFBQTtBbUR4T3hCO0VBQ0MsZ0NBQXVDLEVBQUE7RTVDMkl2QztJNEM1SUQ7TUFJRSxnQkFBZTtNQUNmLGlDekQ0TStCLEVBQUEsRUFBQTtBeUR4TWpDO0VScUVHLG9CUW5FZ0IsRUFBQTtFNUNpSWxCO0k0Q25JRDtNUnFFRyxvQlFsRWlCLEVBQUEsRUFBQTtFNUNnSW5CO0k0Q25JRDtNUnFFRyxvQlFoRUYsRUFBQSxFQUFBO0FBR0Q7RVI2REcsb0JRM0RnQixFQUFBO0U1Q3lIbEI7STRDM0hEO01SNkRHLG9CUTFEaUIsRUFBQSxFQUFBO0U1Q3dIbkI7STRDM0hEO01SNkRHLG9CUXhERixFQUFBLEVBQUE7O0FDM0JGOztFQUVDLGNBQWEsRUFBQTtFQUViOztJQUNDLGVBQWMsRUFBQTs7QUFJaEI7O0VBRUMsWUFBVyxFQUFBO0VBRVg7O0lBQ0MsV0FBVSxFQUFBOztBQUlaO0VBQ0MsaUJBQWdCO0VBQ2hCLHVCQUFzQixFQUFBOztBQUl2QjtFQUNDLGlCQUFnQixFQUFBO0U3Q3dIZjtJNkN6SEY7TUFJRSxZQUFX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Z0JDdE5tQjtNRHNObkIsaUJDek1rRDtNRmdDdkQsaUJBMkIwQztNQzhJckMsb0JDMUx1QixFQUFBO01FaEczQjtRSDBSSSxnQkN0Tm1CLEVBQUE7RXFEMUp4QjtJdERnWEssZ0JDdE5tQjtJRHNObkIscUJDek1rRDtJRmdDdkQsaUJFM0I0QjtJRG9NdkIsb0JDMUx1QjtJMkN0THpCLG9CVUdTO0lBR1gsaUMzRDZIZ0M7STJENUhoQyxtQkFBa0IsRUFBQTtJbERnQlY7TUxxUk4sb0JBQW1CLEVBQUE7SVM5T3JCO004QzlERDtRdERnWEssZ0JDdE5tQjtRRHNObkIscUJDek1rRDtRRDJMakQsaUJDdExzQjtRRG9NdkIsb0JDMUx1QixFQUFBLEVBQUE7SU94SDNCO004QzlERDtRVkFHLG9CVUlVLEVBQUEsRUFBQTtFQU1iO0lBQ0MsbUJBQWtCO0lBQ2xCLFNBQVEsRUFBQTtFQUdUO0l0RGlXSyxnQkN0Tm1CO0lEc05uQixpQkN6TWtEO0lGZ0N2RCxpQkEyQjBDO0lDOElyQyxvQkMxTHVCO0lxRHJLM0IsaUJBQWdCO0lBQ2hCLG9CQUFtQixFQUFBO0luRG9FbkI7TUgwUkksZ0JDdE5tQixFQUFBO0VxRHJJeEI7SUFHQyxpQkFBZ0I7SUFDaEIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUNoQiw4QjNEd0dnQyxFQUFBO0lFeEVqQztNQUVDLGFBQVk7TUFDWixlQUFjLEVBQUE7SUFHZjtNQUNDLFlBQVcsRUFBQTtJeURyQ1g7TUFDQyxZQUFXO01BQ1gsV0FBVSxFQUFBO01BRVY7UUFDQyxhQUFZO1FBQ1osa0JBQWlCLEVBQUE7RUFLcEI7SXREd1VLLGdCQ3RObUI7SURzTm5CLHFCQ3pNa0Q7SUZnQ3ZELGlCQTJCMEM7SUM4SXJDLG9CQzFMdUI7SXFENUkzQixrQkFBaUIsRUFBQTtFQUdsQjtJdERtVUssZ0JDdE5tQjtJRHNObkIscUJDek1rRDtJRmdDdkQsaUJBMkIwQztJQzhJckMsb0JDMUx1QjtJcUR2STNCLGVkeEd5QyxFQUFBO0l6Q3VWdkM7TUFFRSx3R0FQdUUsRUFBQTtJS2xRbkU7TUxxUk4sb0JBQW1C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LG9CbkNsTTREO0VtQ21NNUQsa0JBQWlCO0VBQ2pCLGtCQUFpQixFQUFBO0VBRWpCO0lBQ0Msc0JBQXFCLEVBQUE7RUFHdEI7STVEcVBJLGdCQ3RObUI7SURzTm5CLG1CQ3pNa0Q7SUZnQ3ZELGlCQTJCMEM7SUM4SXJDLG9CQzFMdUI7STJEekQxQixvQkFBbUIsRUFBQTtJeER0R1o7TUxxUk4sb0JBQW1CLEVBQUE7SVM5T3JCO01vRDZEQTtRNURxUEksZ0JDdE5tQjtRRHNObkIscUJDek1rRDtRRDJMakQsaUJEaElvQztRQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7SU94SDNCO01vRDZEQTtRNURxUEksZ0JDdE5tQjtRRHNObkIscUJDek1rRDtRRDJMakQsaUJEaElvQztRQzhJckMsb0JDMUx1QixFQUFBLEVBQUE7SUVoRzNCO01IMFJJLHFCQ3pNa0QsRUFBQTtNT3pHdEQ7UUx3QkE7VUgwUkksa0JDek1rRCxFQUFBLEVBQUE7TU96R3REO1FMd0JBO1VIMFJJLHFCQ3pNa0QsRUFBQSxFQUFBO0lFakZ0RDtNSDBSSSxnQkN0Tm1CLEVBQUE7TU81RnZCO1FMd0JBO1VIMFJJLGdCQ3RObUIsRUFBQSxFQUFBO01PNUZ2QjtRTHdCQTtVSDBSSSxnQkN0Tm1CLEVBQUEsRUFBQTtFMkQxQnZCO0lBQ0MscUJBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixrQkFBaUIsRUFBQTtFQUdsQjtJQUNDLHFCQUFtQixFQUFBOztBQU90QjtFQUNDLG9CbkM5TjZELEVBQUE7O0FvQ0Q3RDtFQUNDLGlCQUFnQjtFQUNoQixrQkFBaUIsRUFBQTtFQUVqQjtJN0Q0YkksZ0JDdE5tQjtJRHNObkIsbUJDek1rRDtJRmdDdkQsaUJBMkIwQztJQzhJckMsb0JDMUx1QjtJNERoUTFCLGlDbEU2TStCO0lrRTVNL0IscUJBQW9CLEVBQUE7SXpEZ0diO01McVJOLG9CQUFtQixFQUFBO0lTOU9yQjtNcUQxSUE7UTdENGJJLGdCQ3RObUI7UURzTm5CLHFCQ3pNa0Q7UUQyTGpELGlCRGhJb0M7UUM4SXJDLG9CQzFMdUIsRUFBQSxFQUFBO0lPeEgzQjtNcUQxSUE7UTdENGJJLGdCQ3RObUI7UURzTm5CLHFCQ3pNa0Q7UUQyTGpELGlCRGhJb0M7UUM4SXJDLG9CQzFMdUIsRUFBQSxFQUFBO0lFaEczQjtNSDBSSSxxQkN6TWtELEVBQUE7TU96R3REO1FMd0JBO1VIMFJJLGtCQ3pNa0QsRUFBQSxFQUFBO01Pekd0RDtRTHdCQTtVSDBSSSxxQkN6TWtELEVBQUEsRUFBQTtJRWpGdEQ7TUgwUkksZ0JDdE5tQixFQUFBO01PNUZ2QjtRTHdCQTtVSDBSSSxnQkN0Tm1CLEVBQUEsRUFBQTtNTzVGdkI7UUx3QkE7VUgwUkksZ0JDdE5tQixFQUFBLEVBQUE7RTREaE92QjtJQUNDLGlCQUFnQixFQUFBO0FBS2xCO0VqQmdFRyxpQmlCOURVO0U3RDhhUixnQkN0Tm1CO0VEc05uQixpQkN6TWtEO0VGZ0N2RCxpQkUzQjRCO0VEb012QixvQkMxTHVCLEVBQUE7RU94SDNCO0lxRDlIRDtNakJnRUcsaUJpQjdEVyxFQUFBLEVBQUE7RXJEMkhiO0lxRDlIRDtNakJnRUcsaUJpQjVEVSxFQUFBLEVBQUE7RUFVWjtJN0RrYUksZ0JDdE5tQjtJRHNObkIsaUJDek1rRDtJRmdDdkQsaUJFM0I0QjtJRG9NdkIsb0JDMUx1QjtJNER0TzFCLHFCQUFvQjtJQUNwQixpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQUE7SXpEcUVWO01McVJOLG9CQUFtQixFQUFBO0U4RHZWckI7SUFDQyxlQUFjO0lBQ2QsaUJBQWdCLEVBQUE7RUFHakI7O0lBRUMsWUFBVyxFQUFBO0VBR1o7SWpCaUNFLHFCaUIvQmtCLEVBQUE7SXJENkZwQjtNcUQvRkE7UWpCaUNFLHFCaUI5Qm1CLEVBQUEsRUFBQTtJckQ0RnJCO01xRC9GQTtRakJpQ0UsZ0JpQjVCRCxFQUFBLEVBQUE7RUFHRDtJQUNDLGVBQWM7SUFDZCxpQ2xFMEorQixFQUFBO0VrRXZKaEM7SWpCb0JFLG9CaUJsQlcsRUFBQTtJckRnRmI7TXFEbEZBO1FqQm9CRSxxQmlCakJhLEVBQUEsRUFBQTtJckQrRWY7TXFEbEZBO1FqQm9CRSxpQmlCaEJRLEVBQUEsRUFBQTtFQUlWO0lBQ0MsWUFBVztJQUNYLGFBQVk7SUFDWixlQUF3QixFQUFBO0VyRHVFekI7SXFEcEVBO01qQk1FLGFpQkphLEVBQUEsRUFBQTtFckRrRWY7SXFEcEVBO01qQk1FLFlpQkhXLEVBQUEsRUFBQTtFQUliO0lBQ0MsV0FBVTtJQUNWLGVBQWM7SUFDZCwwQkFBeUI7SUFDekIsNkJBQTRCLEVBQUE7RUFHN0I7SUFDQyxhQUFZLEVBQUE7SUFFWjtNQUhEO1FBSUUsWUFBVyxFQUFBLEVBQUE7RUFJYjtJQUNDLGtCQUFpQjtJQUNqQixnQkFBZSxFQUFBO0lBRWY7TUFKRDtRQUtFLGNBQWEsRUFBQSxFQUFBO0FBS2hCOztFaEJ2R2EsZUFBYyxFQUFBO0FnQjRHM0I7RUFDQyxnQkFBZTtFQUNmLGVuQzlHd0MsRUFBQTtBbUNpSHpDO0VoQmxIYSxjQUFhLEVBQUE7QWdCd0h6QjtFQUNDLGtCQUFpQixFQUFBO0FBS2pCO0VBQ0MsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQixpQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGNBQWEsRUFBQTtFQUViOztJQUVDLGNBQWEsRUFBQTtBQUtoQjtFQUNDLGNBQWEsRUFBQTtBQUdkO0VoQmpKWSxlQUFjLEVBQUE7QWdCdUozQjtFQUNDLHNCQUE2QjtFQUM3QixzQkFBcUI7RUFDckIsZUFBYztFQUNkLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsVUFBUyxFQUFBO0VBRVQ7SUFDQyxjQUFhLEVBQUE7O0FBS2hCO0V6Q3RDRSw2QkFBK0I7RUR2RTlCLGFBSnlDO0VBS3pDLGNBSjJDLEVBQUE7RWhCOEc1QztJaUJwQ0EsNkJBQStCO0lEdkU5QixhQUp5QztJQUt6QyxjQUoyQyxFQUFBO0VoQjhHNUM7SWlCcENBLDZCQUErQjtJRHZFOUIsYUFKeUM7SUFLekMsY0FKMkMsRUFBQTs7QTJDM0Q5QztFQUNDLDBCcENJcUQsRUFBQTs7QWxCNElwRDtFc0QzSUQ7SUFFRSxrQkFBaUIsRUFBQSxFQUFBO0FBSW5CO0VsQnVFRyx1QmtCckVtQixFQUFBO0V0RG1JckI7SXNEcklEO01sQnVFRyxrQmtCbkVGLEVBQUEsRUFBQTtFQUVBO0lBQ0MsZ0JBQWUsRUFBQTtBQUlqQjtFQUNDLGlCQUFnQixFQUFBO0VBRWhCO0lBQ0Msb0JBQW1CLEVBQUE7RUFHcEI7SUFDQyxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBQUE7QUFJZjtFQUNDLG9CQUFtQixFQUFBO0FBSW5CO0VBQ0MscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtFQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix3QkFBMkI7RUFBM0Isb0NBQTJCO01BQTNCLHFCQUEyQjtVQUEzQiw0QkFBMkIsRUFBQTtFQUUzQjtJQUNDLGdCQUFlLEVBQUE7QUFJakI7RWxCaUNFLHFCa0IvQlc7RUFJWixlQUFjLEVBQUE7RXREeUZmO0lzRC9GQTtNbEJpQ0UscUJrQjlCVyxFQUFBLEVBQUE7QUFPZDtFQUlJLGtCQzlCMkIsRUFBQTtFdkQrRzlCO0lzRHJGRDtNQUlJLGtCQzlCMkIsRUFBQSxFQUFBO0FEb0MvQjtFMUMrREMsNkJBQStCO0VEdkU5QixhQUp5QztFQUt6QyxjQUoyQztFMkNhNUMsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxTQUFRLEVBQUE7RXREdUVSO0lzRDNFRDtNMUMrREMsNkJBQStCO01EdkU5QixhQUp5QztNQUt6QyxjQUoyQyxFQUFBLEVBQUE7QTJDa0I3QztFQUNDLGNBQWEsRUFBQSIsImZpbGUiOiJzdHlsZXMuYnVpbHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmxvYWRpbmctc3Bpbm5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbjogOGVtIGF1dG87IH1cblxuLmxvYWRpbmcgPiAubG9hZGluZy1zcGlubmVyLFxuLmxvYWRpbmcgKyAubG9hZGluZy1zcGlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxvYWRpbmcgPiAqIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubG9hZGluZyB+ICNhYy1nbG9iYWxmb290ZXIgLmFjLWdmLXNvc3VtaSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2FjLWdsb2JhbGZvb3RlciAuYWMtZ2YtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4uZHJvcGRvd24ubG9hZGluZzo6YmVmb3JlLFxuLmRyb3Bkb3duLmxvYWRpbmc6OmFmdGVyLFxuLmRyb3Bkb3duLmxvYWRpbmcgLnNlbGVjdGVkOjpiZWZvcmUsXG4uZHJvcGRvd24ubG9hZGluZyAuc2VsZWN0ZWQ6OmFmdGVyLFxuLmRyb3Bkb3duLmxvYWRpbmcgLmRlZmF1bHQ6OmJlZm9yZSxcbi5kcm9wZG93bi5sb2FkaW5nIC5kZWZhdWx0OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi5kcm9wZG93bi1sb2FkaW5nLXNwaW5uZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvY3MvaXJlc2VydmUvaW1hZ2VzL3NwaW5uZXJfMnguZ2lmXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHRvcDogOXB4O1xuICByaWdodDogNzJweDsgfVxuXG5zZWxlY3QubG9hZGluZy1zZWxlY3QgKyAuaWNvbi1jaGV2cm9uZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IHVybChcIi9jcy9pcmVzZXJ2ZS9pbWFnZXMvc3Bpbm5lcl8yeC5naWZcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgdG9wOiA0cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDA7IH1cbnNlbGVjdC5sb2FkaW5nLXNlbGVjdCArIC5pY29uLWNoZXZyb25kb3duOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0OyB9XG5zZWxlY3QubG9hZGluZy1zZWxlY3QgKyAuaWNvbi1jaGV2cm9uZG93bi5mYWRlLWluOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5zZWxlY3QubG9hZGluZy1zZWxlY3QgKyAuaWNvbi1jaGV2cm9uZG93bi5mYWRlLWluOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7IH1cbnNlbGVjdC5sb2FkaW5nLXNlbGVjdCArIC5pY29uLWNoZXZyb25kb3duLmZhZGUtb3V0OjpiZWZvcmUge1xuICBvcGFjaXR5OiAwOyB9XG5zZWxlY3QubG9hZGluZy1zZWxlY3QgKyAuaWNvbi1jaGV2cm9uZG93bi5mYWRlLW91dDo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRyb3Bkb3duLWxvYWRpbmctc3Bpbm5lciB7XG4gICAgcmlnaHQ6IDdweDsgfSB9XG4ud2l0aC1mYWRlIHtcbiAgb3BhY2l0eTogMDsgfVxuICAud2l0aC1mYWRlLmZhZGUtaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLndpdGgtZmFkZS5mYWRlLW91dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDsgfVxuXG4uaXBwIC5pcy1ub3QtaXBwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLmlwcCAuaXMtaXBwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbi5pcHAgc3Bhbi5pcy1pcHAge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbi5pcHAgbGkuaXMtaXBwIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi5pcy1pcHAsXG4udG9kYXkgLmlzLXByZW9yZGVyLFxuLnByZW9yZGVyIC5pcy10b2RheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnVsLFxub2wsXG5saSxcbmRsLFxuZHQsXG5kZCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmhncm91cCxcbnAsXG5ibG9ja3F1b3RlLFxuZmlndXJlLFxuZm9ybSxcbmZpZWxkc2V0LFxuaW5wdXQsXG5sZWdlbmQsXG5wcmUsXG5hYmJyLFxuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnByZSxcbmNvZGUsXG5hZGRyZXNzLFxuY2FwdGlvbixcbnRoLFxuZmlnY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuZmllbGRzZXQsXG5pZnJhbWUsXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuY2FwdGlvbixcbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbm1haW4sXG5zZWN0aW9uLFxuc3VtbWFyeSxcbmRldGFpbHMsXG5oZ3JvdXAsXG5maWd1cmUsXG5maWdjYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG52aWRlbyxcbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgfVxuICBidXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5hOmZvY3VzLCAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZTpmb2N1cyxcbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMsXG5idXR0b246Zm9jdXMsXG5bdGFiaW5kZXhdOmZvY3VzIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkICNjMWUwZmU7XG4gIG91dGxpbmU6IDNweCBzb2xpZCByZ2JhKDEzMSwgMTkyLCAyNTMsIDAuNSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbiAgYTpmb2N1c1tkYXRhLWZvY3VzLW1ldGhvZD1cIm1vdXNlXCJdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTpub3Qoc2VsZWN0KSwgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmU6Zm9jdXNbZGF0YS1mb2N1cy1tZXRob2Q9XCJtb3VzZVwiXTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6bm90KHNlbGVjdCksIGE6Zm9jdXNbZGF0YS1mb2N1cy1tZXRob2Q9XCJ0b3VjaFwiXTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6bm90KHNlbGVjdCksIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwidG91Y2hcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLFxuICBpbnB1dDpmb2N1c1tkYXRhLWZvY3VzLW1ldGhvZD1cIm1vdXNlXCJdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTpub3Qoc2VsZWN0KSxcbiAgaW5wdXQ6Zm9jdXNbZGF0YS1mb2N1cy1tZXRob2Q9XCJ0b3VjaFwiXTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6bm90KHNlbGVjdCksXG4gIHRleHRhcmVhOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwibW91c2VcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLFxuICB0ZXh0YXJlYTpmb2N1c1tkYXRhLWZvY3VzLW1ldGhvZD1cInRvdWNoXCJdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTpub3Qoc2VsZWN0KSxcbiAgc2VsZWN0OmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwibW91c2VcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLFxuICBzZWxlY3Q6Zm9jdXNbZGF0YS1mb2N1cy1tZXRob2Q9XCJ0b3VjaFwiXTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6bm90KHNlbGVjdCksXG4gIGJ1dHRvbjpmb2N1c1tkYXRhLWZvY3VzLW1ldGhvZD1cIm1vdXNlXCJdOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTpub3Qoc2VsZWN0KSxcbiAgYnV0dG9uOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwidG91Y2hcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLFxuICBbdGFiaW5kZXhdOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwibW91c2VcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLFxuICBbdGFiaW5kZXhdOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwidG91Y2hcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5hOjotbW96LWZvY3VzLWlubmVyLCAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZTo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyLFxudGV4dGFyZWE6Oi1tb3otZm9jdXMtaW5uZXIsXG5zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIsXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdGFiaW5kZXhdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGJvZHksXG4gICNtYWluLFxuICAjY29udGVudCB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuICBhLCAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSxcbiAgYTpsaW5rLFxuICAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZTpsaW5rLFxuICBhOnZpc2l0ZWQsXG4gIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4gICNnbG9iYWxoZWFkZXIsXG4gICNnbG9iYWxmb290ZXIsXG4gICNkaXJlY3RvcnluYXYsXG4gICN0YWJzLFxuICAubm9wcmludCxcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExMi41JTtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCI7IH1cblxuOmxhbmcoYXIpIHtcbiAgZm9udC1mYW1pbHk6IFwiR3VsZlwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG46bGFuZyhqYS1KUCkge1xuICBmb250LWZhbWlseTogXCJBcHBsZSBUUFwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG5cbjpsYW5nKGtvLUtSKSB7XG4gIGZvbnQtZmFtaWx5OiBcIllvb24gR290aGljXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW1Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cblxuOmxhbmcodGgtVEgpIHtcbiAgZm9udC1mYW1pbHk6IFwiU3VraHVtdml0IFNldFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG46bGFuZyh6aC1DTikge1xuICBmb250LWZhbWlseTogXCJIYW5IZWkgU0NcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cblxuOmxhbmcoemgtSEspIHtcbiAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG5cbjpsYW5nKHpoLU1PKSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQ1wiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG46bGFuZyh6aC1UVykge1xuICBmb250LWZhbWlseTogXCJIYW5IZWkgVENcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cblxuOmxhbmcoZGUpIHtcbiAgcXVvdGVzOiBcIuKAnlwiIFwi4oCcXCI7IH1cblxuOmxhbmcoZnIpIHtcbiAgcXVvdGVzOiBcIsKrwqBcIiBcIsKgwrtcIjsgfVxuXG46bGFuZyhlcy1FUykge1xuICBxdW90ZXM6IFwiwqtcIiBcIsK7XCI7IH1cblxuOmxhbmcoamEtSlApIHtcbiAgcXVvdGVzOiBcIuOAjFwiIFwi44CNXCI7IH1cblxuOmxhbmcobm8tTk8pIHtcbiAgcXVvdGVzOiBcIsKrXCIgXCLCu1wiOyB9XG5cbjpsYW5nKHpoKSB7XG4gIHF1b3RlczogXCLjgIxcIiBcIuOAjVwiOyB9XG5cbjpsYW5nKHpoLUNOKSB7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiOyB9XG5cbmJvZHkge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0NDY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gIGJvZHk6bGFuZyh6aCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5ib2R5LFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCxcbmJ1dHRvbiB7XG4gIGZvbnQtc3ludGhlc2lzOiBub25lO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJywgJ2tlcm4nO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBib2R5OmxhbmcodHItVFIpLFxuICBpbnB1dDpsYW5nKHRyLVRSKSxcbiAgdGV4dGFyZWE6bGFuZyh0ci1UUiksXG4gIHNlbGVjdDpsYW5nKHRyLVRSKSxcbiAgYnV0dG9uOmxhbmcodHItVFIpIHtcbiAgICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzO1xuICAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiAna2Vybic7IH1cblxuYSwgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUge1xuICBjb2xvcjogIzAwNzBjOTsgfVxuICBhOmxpbmssIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlOmxpbmssIGE6dmlzaXRlZCwgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmU6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhOmFjdGl2ZSwgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmU6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwIDAgMC40NWVtIDA7IH1cbiAgaDEgaW1nLFxuICBoMiBpbWcsXG4gIGgzIGltZyxcbiAgaDQgaW1nLFxuICBoNSBpbWcsXG4gIGg2IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIGIgaHRtbC5pZTggYiwgaHRtbC5pZTggYiBiLCBiIGh0bWwuaWU4IHN0cm9uZywgaHRtbC5pZTggYiBzdHJvbmcsXG4gIHN0cm9uZyBodG1sLmllOCBiLFxuICBodG1sLmllOCBzdHJvbmcgYixcbiAgc3Ryb25nIGh0bWwuaWU4IHN0cm9uZyxcbiAgaHRtbC5pZTggc3Ryb25nIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFNldCBQcm8gNzAwXCIsIFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgaHRtbC5pZTggYiwgaHRtbC5pZTggc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIGI6bGFuZyhhcikgaHRtbC5pZTggYjpsYW5nKGFyKSwgaHRtbC5pZTggYjpsYW5nKGFyKSBiOmxhbmcoYXIpLCBiOmxhbmcoYXIpIGh0bWwuaWU4IHN0cm9uZzpsYW5nKGFyKSwgaHRtbC5pZTggYjpsYW5nKGFyKSBzdHJvbmc6bGFuZyhhciksXG4gIHN0cm9uZzpsYW5nKGFyKSBodG1sLmllOCBiOmxhbmcoYXIpLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyhhcikgYjpsYW5nKGFyKSxcbiAgc3Ryb25nOmxhbmcoYXIpIGh0bWwuaWU4IHN0cm9uZzpsYW5nKGFyKSxcbiAgaHRtbC5pZTggc3Ryb25nOmxhbmcoYXIpIHN0cm9uZzpsYW5nKGFyKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR3VsZiA3MDBcIiwgXCJHdWxmXCIsIFwiTXlyaWFkIFNldCBQcm8gNzAwXCIsIFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIGI6bGFuZyhqYS1KUCkgaHRtbC5pZTggYjpsYW5nKGphLUpQKSwgaHRtbC5pZTggYjpsYW5nKGphLUpQKSBiOmxhbmcoamEtSlApLCBiOmxhbmcoamEtSlApIGh0bWwuaWU4IHN0cm9uZzpsYW5nKGphLUpQKSwgaHRtbC5pZTggYjpsYW5nKGphLUpQKSBzdHJvbmc6bGFuZyhqYS1KUCksXG4gIHN0cm9uZzpsYW5nKGphLUpQKSBodG1sLmllOCBiOmxhbmcoamEtSlApLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyhqYS1KUCkgYjpsYW5nKGphLUpQKSxcbiAgc3Ryb25nOmxhbmcoamEtSlApIGh0bWwuaWU4IHN0cm9uZzpsYW5nKGphLUpQKSxcbiAgaHRtbC5pZTggc3Ryb25nOmxhbmcoamEtSlApIHN0cm9uZzpsYW5nKGphLUpQKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgVFAgNzAwXCIsIFwiQXBwbGUgVFBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICBiOmxhbmcoa28tS1IpIGh0bWwuaWU4IGI6bGFuZyhrby1LUiksIGh0bWwuaWU4IGI6bGFuZyhrby1LUikgYjpsYW5nKGtvLUtSKSwgYjpsYW5nKGtvLUtSKSBodG1sLmllOCBzdHJvbmc6bGFuZyhrby1LUiksIGh0bWwuaWU4IGI6bGFuZyhrby1LUikgc3Ryb25nOmxhbmcoa28tS1IpLFxuICBzdHJvbmc6bGFuZyhrby1LUikgaHRtbC5pZTggYjpsYW5nKGtvLUtSKSxcbiAgaHRtbC5pZTggc3Ryb25nOmxhbmcoa28tS1IpIGI6bGFuZyhrby1LUiksXG4gIHN0cm9uZzpsYW5nKGtvLUtSKSBodG1sLmllOCBzdHJvbmc6bGFuZyhrby1LUiksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKGtvLUtSKSBzdHJvbmc6bGFuZyhrby1LUikge1xuICAgIGZvbnQtZmFtaWx5OiBcIllvb24gR290aGljIDcwMFwiLCBcIllvb24gR290aGljXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW1Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgYjpsYW5nKHRoLVRIKSBodG1sLmllOCBiOmxhbmcodGgtVEgpLCBodG1sLmllOCBiOmxhbmcodGgtVEgpIGI6bGFuZyh0aC1USCksIGI6bGFuZyh0aC1USCkgaHRtbC5pZTggc3Ryb25nOmxhbmcodGgtVEgpLCBodG1sLmllOCBiOmxhbmcodGgtVEgpIHN0cm9uZzpsYW5nKHRoLVRIKSxcbiAgc3Ryb25nOmxhbmcodGgtVEgpIGh0bWwuaWU4IGI6bGFuZyh0aC1USCksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKHRoLVRIKSBiOmxhbmcodGgtVEgpLFxuICBzdHJvbmc6bGFuZyh0aC1USCkgaHRtbC5pZTggc3Ryb25nOmxhbmcodGgtVEgpLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyh0aC1USCkgc3Ryb25nOmxhbmcodGgtVEgpIHtcbiAgICBmb250LWZhbWlseTogXCJTdWtodW12aXQgU2V0IDcwMFwiLCBcIlN1a2h1bXZpdCBTZXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgYjpsYW5nKHpoLUNOKSBodG1sLmllOCBiOmxhbmcoemgtQ04pLCBodG1sLmllOCBiOmxhbmcoemgtQ04pIGI6bGFuZyh6aC1DTiksIGI6bGFuZyh6aC1DTikgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtQ04pLCBodG1sLmllOCBiOmxhbmcoemgtQ04pIHN0cm9uZzpsYW5nKHpoLUNOKSxcbiAgc3Ryb25nOmxhbmcoemgtQ04pIGh0bWwuaWU4IGI6bGFuZyh6aC1DTiksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKHpoLUNOKSBiOmxhbmcoemgtQ04pLFxuICBzdHJvbmc6bGFuZyh6aC1DTikgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtQ04pLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyh6aC1DTikgc3Ryb25nOmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0MgNzAwXCIsIFwiSGFuSGVpIFNDXCIsIFwiUGluZ0hlaSA3MDBcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgYjpsYW5nKHpoLUhLKSBodG1sLmllOCBiOmxhbmcoemgtSEspLCBodG1sLmllOCBiOmxhbmcoemgtSEspIGI6bGFuZyh6aC1ISyksIGI6bGFuZyh6aC1ISykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtSEspLCBodG1sLmllOCBiOmxhbmcoemgtSEspIHN0cm9uZzpsYW5nKHpoLUhLKSxcbiAgc3Ryb25nOmxhbmcoemgtSEspIGh0bWwuaWU4IGI6bGFuZyh6aC1ISyksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKHpoLUhLKSBiOmxhbmcoemgtSEspLFxuICBzdHJvbmc6bGFuZyh6aC1ISykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtSEspLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyh6aC1ISykgc3Ryb25nOmxhbmcoemgtSEspIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgNzAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSA3MDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgYjpsYW5nKHpoLU1PKSBodG1sLmllOCBiOmxhbmcoemgtTU8pLCBodG1sLmllOCBiOmxhbmcoemgtTU8pIGI6bGFuZyh6aC1NTyksIGI6bGFuZyh6aC1NTykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtTU8pLCBodG1sLmllOCBiOmxhbmcoemgtTU8pIHN0cm9uZzpsYW5nKHpoLU1PKSxcbiAgc3Ryb25nOmxhbmcoemgtTU8pIGh0bWwuaWU4IGI6bGFuZyh6aC1NTyksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKHpoLU1PKSBiOmxhbmcoemgtTU8pLFxuICBzdHJvbmc6bGFuZyh6aC1NTykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtTU8pLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyh6aC1NTykgc3Ryb25nOmxhbmcoemgtTU8pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgNzAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSA3MDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgYjpsYW5nKHpoLVRXKSBodG1sLmllOCBiOmxhbmcoemgtVFcpLCBodG1sLmllOCBiOmxhbmcoemgtVFcpIGI6bGFuZyh6aC1UVyksIGI6bGFuZyh6aC1UVykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtVFcpLCBodG1sLmllOCBiOmxhbmcoemgtVFcpIHN0cm9uZzpsYW5nKHpoLVRXKSxcbiAgc3Ryb25nOmxhbmcoemgtVFcpIGh0bWwuaWU4IGI6bGFuZyh6aC1UVyksXG4gIGh0bWwuaWU4IHN0cm9uZzpsYW5nKHpoLVRXKSBiOmxhbmcoemgtVFcpLFxuICBzdHJvbmc6bGFuZyh6aC1UVykgaHRtbC5pZTggc3Ryb25nOmxhbmcoemgtVFcpLFxuICBodG1sLmllOCBzdHJvbmc6bGFuZyh6aC1UVykgc3Ryb25nOmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgNzAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSA3MDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cblxuZW0sXG5pLFxuY2l0ZSxcbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBlbSA6bGFuZyhqYSksXG4gIGVtIDpsYW5nKGtvKSxcbiAgZW0gOmxhbmcodGgpLFxuICBlbSA6bGFuZyh6aCksXG4gIGkgOmxhbmcoamEpLFxuICBpIDpsYW5nKGtvKSxcbiAgaSA6bGFuZyh0aCksXG4gIGkgOmxhbmcoemgpLFxuICBjaXRlIDpsYW5nKGphKSxcbiAgY2l0ZSA6bGFuZyhrbyksXG4gIGNpdGUgOmxhbmcodGgpLFxuICBjaXRlIDpsYW5nKHpoKSxcbiAgZGZuIDpsYW5nKGphKSxcbiAgZGZuIDpsYW5nKGtvKSxcbiAgZGZuIDpsYW5nKHRoKSxcbiAgZGZuIDpsYW5nKHpoKSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxZW0gMDsgfVxuXG5saSBsaSB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDFlbSAwIDFlbSAxLjExMTExZW07IH1cbiAgdWwgdWwsXG4gIHVsIG9sLFxuICBvbCB1bCxcbiAgb2wgb2wge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBuYXYgdWwsIG5hdlxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cblxuc3VwIHtcbiAgZm9udC1zaXplOiAuNmVtO1xuICBvcGFjaXR5OiAuODtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IC0uMmVtOyB9XG4gIGgxIHN1cCwgaDIgc3VwLCBoMyBzdXAge1xuICAgIGZvbnQtc2l6ZTogLjRlbTsgfVxuICBodG1sLmllOCBoNCBzdXAsIGh0bWwuaWU4IGg1IHN1cCwgaHRtbC5pZTggaDYgc3VwIHtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgc3VwIGEsIHN1cCAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gc3VwIGJ1dHRvbi5tb3JlIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgIHN1cCBhOmhvdmVyLCBzdXAgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmU6aG92ZXIsIC5wYWdlLXJlc2VydmF0aW9uIHN1cCBidXR0b24ubW9yZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwNzBjOTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5zdWIge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5hYmJyIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zZWxmY2xlYXI6YmVmb3JlLCAuc2VsZmNsZWFyOmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuLnNlbGZjbGVhcjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi52aXN1YWxseWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoMHB4IDBweCA5OS45JSA5OS45JSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLmltYWdlcmVwbGFjZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5ub3dyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4jdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cblxuLmN1cnNvci1ncmFiIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmN1cnNvci1ncmFiYmluZyB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4ucm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmNvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLWhlaWdodDogMnB4OyB9XG5cbi5sYXJnZS1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5sYXJnZS1wdXNoLTAsIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAucHJvZHVjdC10b3AuaGlkZGVuIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmxhcmdlLXB1bGwtMCwgLnBhZ2UtY2hlY2stYXZhaWxhYmlsaXR5IC5wcm9kdWN0LXRvcC5oaWRkZW4gKyAuY29sdW1uIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cblxuLmxhcmdlLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMyNSU7IH1cblxuLmxhcmdlLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzI1JTsgfVxuXG4ubGFyZ2UtcHVzaC0xIHtcbiAgbGVmdDogOC4zMzMzMyU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTEge1xuICByaWdodDogOC4zMzMzMyU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmxhcmdlLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjUlOyB9XG5cbi5sYXJnZS1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjUlOyB9XG5cbi5sYXJnZS1wdXNoLTIge1xuICBsZWZ0OiAxNi42NjY2NyU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTIge1xuICByaWdodDogMTYuNjY2NjclO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5sYXJnZS0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuICBodG1sLmllOCAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI0Ljk3NSU7IH1cblxuLmxhcmdlLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICBodG1sLmllOCAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNC45NzUlOyB9XG5cbi5sYXJnZS1wdXNoLTMge1xuICBsZWZ0OiAyNSU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTMge1xuICByaWdodDogMjUlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5sYXJnZS00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICBodG1sLmllOCAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMlOyB9XG5cbi5sYXJnZS1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMyU7IH1cblxuLmxhcmdlLXB1c2gtNCB7XG4gIGxlZnQ6IDMzLjMzMzMzJTtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmxhcmdlLXB1bGwtNCB7XG4gIHJpZ2h0OiAzMy4zMzMzMyU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmxhcmdlLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjI1JTsgfVxuXG4ubGFyZ2Utb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjYyNSU7IH1cblxuLmxhcmdlLXB1c2gtNSB7XG4gIGxlZnQ6IDQxLjY2NjY3JTtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmxhcmdlLXB1bGwtNSB7XG4gIHJpZ2h0OiA0MS42NjY2NyU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmxhcmdlLTYge1xuICB3aWR0aDogNTAlOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNDkuOTUlOyB9XG5cbi5sYXJnZS1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNDkuOTUlOyB9XG5cbi5sYXJnZS1wdXNoLTYsIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAucHJvZHVjdC10b3Age1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTYsIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAucHJvZHVjdC10b3AgKyAuY29sdW1uIHtcbiAgcmlnaHQ6IDUwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGFyZ2UtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4yNzUlOyB9XG5cbi5sYXJnZS1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMjc1JTsgfVxuXG4ubGFyZ2UtcHVzaC03IHtcbiAgbGVmdDogNTguMzMzMzMlO1xuICByaWdodDogYXV0bzsgfVxuXG4ubGFyZ2UtcHVsbC03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGFyZ2UtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42JTsgfVxuXG4ubGFyZ2Utb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjYlOyB9XG5cbi5sYXJnZS1wdXNoLTgge1xuICBsZWZ0OiA2Ni42NjY2NyU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTgge1xuICByaWdodDogNjYuNjY2NjclO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5sYXJnZS05IHtcbiAgd2lkdGg6IDc1JTsgfVxuICBodG1sLmllOCAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc0LjkyNSU7IH1cblxuLmxhcmdlLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICBodG1sLmllOCAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NC45MjUlOyB9XG5cbi5sYXJnZS1wdXNoLTkge1xuICBsZWZ0OiA3NSU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTkge1xuICByaWdodDogNzUlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5sYXJnZS0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMjUlOyB9XG5cbi5sYXJnZS1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4yNSU7IH1cblxuLmxhcmdlLXB1c2gtMTAge1xuICBsZWZ0OiA4My4zMzMzMyU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTEwIHtcbiAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGFyZ2UtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIGh0bWwuaWU4IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjU3NSU7IH1cblxuLmxhcmdlLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjU3NSU7IH1cblxuLmxhcmdlLXB1c2gtMTEge1xuICBsZWZ0OiA5MS42NjY2NyU7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS1wdWxsLTExIHtcbiAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGFyZ2UtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuICBodG1sLmllOCAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA5OS45JTsgfVxuXG4ubGFyZ2Utb2Zmc2V0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgaHRtbC5pZTggLmxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDk5LjklOyB9XG5cbi5sYXJnZS1wdXNoLTEyIHtcbiAgbGVmdDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLmxhcmdlLXB1bGwtMTIge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubGFyZ2UtY2VudGVyZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBmbG9hdDogbm9uZTsgfVxuXG4ubGFyZ2UtdW5jZW50ZXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmxhcmdlLWxhc3Qge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmxhcmdlLW5vdGxhc3Qge1xuICBmbG9hdDogbGVmdDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDJweCkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4gIC54bGFyZ2UtcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4gIC54bGFyZ2UtcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuICAueGxhcmdlLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuICAueGxhcmdlLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuICAueGxhcmdlLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuICAueGxhcmdlLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuICAueGxhcmdlLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuICAueGxhcmdlLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuICAueGxhcmdlLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuXG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuICAueGxhcmdlLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4gIC54bGFyZ2UtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuICAueGxhcmdlLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC54bGFyZ2UtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICAueGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cblxuICAueGxhcmdlLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAueGxhcmdlLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAueGxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuICAueGxhcmdlLXVuY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gIC54bGFyZ2UtbGFzdCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiAgLnhsYXJnZS1ub3RsYXN0IHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4gIC5tZWRpdW0tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuXG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuICAubWVkaXVtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cblxuICAubWVkaXVtLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAubWVkaXVtLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuICAubWVkaXVtLXVuY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gIC5tZWRpdW0tbGFzdCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiAgLm1lZGl1bS1ub3RsYXN0IHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuICAuc21hbGwtcHVzaC0wLCAucGFnZS1jaGVjay1hdmFpbGFiaWxpdHkgLnByb2R1Y3QtdG9wLnNtYWxsLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5zbWFsbC1wdWxsLTAsIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAucHJvZHVjdC10b3Auc21hbGwtcHVzaC0wICsgLnNtYWxsLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cblxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4gIC5zbWFsbC1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5zbWFsbC1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG5cbiAgLnNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbiAgLnNtYWxsLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuICAuc21hbGwtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuICAuc21hbGwtcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAuc21hbGwtcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5zbWFsbC1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG5cbiAgLnNtYWxsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbiAgLnNtYWxsLXB1c2gtNiB7XG4gICAgbGVmdDogNTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuICAuc21hbGwtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuICAuc21hbGwtcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAuc21hbGwtcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMlO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuICAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTtcbiAgICByaWdodDogYXV0bzsgfVxuXG4gIC5zbWFsbC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG5cbiAgLnNtYWxsLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbiAgLnNtYWxsLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbiAgLnNtYWxsLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4gIC5zbWFsbC1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAuc21hbGwtcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbiAgLnNtYWxsLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4gIC5zbWFsbC1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAuc21hbGwtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTtcbiAgICBsZWZ0OiBhdXRvOyB9XG5cbiAgLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4gIC5zbWFsbC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG5cbiAgLnNtYWxsLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuICAuc21hbGwtcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuXG4gIC5zbWFsbC1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG5cbiAgLnNtYWxsLXVuY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4gIC5zbWFsbC1sYXN0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuICAuc21hbGwtbm90bGFzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuLmljb246YmVmb3JlLCAuaWNvbjphZnRlcixcbi5tb3JlOmJlZm9yZSxcbi5tb3JlOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiQXBwbGUgSWNvbnNcIjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYWx0OiAnJzsgfVxuLmljb246YmVmb3JlLCAuaWNvbjphZnRlcixcbi5tb3JlOmJlZm9yZSxcbi5tb3JlOmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4uaWNvbjpiZWZvcmUsXG4ubW9yZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pY29uLWFmdGVyOmFmdGVyLFxuLm1vcmU6YWZ0ZXIge1xuICBwYWRkaW5nLWxlZnQ6IDAuM2VtO1xuICB0b3A6IDA7IH1cblxuLmljb24tYmVmb3JlOmJlZm9yZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuM2VtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogLTAuMTI1ZW07IH1cbi5pY29uLWJlZm9yZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmljb24tYXBwbGU6YmVmb3JlLCAuaWNvbi1hcHBsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi76O/XCI7IH1cbi5pY29uLWNoZXZyb25kb3duOmJlZm9yZSwgLmljb24tY2hldnJvbmRvd246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AgFwiOyB9XG4uaWNvbi1jaGV2cm9uZG93bmNpcmNsZTpiZWZvcmUsIC5pY29uLWNoZXZyb25kb3duY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgIFcIjsgfVxuLmljb24tY2hldnJvbmxlZnQ6YmVmb3JlLCAuaWNvbi1jaGV2cm9ubGVmdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CCXCI7IH1cbi5pY29uLWNoZXZyb25sZWZ0Y2lyY2xlOmJlZm9yZSwgLmljb24tY2hldnJvbmxlZnRjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AhVwiOyB9XG4uaWNvbi1jaGV2cm9ucmlnaHQ6YmVmb3JlLCAuaWNvbi1jaGV2cm9ucmlnaHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AhFwiOyB9XG4uaWNvbi1jaGV2cm9ucmlnaHRjaXJjbGU6YmVmb3JlLCAuaWNvbi1jaGV2cm9ucmlnaHRjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Ag1wiOyB9XG4uaWNvbi1jaGV2cm9udXA6YmVmb3JlLCAuaWNvbi1jaGV2cm9udXA6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AhlwiOyB9XG4uaWNvbi1jaGV2cm9udXBjaXJjbGU6YmVmb3JlLCAuaWNvbi1jaGV2cm9udXBjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Ah1wiOyB9XG4uaWNvbi1kb3dubG9hZGNpcmNsZTpiZWZvcmUsIC5pY29uLWRvd25sb2FkY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgJBcIjsgfVxuLmljb24tZG93bmxvYWRzb2xpZDpiZWZvcmUsIC5pY29uLWRvd25sb2Fkc29saWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AkVwiOyB9XG4uaWNvbi1leHRlcm5hbDpiZWZvcmUsIC5pY29uLWV4dGVybmFsOmFmdGVyIHtcbiAgY29udGVudDogXCLvgJJcIjsgfVxuLmljb24tZ3JpZDpiZWZvcmUsIC5pY29uLWdyaWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+ApVwiOyB9XG4uaWNvbi1saXN0Y2lyY2xlOmJlZm9yZSwgLmljb24tbGlzdGNpcmNsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CUXCI7IH1cbi5pY29uLXBhdXNlY2lyY2xlOmJlZm9yZSwgLmljb24tcGF1c2VjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AmVwiOyB9XG4uaWNvbi1wbGF5Y2lyY2xlOmJlZm9yZSwgLmljb24tcGxheWNpcmNsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CgXCI7IH1cbi5pY29uLXBsYXlzb2xpZDpiZWZvcmUsIC5pY29uLXBsYXlzb2xpZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74ChXCI7IH1cbi5pY29uLXJlcGxheTpiZWZvcmUsIC5pY29uLXJlcGxheTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CiXCI7IH1cbi5pY29uLXJlcGxheWNpcmNsZTpiZWZvcmUsIC5pY29uLXJlcGxheWNpcmNsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CpXCI7IH1cbi5pY29uLXN0b3BjaXJjbGU6YmVmb3JlLCAuaWNvbi1zdG9wY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgKdcIjsgfVxuLmljb24tc3RvcHNvbGlkOmJlZm9yZSwgLmljb24tc3RvcHNvbGlkOmFmdGVyIHtcbiAgY29udGVudDogXCLvgKhcIjsgfVxuLmljb24tZmF2b3JpdGU6YmVmb3JlLCAuaWNvbi1mYXZvcml0ZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GIXCI7IH1cbi5pY29uLXNoYXJlOmJlZm9yZSwgLmljb24tc2hhcmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+At1wiOyB9XG4uaWNvbi1mYWNlYm9vazpiZWZvcmUsIC5pY29uLWZhY2Vib29rOmFmdGVyIHtcbiAgY29udGVudDogXCLvgLBcIjsgfVxuLmljb24taW5zdGFncmFtOmJlZm9yZSwgLmljb24taW5zdGFncmFtOmFmdGVyIHtcbiAgY29udGVudDogXCLvgYFcIjsgfVxuLmljb24tbGluazpiZWZvcmUsIC5pY29uLWxpbms6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AsVwiOyB9XG4uaWNvbi1saW5rZWRpbjpiZWZvcmUsIC5pY29uLWxpbmtlZGluOmFmdGVyIHtcbiAgY29udGVudDogXCLvgYNcIjsgfVxuLmljb24tbWFpbDpiZWZvcmUsIC5pY29uLW1haWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AslwiOyB9XG4uaWNvbi1waW50ZXJlc3Q6YmVmb3JlLCAuaWNvbi1waW50ZXJlc3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+As1wiOyB9XG4uaWNvbi1xcXdlaWJvOmJlZm9yZSwgLmljb24tcXF3ZWlibzphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74C0XCI7IH1cbi5pY29uLXF6b25lOmJlZm9yZSwgLmljb24tcXpvbmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AtVwiOyB9XG4uaWNvbi1yZW5yZW46YmVmb3JlLCAuaWNvbi1yZW5yZW46YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AtlwiOyB9XG4uaWNvbi1zbmFwY2hhdDpiZWZvcmUsIC5pY29uLXNuYXBjaGF0OmFmdGVyIHtcbiAgY29udGVudDogXCLvgYRcIjsgfVxuLmljb24tdHVtYmxyOmJlZm9yZSwgLmljb24tdHVtYmxyOmFmdGVyIHtcbiAgY29udGVudDogXCLvgLhcIjsgfVxuLmljb24tdHdpdHRlcjpiZWZvcmUsIC5pY29uLXR3aXR0ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AuVwiOyB9XG4uaWNvbi13ZWlibzpiZWZvcmUsIC5pY29uLXdlaWJvOmFmdGVyIHtcbiAgY29udGVudDogXCLvgYBcIjsgfVxuLmljb24tY2lyY2xlOmJlZm9yZSwgLmljb24tY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZdcIjsgfVxuLmljb24tY2hlY2s6YmVmb3JlLCAuaWNvbi1jaGVjazphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GCXCI7IH1cbi5pY29uLWNoZWNrY2lyY2xlOmJlZm9yZSwgLmljb24tY2hlY2tjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AplwiOyB9XG4uaWNvbi1jaGVja3NvbGlkOmJlZm9yZSwgLmljb24tY2hlY2tzb2xpZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GYXCI7IH1cbi5pY29uLXJlc2V0OmJlZm9yZSwgLmljb24tcmVzZXQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+ApFwiOyB9XG4uaWNvbi1yZXNldGNpcmNsZTpiZWZvcmUsIC5pY29uLXJlc2V0Y2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgIhcIjsgfVxuLmljb24tcmVzZXRzb2xpZDpiZWZvcmUsIC5pY29uLXJlc2V0c29saWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BiVwiOyB9XG4uaWNvbi1leGNsYW1hdGlvbjpiZWZvcmUsIC5pY29uLWV4Y2xhbWF0aW9uOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZVcIjsgfVxuLmljb24tZXhjbGFtYXRpb25jaXJjbGU6YmVmb3JlLCAuaWNvbi1leGNsYW1hdGlvbmNpcmNsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GRXCI7IH1cbi5pY29uLWV4Y2xhbWF0aW9uc29saWQ6YmVmb3JlLCAuaWNvbi1leGNsYW1hdGlvbnNvbGlkOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZJcIjsgfVxuLmljb24taW5mb2NpcmNsZTpiZWZvcmUsIC5pY29uLWluZm9jaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Ak1wiOyB9XG4uaWNvbi1xdWVzdGlvbmNpcmNsZTpiZWZvcmUsIC5pY29uLXF1ZXN0aW9uY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZZcIjsgfVxuLmljb24tcXVlc3Rpb25zb2xpZDpiZWZvcmUsIC5pY29uLXF1ZXN0aW9uc29saWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Bk1wiOyB9XG4uaWNvbi1wbHVzOmJlZm9yZSwgLmljb24tcGx1czphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GFXCI7IH1cbi5pY29uLXBsdXNjaXJjbGU6YmVmb3JlLCAuaWNvbi1wbHVzY2lyY2xlOmFmdGVyIHtcbiAgY29udGVudDogXCLvgKNcIjsgfVxuLmljb24tcGx1c3NvbGlkOmJlZm9yZSwgLmljb24tcGx1c3NvbGlkOmFmdGVyIHtcbiAgY29udGVudDogXCLvgZRcIjsgfVxuLmljb24tbWludXM6YmVmb3JlLCAuaWNvbi1taW51czphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GHXCI7IH1cbi5pY29uLW1pbnVzY2lyY2xlOmJlZm9yZSwgLmljb24tbWludXNjaXJjbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BhlwiOyB9XG4uaWNvbi1taW51c3NvbGlkOmJlZm9yZSwgLmljb24tbWludXNzb2xpZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74GQXCI7IH1cbi5pY29uLWNsb3NlOmJlZm9yZSwgLmljb24tY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AiVwiOyB9XG4uaWNvbi1wYWRkbGVkb3duOmJlZm9yZSwgLmljb24tcGFkZGxlZG93bjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CVXCI7IH1cbi5pY29uLXBhZGRsZWxlZnQ6YmVmb3JlLCAuaWNvbi1wYWRkbGVsZWZ0OmFmdGVyIHtcbiAgY29udGVudDogXCLvgJZcIjsgfVxuLmljb24tcGFkZGxlcmlnaHQ6YmVmb3JlLCAuaWNvbi1wYWRkbGVyaWdodDphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CXXCI7IH1cbi5pY29uLXBhZGRsZXVwOmJlZm9yZSwgLmljb24tcGFkZGxldXA6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AmFwiOyB9XG5cbi5tb3JlOmJlZm9yZSwgLm1vcmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AhFwiOyB9XG4ubW9yZS1ibG9jayB7XG4gIG1hcmdpbi10b3A6IC41ZW07IH1cblxuYm9keSB7XG4gIG1pbi13aWR0aDogMzIwcHg7IH1cblxuLmxhcmdlLWhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5sYXJnZS1zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxhcmdlLXNob3ctaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5sYXJnZS1zaG93LWlubGluZWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MnB4KSB7XG4gIC54bGFyZ2UtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4gIC54bGFyZ2Utc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAueGxhcmdlLXNob3ctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuICAueGxhcmdlLXNob3ctaW5saW5lYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAubWVkaXVtLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAubWVkaXVtLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgLm1lZGl1bS1zaG93LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbiAgLm1lZGl1bS1zaG93LWlubGluZWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAuc21hbGwtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5zbWFsbC1zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4gIC5zbWFsbC1zaG93LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbiAgLnNtYWxsLXNob3ctaW5saW5lYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS45Mzc1O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBmb250LWZhbWlseTogXCJNeXJpYWQgU2V0IFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzBjOTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM0MmExZWMsICMwMDcwYzkpO1xuICBib3JkZXItY29sb3I6ICMwN2M7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmJ1dHRvbiBodG1sLmllOCAuYnV0dG9uLCBodG1sLmllOCAuYnV0dG9uIC5idXR0b24sIC5idXR0b24gaHRtbC5pZTggLmJ1dHRvbi1jb21wYWN0LCBodG1sLmllOCAuYnV0dG9uIC5idXR0b24tY29tcGFjdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFNldCBQcm8gNTAwXCIsIFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgaHRtbC5pZTggLmJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYnV0dG9uOmxhbmcoYXIpIGh0bWwuaWU4IC5idXR0b246bGFuZyhhciksIGh0bWwuaWU4IC5idXR0b246bGFuZyhhcikgLmJ1dHRvbjpsYW5nKGFyKSwgLmJ1dHRvbjpsYW5nKGFyKSBodG1sLmllOCAuYnV0dG9uLWNvbXBhY3Q6bGFuZyhhciksIGh0bWwuaWU4IC5idXR0b246bGFuZyhhcikgLmJ1dHRvbi1jb21wYWN0OmxhbmcoYXIpIHtcbiAgICBmb250LWZhbWlseTogXCJHdWxmIDUwMFwiLCBcIkd1bGZcIiwgXCJNeXJpYWQgU2V0IFBybyA1MDBcIiwgXCJNeXJpYWQgU2V0IFByb1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpsYW5nKGphLUpQKSBodG1sLmllOCAuYnV0dG9uOmxhbmcoamEtSlApLCBodG1sLmllOCAuYnV0dG9uOmxhbmcoamEtSlApIC5idXR0b246bGFuZyhqYS1KUCksIC5idXR0b246bGFuZyhqYS1KUCkgaHRtbC5pZTggLmJ1dHRvbi1jb21wYWN0OmxhbmcoamEtSlApLCBodG1sLmllOCAuYnV0dG9uOmxhbmcoamEtSlApIC5idXR0b24tY29tcGFjdDpsYW5nKGphLUpQKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgVFAgNTAwXCIsIFwiQXBwbGUgVFBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5idXR0b246bGFuZyhrby1LUiksIGh0bWwuaWU4IC5idXR0b246bGFuZyhrby1LUikgLmJ1dHRvbjpsYW5nKGtvLUtSKSwgLmJ1dHRvbjpsYW5nKGtvLUtSKSBodG1sLmllOCAuYnV0dG9uLWNvbXBhY3Q6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5idXR0b246bGFuZyhrby1LUikgLmJ1dHRvbi1jb21wYWN0Omxhbmcoa28tS1IpIHtcbiAgICBmb250LWZhbWlseTogXCJZb29uIEdvdGhpYyA1MDBcIiwgXCJZb29uIEdvdGhpY1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VtR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5idXR0b246bGFuZyh0aC1USCkgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHRoLVRIKSAuYnV0dG9uOmxhbmcodGgtVEgpLCAuYnV0dG9uOmxhbmcodGgtVEgpIGh0bWwuaWU4IC5idXR0b24tY29tcGFjdDpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHRoLVRIKSAuYnV0dG9uLWNvbXBhY3Q6bGFuZyh0aC1USCkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlN1a2h1bXZpdCBTZXQgNTAwXCIsIFwiU3VraHVtdml0IFNldFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1DTikgLmJ1dHRvbjpsYW5nKHpoLUNOKSwgLmJ1dHRvbjpsYW5nKHpoLUNOKSBodG1sLmllOCAuYnV0dG9uLWNvbXBhY3Q6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1DTikgLmJ1dHRvbi1jb21wYWN0OmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0MgNTAwXCIsIFwiSGFuSGVpIFNDXCIsIFwiUGluZ0hlaSA1MDBcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpsYW5nKHpoLUhLKSBodG1sLmllOCAuYnV0dG9uOmxhbmcoemgtSEspLCBodG1sLmllOCAuYnV0dG9uOmxhbmcoemgtSEspIC5idXR0b246bGFuZyh6aC1ISyksIC5idXR0b246bGFuZyh6aC1ISykgaHRtbC5pZTggLmJ1dHRvbi1jb21wYWN0OmxhbmcoemgtSEspLCBodG1sLmllOCAuYnV0dG9uOmxhbmcoemgtSEspIC5idXR0b24tY29tcGFjdDpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDIDUwMFwiLCBcIkhhbkhlaSBUQ1wiLCBcIk1IZWkgNTAwXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5idXR0b246bGFuZyh6aC1NTykgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHpoLU1PKSAuYnV0dG9uOmxhbmcoemgtTU8pLCAuYnV0dG9uOmxhbmcoemgtTU8pIGh0bWwuaWU4IC5idXR0b24tY29tcGFjdDpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLmJ1dHRvbjpsYW5nKHpoLU1PKSAuYnV0dG9uLWNvbXBhY3Q6bGFuZyh6aC1NTykge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQyA1MDBcIiwgXCJIYW5IZWkgVENcIiwgXCJNSGVpIDUwMFwiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1UVykgLmJ1dHRvbjpsYW5nKHpoLVRXKSwgLmJ1dHRvbjpsYW5nKHpoLVRXKSBodG1sLmllOCAuYnV0dG9uLWNvbXBhY3Q6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5idXR0b246bGFuZyh6aC1UVykgLmJ1dHRvbi1jb21wYWN0OmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgNTAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSA1MDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpsYW5nKGFyKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR3VsZlwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoamEtSlApIHtcbiAgICBmb250LWZhbWlseTogXCJBcHBsZSBUUFwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5idXR0b246bGFuZyhrby1LUikge1xuICAgIGZvbnQtZmFtaWx5OiBcIllvb24gR290aGljXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW1Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpsYW5nKHRoLVRIKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3VraHVtdml0IFNldFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0NcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5idXR0b246bGFuZyh6aC1NTykge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQ1wiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuYnV0dG9uOmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVENcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0N2JjZDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzUxYTllZSwgIzE0N2JjZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTQ4MmQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnV0dG9uOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMzEsIDE5MiwgMjUzLCAwLjUpO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuYnV0dG9uOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwibW91c2VcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpLCAuYnV0dG9uOmZvY3VzW2RhdGEtZm9jdXMtbWV0aG9kPVwidG91Y2hcIl06bm90KGlucHV0KTpub3QodGV4dGFyZWEpOm5vdChzZWxlY3QpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBodG1sLmllOCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAjYzFlMGZlOyB9XG4gIC5idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2N2I5O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjM2Q5NGQ5LCAjMDA2N2I5KTtcbiAgICBib3JkZXItY29sb3I6ICMwMDZkYmM7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuYnV0dG9uOmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MGM5O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNDJhMWVjLCAjMDA3MGM5KTtcbiAgICBib3JkZXItY29sb3I6ICMwN2M7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgICBodG1sLmllOCAuYnV0dG9uOmRpc2FibGVkLCBodG1sLmllOCAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZWY7IH1cblxuLmJ1dHRvbi1jb21wYWN0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40NjE1NDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgbWluLXdpZHRoOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgaHRtbC5pZTggLmJ1dHRvbi1jb21wYWN0IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5idXR0b24tY29tcGFjdDpsYW5nKGphLUpQKSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5idXR0b24tY29tcGFjdDpsYW5nKGtvLUtSKSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5idXR0b24tYmxvY2sge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlM2UzO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQod2hpdGUsICNlM2UzZTMpO1xuICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7XG4gIGNvbG9yOiAjMDA3MGM5OyB9XG4gIC5idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgI2VlZWVlZSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDlkOWQ5OyB9XG4gIC5idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2FpbnNib3JvO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjZjdmN2Y3LCBnYWluc2Jvcm8pO1xuICAgIGJvcmRlci1jb2xvcjogI2QwZDBkMDsgfVxuICAuYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCwgLmJ1dHRvbi1zZWNvbmRhcnkuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2UzZTM7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHdoaXRlLCAjZTNlM2UzKTtcbiAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7XG4gICAgY29sb3I6ICMwMDcwYzk7IH1cbiAgICBodG1sLmllOCAuYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCwgaHRtbC5pZTggLmJ1dHRvbi1zZWNvbmRhcnkuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuXG4uY2FsbG91dCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgbWFyZ2luOiAxLjExMTExZW0gYXV0bztcbiAgcGFkZGluZzogMS42NjY2N2VtIDQuNDQ0NDRlbTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LXRpdGxlIHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGUsIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlIC5jYWxsb3V0LXRpdGxlLCAuY2FsbG91dC10aXRsZSBodG1sLmllOCAuaW50cm8sIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlIC5pbnRybywgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMiwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZSBoMiwgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMywgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZSBoMywgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZSAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZSwgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLWhlYWRsaW5lLCBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGUgLnN1YnNlY3Rpb24taGVhZGxpbmUsIC5jYWxsb3V0LXRpdGxlIGh0bWwuaWU4IC52ZXJ0aWNhbC1kaXZpZGVyIGgyLCBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciAuY2FsbG91dC10aXRsZSBoMiwgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMiwgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSAuY2FsbG91dC10aXRsZSBoMiwgLmNhbGxvdXQtdGl0bGUgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgaDIsIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIC5jYWxsb3V0LXRpdGxlIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBTZXQgUHJvIDMwMFwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKGFyKSAuY2FsbG91dC10aXRsZTpsYW5nKGFyKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgaHRtbC5pZTggLmludHJvOmxhbmcoYXIpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKGFyKSAuaW50cm86bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyhhciksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgaDI6bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDM6bGFuZyhhciksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgaDM6bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyhhciksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKGFyKSwgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcoYXIpLCAuY2FsbG91dC10aXRsZTpsYW5nKGFyKSBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciBoMjpsYW5nKGFyKSwgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgaDI6bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyhhciksIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgLmNhbGxvdXQtdGl0bGU6bGFuZyhhcikgaDI6bGFuZyhhciksIC5jYWxsb3V0LXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoYXIpLCBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyAuY2FsbG91dC10aXRsZTpsYW5nKGFyKSBoMjpsYW5nKGFyKSB7XG4gICAgICBmb250LWZhbWlseTogXCJHdWxmIDMwMFwiLCBcIkd1bGZcIiwgXCJNeXJpYWQgU2V0IFBybyAzMDBcIiwgXCJNeXJpYWQgU2V0IFByb1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSwgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyhqYS1KUCkgLmNhbGxvdXQtdGl0bGU6bGFuZyhqYS1KUCksIC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIGh0bWwuaWU4IC5pbnRybzpsYW5nKGphLUpQKSwgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyhqYS1KUCkgLmludHJvOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcoamEtSlApLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIGgyOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgzOmxhbmcoamEtSlApLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIGgzOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lOmxhbmcoamEtSlApLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyhqYS1KUCksIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKGphLUpQKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyhqYS1KUCkgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgaDI6bGFuZyhqYS1KUCksIGh0bWwuaWU4IC52ZXJ0aWNhbC1kaXZpZGVyIC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIGgyOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IGgyOmxhbmcoamEtSlApLCBodG1sLmllOCAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IC5jYWxsb3V0LXRpdGxlOmxhbmcoamEtSlApIGgyOmxhbmcoamEtSlApLCAuY2FsbG91dC10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMjpsYW5nKGphLUpQKSwgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgLmNhbGxvdXQtdGl0bGU6bGFuZyhqYS1KUCkgaDI6bGFuZyhqYS1KUCkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgVFAgMzAwXCIsIFwiQXBwbGUgVFBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKGtvLUtSKSAuY2FsbG91dC10aXRsZTpsYW5nKGtvLUtSKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgaHRtbC5pZTggLmludHJvOmxhbmcoa28tS1IpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKGtvLUtSKSAuaW50cm86bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgaDI6bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDM6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgaDM6bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKGtvLUtSKSwgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcoa28tS1IpLCAuY2FsbG91dC10aXRsZTpsYW5nKGtvLUtSKSBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciBoMjpsYW5nKGtvLUtSKSwgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgaDI6bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgLmNhbGxvdXQtdGl0bGU6bGFuZyhrby1LUikgaDI6bGFuZyhrby1LUiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoa28tS1IpLCBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyAuY2FsbG91dC10aXRsZTpsYW5nKGtvLUtSKSBoMjpsYW5nKGtvLUtSKSB7XG4gICAgICBmb250LWZhbWlseTogXCJZb29uIEdvdGhpYyAzMDBcIiwgXCJZb29uIEdvdGhpY1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VtR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCksIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcodGgtVEgpIC5jYWxsb3V0LXRpdGxlOmxhbmcodGgtVEgpLCAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSBodG1sLmllOCAuaW50cm86bGFuZyh0aC1USCksIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcodGgtVEgpIC5pbnRybzpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSBoMjpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSBoMzpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcodGgtVEgpLCBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh0aC1USCksIC5jYWxsb3V0LXRpdGxlOmxhbmcodGgtVEgpIGh0bWwuaWU4IC52ZXJ0aWNhbC1kaXZpZGVyIGgyOmxhbmcodGgtVEgpLCBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSBoMjpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMjpsYW5nKHRoLVRIKSwgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSAuY2FsbG91dC10aXRsZTpsYW5nKHRoLVRIKSBoMjpsYW5nKHRoLVRIKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgaDI6bGFuZyh0aC1USCksIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIC5jYWxsb3V0LXRpdGxlOmxhbmcodGgtVEgpIGgyOmxhbmcodGgtVEgpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN1a2h1bXZpdCBTZXQgMzAwXCIsIFwiU3VraHVtdml0IFNldFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUNOKSAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUNOKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgaHRtbC5pZTggLmludHJvOmxhbmcoemgtQ04pLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUNOKSAuaW50cm86bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgaDI6bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDM6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgaDM6bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKHpoLUNOKSwgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcoemgtQ04pLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUNOKSBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciBoMjpsYW5nKHpoLUNOKSwgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgaDI6bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1DTikgaDI6bGFuZyh6aC1DTiksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoemgtQ04pLCBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUNOKSBoMjpsYW5nKHpoLUNOKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0MgMzAwXCIsIFwiSGFuSGVpIFNDXCIsIFwiUGluZ0hlaSAzMDBcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSwgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1ISykgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1ISyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIGh0bWwuaWU4IC5pbnRybzpsYW5nKHpoLUhLKSwgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1ISykgLmludHJvOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcoemgtSEspLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIGgyOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgzOmxhbmcoemgtSEspLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIGgzOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lOmxhbmcoemgtSEspLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh6aC1ISyksIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKHpoLUhLKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1ISykgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgaDI6bGFuZyh6aC1ISyksIGh0bWwuaWU4IC52ZXJ0aWNhbC1kaXZpZGVyIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIGgyOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IGgyOmxhbmcoemgtSEspLCBodG1sLmllOCAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtSEspIGgyOmxhbmcoemgtSEspLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMjpsYW5nKHpoLUhLKSwgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1ISykgaDI6bGFuZyh6aC1ISykge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDIDMwMFwiLCBcIkhhbkhlaSBUQ1wiLCBcIk1IZWkgMzAwXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTyksIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtTU8pIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtTU8pLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSBodG1sLmllOCAuaW50cm86bGFuZyh6aC1NTyksIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtTU8pIC5pbnRybzpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSBoMjpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSBoMzpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLnNlY3Rpb24tY29udGVudCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcoemgtTU8pLCBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh6aC1NTyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtTU8pIGh0bWwuaWU4IC52ZXJ0aWNhbC1kaXZpZGVyIGgyOmxhbmcoemgtTU8pLCBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSBoMjpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMjpsYW5nKHpoLU1PKSwgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSAuY2FsbG91dC10aXRsZTpsYW5nKHpoLU1PKSBoMjpsYW5nKHpoLU1PKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgaDI6bGFuZyh6aC1NTyksIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtTU8pIGgyOmxhbmcoemgtTU8pIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQyAzMDBcIiwgXCJIYW5IZWkgVENcIiwgXCJNSGVpIDMwMFwiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLVRXKSAuY2FsbG91dC10aXRsZTpsYW5nKHpoLVRXKSwgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgaHRtbC5pZTggLmludHJvOmxhbmcoemgtVFcpLCBodG1sLmllOCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLVRXKSAuaW50cm86bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgaDI6bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgaDM6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgaDM6bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKHpoLVRXKSwgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcoemgtVFcpLCAuY2FsbG91dC10aXRsZTpsYW5nKHpoLVRXKSBodG1sLmllOCAudmVydGljYWwtZGl2aWRlciBoMjpsYW5nKHpoLVRXKSwgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgaDI6bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aC1UVykgaDI6bGFuZyh6aC1UVyksIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoemgtVFcpLCBodG1sLmllOCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyAuY2FsbG91dC10aXRsZTpsYW5nKHpoLVRXKSBoMjpsYW5nKHpoLVRXKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgMzAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSAzMDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLmNhbGxvdXQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuY2FsbG91dC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2Njc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcodGgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxODc1OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgICAuY2FsbG91dC10aXRsZTpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAuY2FsbG91dC10aXRsZTpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjkxNjc7IH0gfVxuICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLmNhbGxvdXQtdGl0bGU6bGFuZyh6aCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAgIC5jYWxsb3V0LXRpdGxlOmxhbmcoemgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2FsbG91dC1jb3B5IHtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICAuY2FsbG91dC1jb3B5OmxhbmcoemgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uY2FsbG91dC1lbnZpcm9ubWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZWU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMS4xMTExMWVtIGF1dG87XG4gIHBhZGRpbmc6IDEuNjY2NjdlbSA0LjQ0NDQ0ZW07IH1cbiAgLmNhbGxvdXQtZW52aXJvbm1lbnQgLmNhbGxvdXQtdGl0bGUge1xuICAgIGNvbG9yOiAjNTQ4YzhjOyB9XG4gIC5jYWxsb3V0LWVudmlyb25tZW50IC5jYWxsb3V0LWNvcHkge1xuICAgIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi5zb3N1bWkge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzQxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBjb2xvcjogIzk5OTk5OTsgfVxuICAuc29zdW1pICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zb3N1bWkgYSwgLnNvc3VtaSAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gLnNvc3VtaSBidXR0b24ubW9yZSB7XG4gICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgLnNvc3VtaSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc29zdW1pIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIG91dHNpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjMzMzMzZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4zMzMzM2VtOyB9XG4gIC5zb3N1bWkgbGksXG4gIC5zb3N1bWkgcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNDE2NjdlbTsgfVxuICAuc29zdW1pIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAuc29zdW1pID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjQxNjY3ZW07IH1cblxuLmNvbG9ybmF2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbG9ybmF2LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzM0NTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLmNvbG9ybmF2LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cblxuLmNvbG9ybmF2LWl0ZW1zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgLTJweDtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuY29sb3JuYXYtaXRlbXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7IH0gfVxuXG4uY29sb3JuYXYtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgNnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLmNvbG9ybmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cblxuLmNvbG9ybmF2LWxpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzMzMzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMS43ODg4OWVtO1xuICBwYWRkaW5nOiAzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5jb2xvcm5hdi1saW5rIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDU1NTZlbTtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiAzNHB4OyB9IH1cbiAgLmNvbG9ybmF2LWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZDZkNjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNvbG9ybmF2LWxpbmsuY3VycmVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MGM5O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uY29sb3JuYXYtc3dhdGNoIHtcbiAgYmFja2dyb3VuZDogI2NjY2NjYyBjZW50ZXIgY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMCByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLmNvbG9ybmF2LXN3YXRjaCB7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDsgfSB9XG4gIC5jb2xvcm5hdi1zd2F0Y2g6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAycHggMS41cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGluaGVyaXQ7IH1cblxuLmNvbG9ybmF2LWxhYmVsLCAuY29sb3JuYXYtbGFiZWwtaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCgwcHggMHB4IDk5LjklIDk5LjklKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuLmNvbG9ybmF2LWxpbmsuY3VycmVudCAuY29sb3JuYXYtbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBjbGlwOiBhdXRvO1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5jb2xvcm5hdi1saW5rLmN1cnJlbnQgLmNvbG9ybmF2LWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLmNvbG9ybmF2LWxpbmsuY3VycmVudCAuY29sb3JuYXYtbGFiZWwge1xuICAgICAgcGFkZGluZy10b3A6IDRweDsgfSB9XG5cbi50aGVtZS1kYXJrIC5jb2xvcm5hdiAuY29sb3JuYXYtdGl0bGUge1xuICBib3JkZXItY29sb3I6ICM0NDQ0NDQ7IH1cbi50aGVtZS1kYXJrIC5jb2xvcm5hdiAuY29sb3JuYXYtbGluayB7XG4gIGNvbG9yOiAjY2NjY2NjOyB9XG4gIC50aGVtZS1kYXJrIC5jb2xvcm5hdiAuY29sb3JuYXYtbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDQ0NDQ0OyB9XG4gIC50aGVtZS1kYXJrIC5jb2xvcm5hdiAuY29sb3JuYXYtbGluay5jdXJyZW50IHtcbiAgICBib3JkZXItY29sb3I6ICM2NmJiZmY7IH1cbi50aGVtZS1kYXJrIC5jb2xvcm5hdi1zd2F0Y2gge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDAgcmdiYSgxNTMsIDE1MywgMTUzLCAwLjUpOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNDsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLWdvbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNjY2I0OyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc3BhY2VncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxYjJiNzsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXJvc2Vnb2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjYzZjMTsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXNwYWNlYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZDFlOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0MDQwOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMWVmOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtc3RvbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiNmIwOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTA5MjsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXNpbGljb25lLWRhcmt5ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVjNjQzOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2MzQzNzsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXNpbGljb25lLWFwcmljb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmM2NDU0OyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtbGlnaHRwaW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YmVkMjsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXNpbGljb25lLWFudGlxdWV3aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmUwZDY7IH1cblxuLmNvbG9ybmF2LXN3YXRjaC1zaWxpY29uZS1taWRuaWdodGJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzZjUwOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtbGF2ZW5kZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiMmJjOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtbGlsYWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiZWUyOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtcm95YWxibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NzZiYzsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLXNpbGljb25lLW1pbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJiZDkwOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtc2lsaWNvbmUtY2hhcmNvYWxncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhNGQ1MjsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLWxlYXRoZXItc2FkZGxlYnJvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWQ2MDQwOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtbGVhdGhlci1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzU0NTMzOyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtbGVhdGhlci13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2Q5ZDI7IH1cblxuLmNvbG9ybmF2LXN3YXRjaC1sZWF0aGVyLW1hcmlnb2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5YmY2MzsgfVxuXG4uY29sb3JuYXYtc3dhdGNoLWxlYXRoZXItYmx1ZWpheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZmE4YjM7IH1cblxuLmNvbG9ybmF2LXN3YXRjaC1sZWF0aGVyLW1pZG5pZ2h0Ymx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTQ5NWE7IH1cblxuLmNvbG9ybmF2LXN3YXRjaC1sZWF0aGVyLXN0b3JtZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjViNWQ7IH1cblxuLmNvbG9ybmF2LXN3YXRjaC1sZWF0aGVyLW1hcmluZWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU4MTk2OyB9XG5cbi5jb2xvcm5hdi1zd2F0Y2gtbGVhdGhlci1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7IH1cblxuLmNvbG9ybmF2LWl0ZW0tcHJvZHVjdHJlZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDc2cHg7IH1cblxuLmNvbG9ybmF2LWxvZ28tcHJvZHVjdHJlZCB7XG4gIHdpZHRoOiA3MnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogNzJweCAxNnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTsgfVxuXG4uZm9ybS1hbGVydCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjQpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDE1cHggMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmZvcm0tYWxlcnQge1xuICAgICAgcGFkZGluZzogMTVweCAxNnB4IDE5cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMThweDsgfSB9XG4gIC5mb3JtLWFsZXJ0LmlzLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCAwLCAwLCAwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAwLCAwLCAwLjA4KTsgfVxuXG4uZm9ybS1hbGVydC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMDYyNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmZvcm0tYWxlcnQtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi5mb3JtLXNlY3Rpb25udW1iZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xuICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLXNlY3Rpb25udW1iZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5mb3JtLXNlY3Rpb25udW1iZXIuZm9ybS1zZWN0aW9ubnVtYmVyLXJlc2V0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxOHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLXNlY3Rpb25udW1iZXIuZm9ybS1zZWN0aW9ubnVtYmVyLXJlc2V0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLmZvcm0tc2VjdGlvbm51bWJlciAuZm9ybS10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgIC5mb3JtLXNlY3Rpb25udW1iZXIgLmZvcm0tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH0gfVxuXG4uZm9ybS1zZWN0aW9ubnVtYmVyLXJlc2V0IHtcbiAgY291bnRlci1yZXNldDogc3RlcC1jb3VudGVyO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLmZvcm0tc2VjdGlvbm51bWJlci1yZXNldCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLXNlY3Rpb25udW1iZXItcmVzZXQgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAuZm9ybS1zZWN0aW9ubnVtYmVyLXJlc2V0IC5mb3JtLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwLWNvdW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7IH0gfVxuICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNzg2NTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGUgaHRtbC5pZTggLmZvcm0tdGl0bGUsIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZSAuZm9ybS10aXRsZSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGUgLnByb2R1Y3QtdGl0bGUsIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZSBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJNeXJpYWQgU2V0IFBybyAyMDBcIiwgXCJNeXJpYWQgU2V0IFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoYXIpIGh0bWwuaWU4IC5mb3JtLXRpdGxlOmxhbmcoYXIpLCBodG1sLmllOCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhhcikgLmZvcm0tdGl0bGU6bGFuZyhhciksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKGFyKSBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC10aXRsZTpsYW5nKGFyKSwgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoYXIpIC5wcm9kdWN0LXRpdGxlOmxhbmcoYXIpLCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhhcikgaHRtbC5pZTggLnBhZ2Utc21zIC5zdGVwcyBoMjpsYW5nKGFyKSwgaHRtbC5pZTggLnBhZ2Utc21zIC5zdGVwcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhhcikgaDI6bGFuZyhhcikge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR3VsZiAyMDBcIiwgXCJHdWxmXCIsIFwiTXlyaWFkIFNldCBQcm8gMjAwXCIsIFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoamEtSlApIGh0bWwuaWU4IC5mb3JtLXRpdGxlOmxhbmcoamEtSlApLCBodG1sLmllOCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhqYS1KUCkgLmZvcm0tdGl0bGU6bGFuZyhqYS1KUCksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKGphLUpQKSBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC10aXRsZTpsYW5nKGphLUpQKSwgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoamEtSlApIC5wcm9kdWN0LXRpdGxlOmxhbmcoamEtSlApLCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhqYS1KUCkgaHRtbC5pZTggLnBhZ2Utc21zIC5zdGVwcyBoMjpsYW5nKGphLUpQKSwgaHRtbC5pZTggLnBhZ2Utc21zIC5zdGVwcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhqYS1KUCkgaDI6bGFuZyhqYS1KUCkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgVFAgMjAwXCIsIFwiQXBwbGUgVFBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKGtvLUtSKSBodG1sLmllOCAuZm9ybS10aXRsZTpsYW5nKGtvLUtSKSwgaHRtbC5pZTggLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoa28tS1IpIC5mb3JtLXRpdGxlOmxhbmcoa28tS1IpLCAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyhrby1LUikgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLnByb2R1Y3QtdGl0bGU6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKGtvLUtSKSAucHJvZHVjdC10aXRsZTpsYW5nKGtvLUtSKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoa28tS1IpIGh0bWwuaWU4IC5wYWdlLXNtcyAuc3RlcHMgaDI6bGFuZyhrby1LUiksIGh0bWwuaWU4IC5wYWdlLXNtcyAuc3RlcHMgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoa28tS1IpIGgyOmxhbmcoa28tS1IpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIllvb24gR290aGljIDIwMFwiLCBcIllvb24gR290aGljXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW1Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh0aC1USCkgaHRtbC5pZTggLmZvcm0tdGl0bGU6bGFuZyh0aC1USCksIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHRoLVRIKSAuZm9ybS10aXRsZTpsYW5nKHRoLVRIKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcodGgtVEgpIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlOmxhbmcodGgtVEgpLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh0aC1USCkgLnByb2R1Y3QtdGl0bGU6bGFuZyh0aC1USCksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHRoLVRIKSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyOmxhbmcodGgtVEgpLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHRoLVRIKSBoMjpsYW5nKHRoLVRIKSB7XG4gICAgICBmb250LWZhbWlseTogXCJTdWtodW12aXQgU2V0IDIwMFwiLCBcIlN1a2h1bXZpdCBTZXRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1DTikgaHRtbC5pZTggLmZvcm0tdGl0bGU6bGFuZyh6aC1DTiksIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUNOKSAuZm9ybS10aXRsZTpsYW5nKHpoLUNOKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoemgtQ04pIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlOmxhbmcoemgtQ04pLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1DTikgLnByb2R1Y3QtdGl0bGU6bGFuZyh6aC1DTiksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUNOKSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyOmxhbmcoemgtQ04pLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUNOKSBoMjpsYW5nKHpoLUNOKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0MgMjAwXCIsIFwiSGFuSGVpIFNDXCIsIFwiUGluZ0hlaSAyMDBcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1ISykgaHRtbC5pZTggLmZvcm0tdGl0bGU6bGFuZyh6aC1ISyksIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUhLKSAuZm9ybS10aXRsZTpsYW5nKHpoLUhLKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoemgtSEspIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlOmxhbmcoemgtSEspLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1ISykgLnByb2R1Y3QtdGl0bGU6bGFuZyh6aC1ISyksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUhLKSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyOmxhbmcoemgtSEspLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLUhLKSBoMjpsYW5nKHpoLUhLKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgMjAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSAyMDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1NTykgaHRtbC5pZTggLmZvcm0tdGl0bGU6bGFuZyh6aC1NTyksIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLU1PKSAuZm9ybS10aXRsZTpsYW5nKHpoLU1PKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoemgtTU8pIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlOmxhbmcoemgtTU8pLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1NTykgLnByb2R1Y3QtdGl0bGU6bGFuZyh6aC1NTyksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLU1PKSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyOmxhbmcoemgtTU8pLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLU1PKSBoMjpsYW5nKHpoLU1PKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgMjAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSAyMDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgSEtcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1UVykgaHRtbC5pZTggLmZvcm0tdGl0bGU6bGFuZyh6aC1UVyksIGh0bWwuaWU4IC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLVRXKSAuZm9ybS10aXRsZTpsYW5nKHpoLVRXKSwgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlOmxhbmcoemgtVFcpIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlOmxhbmcoemgtVFcpLCBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gLmZvcm0tdGl0bGU6bGFuZyh6aC1UVykgLnByb2R1Y3QtdGl0bGU6bGFuZyh6aC1UVyksIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLVRXKSBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyOmxhbmcoemgtVFcpLCBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiAuZm9ybS10aXRsZTpsYW5nKHpoLVRXKSBoMjpsYW5nKHpoLVRXKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgMjAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSAyMDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIC5mb3JtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjY2NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBjb3VudGVyKHN0ZXAtY291bnRlcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS41OWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMS41OWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjdweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfSB9XG4gIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi5pcy1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG5cbi5pcy1oaWRkZW4uZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb246YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLmlzLWhpZGRlbi5mb3JtLXNlY3Rpb25udW1iZXIge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgLmlzLWhpZGRlbiAuZm9ybS1zZWN0aW9ubnVtYmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjhweDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5pcy1oaWRkZW4gLmZvcm0tc2VjdGlvbm51bWJlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuLmlzLWhpZGRlbiAuZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gIC5pcy1oaWRkZW4uZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24gPiAuZm9ybS10aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLmZvcm0taWNvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICB0b3A6IDNweDtcbiAgbGVmdDogMC4xOWVtOyB9XG4gIC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgxNTMlMkMxNTMlMkMxNTMlMjklMjIlMjBkJTNEJTIyTS0yMDAuNSUyQzE1MmMtMS4wMTIlMkMwLTEuOTk1LTAuMTk4LTIuOTE5LTAuNTljLTAuODkzLTAuMzc4LTEuNjk1LTAuOTE4LTIuMzg0LTEuNjA3JTIwJTIwJTIwYy0wLjY4OS0wLjY4OS0xLjIyOS0xLjQ5MS0xLjYwNy0yLjM4NGMtMC4zOTItMC45MjQtMC41OS0xLjkwNy0wLjU5LTIuOTE5YzAtMS4wMTIlMkMwLjE5OC0xLjk5NSUyQzAuNTktMi45MTklMjAlMjAlMjBjMC4zNzgtMC44OTMlMkMwLjkxOC0xLjY5NSUyQzEuNjA3LTIuMzg0YzAuNjg4LTAuNjg5JTJDMS40OS0xLjIzJTJDMi4zODMtMS42MDdjMC45MjUtMC4zOTIlMkMxLjkwOC0wLjU5JTJDMi45Mi0wLjU5JTIwJTIwJTIwYzEuMDEyJTJDMCUyQzEuOTk1JTJDMC4xOTglMkMyLjkxOSUyQzAuNTljMC44OTMlMkMwLjM3OCUyQzEuNjk1JTJDMC45MTglMkMyLjM4NCUyQzEuNjA3YzAuNjg5JTJDMC42ODklMkMxLjIyOSUyQzEuNDkxJTJDMS42MDclMkMyLjM4NCUyMCUyMCUyMGMwLjM5MiUyQzAuOTI0JTJDMC41OSUyQzEuOTA3JTJDMC41OSUyQzIuOTE5cy0wLjE5OCUyQzEuOTk1LTAuNTklMkMyLjkyYy0wLjM3OCUyQzAuODkzLTAuOTE4JTJDMS42OTUtMS42MDclMkMyLjM4NCUyMCUyMCUyMGMtMC42ODklMkMwLjY4OS0xLjQ5MSUyQzEuMjI5LTIuMzg0JTJDMS42MDdDLTE5OC41MDUlMkMxNTEuODAyLTE5OS40ODglMkMxNTItMjAwLjUlMkMxNTJ6JTIwTS0yMDAuNSUyQzEzNy45NjdjLTAuODgyJTJDMC0xLjczOCUyQzAuMTczLTIuNTQzJTJDMC41MTMlMjAlMjAlMjBjLTAuNzc4JTJDMC4zMjktMS40NzclMkMwLjgtMi4wNzclMkMxLjRjLTAuNiUyQzAuNi0xLjA3MSUyQzEuMjk5LTEuNCUyQzIuMDc3Yy0wLjM0MSUyQzAuODA1LTAuNTEzJTJDMS42NjEtMC41MTMlMkMyLjU0M3MwLjE3MyUyQzEuNzM4JTJDMC41MTMlMkMyLjU0MyUyMCUyMCUyMGMwLjMyOSUyQzAuNzc4JTJDMC44JTJDMS40NzclMkMxLjQlMkMyLjA3N2MwLjYlMkMwLjYlMkMxLjI5OSUyQzEuMDcxJTJDMi4wNzclMkMxLjRjMC44MDUlMkMwLjM0MSUyQzEuNjYxJTJDMC41MTMlMkMyLjU0MyUyQzAuNTEzczEuNzM4LTAuMTczJTJDMi41NDMtMC41MTMlMjAlMjAlMjBjMC43NzgtMC4zMjklMkMxLjQ3Ny0wLjglMkMyLjA3Ny0xLjRjMC42LTAuNiUyQzEuMDcxLTEuMjk5JTJDMS40LTIuMDc3YzAuMzQxLTAuODA1JTJDMC41MTMtMS42NjElMkMwLjUxMy0yLjU0M3MtMC4xNzMtMS43MzgtMC41MTMtMi41NDMlMjAlMjAlMjBjLTAuMzI5LTAuNzc4LTAuOC0xLjQ3Ny0xLjQtMi4wNzdjLTAuNi0wLjYtMS4yOTktMS4wNzEtMi4wNzctMS40Qy0xOTguNzYyJTJDMTM4LjEzOS0xOTkuNjE4JTJDMTM3Ljk2Ny0yMDAuNSUyQzEzNy45Njd6JTIyJTJGJTNFJTIwJTNDJTJGc3ZnJTNFKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIGh0bWwuaWU4IC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDdweDsgfVxuICAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNoZWNrYWx0MTMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDZyUzRSUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiJTI4NTElMkMxNTMlMkMwJTI5JTIyJTIwcG9pbnRzJTNEJTIyLTIwMS4yMjQlMkMxNDYuOTI3JTIwLTIwMy43MDIlMkMxNDQuMzk5JTIwLTIwMy4wMSUyQzE0My43MjIlMjAtMjAxLjIxOCUyQzE0NS41NSUyMC0xOTcuNTIyJTJDMTQxLjg0NCUyMCUyMCUyMCUyMCUyMC0xOTYuODM3JTJDMTQyLjUyNyUyMCUyMCUyMiUyRiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4NTElMkMxNTMlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OS0wLjY4OSUyQzEuNDkxLTEuMjI5JTJDMi4zODQtMS42MDdjMC45MjQtMC4zOTIlMkMxLjkwNy0wLjU5JTJDMi45MTktMC41OSUyMCUyMCUyMCUyMHMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgaHRtbC5pZTggLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTI2N3B4OyB9XG4gIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWRhbHQxMyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NnJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgyMzglMkMwJTJDMCUyOSUyMiUyMGQlM0QlMjJNLTIwMC41JTJDMTM3YzEuMDEyJTJDMCUyQzEuOTk1JTJDMC4xOTglMkMyLjkxOSUyQzAuNTljMC44OTMlMkMwLjM3OCUyQzEuNjk1JTJDMC45MTglMkMyLjM4NCUyQzEuNjA3JTIwJTIwJTIwJTIwYzAuNjg5JTJDMC42ODklMkMxLjIyOSUyQzEuNDkxJTJDMS42MDclMkMyLjM4NGMwLjM5MiUyQzAuOTI0JTJDMC41OSUyQzEuOTA3JTJDMC41OSUyQzIuOTE5cy0wLjE5OCUyQzEuOTk1LTAuNTklMkMyLjkxOSUyMCUyMCUyMCUyMGMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODRjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Yy0wLjkyNCUyQzAuMzkyLTEuOTA3JTJDMC41OS0yLjkxOSUyQzAuNTklMjAlMjAlMjAlMjBzLTEuOTk1LTAuMTk4LTIuOTItMC41OWMtMC44OTMtMC4zNzgtMS42OTUtMC45MTgtMi4zODQtMS42MDdjLTAuNjg5LTAuNjg5LTEuMjI5LTEuNDkxLTEuNjA3LTIuMzg0JTIwJTIwJTIwJTIwYy0wLjM5MS0wLjkyNC0wLjU4OS0xLjkwNy0wLjU4OS0yLjkxOXMwLjE5OC0xLjk5NSUyQzAuNTktMi45MmMwLjM3OC0wLjg5MyUyQzAuOTE4LTEuNjk1JTJDMS42MDctMi4zODQlMjAlMjAlMjAlMjBjMC42ODktMC42ODklMkMxLjQ5MS0xLjIyOSUyQzIuMzg0LTEuNjA3Qy0yMDIuNDk1JTJDMTM3LjE5OC0yMDEuNTEyJTJDMTM3LTIwMC41JTJDMTM3eiUyME0tMjAwLjUlMkMxNTEuMDMzYzAuODgyJTJDMCUyQzEuNzM4LTAuMTczJTJDMi41NDMtMC41MTMlMjAlMjAlMjAlMjBjMC43NzgtMC4zMjklMkMxLjQ3Ny0wLjglMkMyLjA3Ny0xLjRjMC42LTAuNiUyQzEuMDcxLTEuMjk5JTJDMS40LTIuMDc3YzAuMzQxLTAuODA1JTJDMC41MTMtMS42NjElMkMwLjUxMy0yLjU0M3MtMC4xNzMtMS43MzgtMC41MTMtMi41NDMlMjAlMjAlMjAlMjBjLTAuMzI5LTAuNzc4LTAuOC0xLjQ3Ny0xLjQtMi4wNzdjLTAuNi0wLjYtMS4yOTktMS4wNzEtMi4wNzctMS40Yy0wLjgwNS0wLjM0MS0xLjY2MS0wLjUxMy0yLjU0My0wLjUxM3MtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40cy0xLjA3MSUyQzEuMjk5LTEuNCUyQzIuMDc3Yy0wLjM0MSUyQzAuODA1LTAuNTEzJTJDMS42NjEtMC41MTMlMkMyLjU0M3MwLjE3MyUyQzEuNzM4JTJDMC41MTMlMkMyLjU0MyUyMCUyMCUyMCUyMGMwLjMyOSUyQzAuNzc4JTJDMC44JTJDMS40NzclMkMxLjQlMkMyLjA3N2MwLjYlMkMwLjYlMkMxLjI5OSUyQzEuMDcxJTJDMi4wNzclMkMxLjRDLTIwMi4yMzglMkMxNTAuODYxLTIwMS4zODIlMkMxNTEuMDMzLTIwMC41JTJDMTUxLjAzM3olMjIlMkYlM0UlMjAlM0NnJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgyMzglMkMwJTJDMCUyOSUyMiUyMGQlM0QlMjJNLTIwMC40ODclMkMxNDYuODUzYy0wLjIzOCUyQzAtMC40MzclMkMwLjA3NS0wLjU5JTJDMC4yMjRjLTAuMTU0JTJDMC4xNDktMC4yMzIlMkMwLjM0Ni0wLjIzMiUyQzAuNTg1JTIwJTIwJTIwJTIwJTIwYzAlMkMwLjIzOCUyQzAuMDc2JTJDMC40MzUlMkMwLjIyNSUyQzAuNTg0czAuMzQ2JTJDMC4yMjQlMkMwLjU4NCUyQzAuMjI0YzAuMjI5JTJDMCUyQzAuNDI0LTAuMDc4JTJDMC41NzctMC4yMzFjMC4xNTQtMC4xNTMlMkMwLjIzMi0wLjM0OCUyQzAuMjMyLTAuNTc4JTIwJTIwJTIwJTIwJTIwYzAtMC4yMy0wLjA3NS0wLjQyNC0wLjIyNC0wLjU3N1MtMjAwLjI1NiUyQzE0Ni44NTMtMjAwLjQ4NyUyQzE0Ni44NTN6JTIyJTJGJTNFJTIwJTNDJTJGZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjM4JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0xOTkuOTM3JTJDMTQ1LjEyN2MwJTJDMC4zODUtMC4xNzElMkMwLjY5Ny0wLjU2OCUyQzAuNjk3bDAlMkMwYy0wLjM5NyUyQzAtMC41NjgtMC4zMTItMC41NjgtMC42OTclMjAlMjAlMjAlMjBjMCUyQzAtMC4zMzgtMy40MjgtMC4yNzgtMy44NzljMC4wNTItMC4zOTElMkMwLjMyMi0wLjY3NSUyQzAuNzItMC42NzVoMC4yNTNjMC4zOTclMkMwJTJDMC42MjUlMkMwLjMwNiUyQzAuNzIlMkMwLjY3NSUyMCUyMCUyMCUyMEMtMTk5LjU1OSUyQzE0MS42MzYtMTk5LjkzNyUyQzE0NS4xMjctMTk5LjkzNyUyQzE0NS4xMjd6JTIyJTJGJTNFJTIwJTNDJTJGZyUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxM3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLXVudmFsaWRhdGVkYWx0MTMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTg3cHg7IH1cbiAgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1pbmZvMTUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgwJTJDMTEyJTJDMjAxJTI5JTIyJTIwZCUzRCUyMk0tMTkzLjU0OSUyQzE0MS42NzhjLTAuMzc3LTAuOTMxLTAuOTMyLTEuNzY1LTEuNjQ4LTIuNDgxYy0wLjcxNi0wLjcxNi0xLjU1MS0xLjI3LTIuNDgxLTEuNjQ4JTIwJTIwJTIwYy0wLjg5OS0wLjM2NC0xLjg0OC0wLjU0OS0yLjgyMi0wLjU0OXMtMS45MjMlMkMwLjE4NS0yLjgyMiUyQzAuNTQ5Yy0wLjkzMSUyQzAuMzc3LTEuNzY1JTJDMC45MzItMi40ODElMkMxLjY0OCUyMCUyMCUyMGMtMC43MTYlMkMwLjcxNi0xLjI3JTJDMS41NTEtMS42NDglMkMyLjQ4MWMtMC4zNjQlMkMwLjg5OS0wLjU0OSUyQzEuODQ4LTAuNTQ5JTJDMi44MjJzMC4xODUlMkMxLjkyMyUyQzAuNTQ5JTJDMi44MjIlMjAlMjAlMjBjMC4zNzclMkMwLjkzMSUyQzAuOTMyJTJDMS43NjYlMkMxLjY0NyUyQzIuNDgxYzAuNzE2JTJDMC43MTYlMkMxLjU1MSUyQzEuMjclMkMyLjQ4MSUyQzEuNjQ3YzAuOSUyQzAuMzY1JTJDMS44NDklMkMwLjU1JTJDMi44MjMlMkMwLjU1czEuOTIzLTAuMTg1JTJDMi44MjItMC41NDklMjAlMjAlMjBjMC45MzEtMC4zNzclMkMxLjc2Ni0wLjkzMiUyQzIuNDgxLTEuNjQ3YzAuNzE2LTAuNzE2JTJDMS4yNy0xLjU1MSUyQzEuNjQ3LTIuNDgxYzAuMzY1LTAuOSUyQzAuNTUtMS44NDklMkMwLjU1LTIuODIzJTIwJTIwJTIwUy0xOTMuMTg1JTJDMTQyLjU3Ny0xOTMuNTQ5JTJDMTQxLjY3OHolMjBNLTE5OS45MjMlMkMxNDguMjM5Yy0wLjE1NCUyQzAuMTU0LTAuMzQ4JTJDMC4yMzEtMC41NzclMkMwLjIzMWMtMC4yMzglMkMwLTAuNDM1LTAuMDc1LTAuNTg0LTAuMjI0JTIwJTIwJTIwcy0wLjIyNS0wLjM0Ni0wLjIyNS0wLjU4NGMwLTAuMjM5JTJDMC4wNzgtMC40MzYlMkMwLjIzMi0wLjU4NWMwLjE1NC0wLjE0OSUyQzAuMzUyLTAuMjI0JTJDMC41OS0wLjIyNGMwLjIzJTJDMCUyQzAuNDIzJTJDMC4wNzglMkMwLjU3MSUyQzAuMjMyJTIwJTIwJTIwYzAuMTQ5JTJDMC4xNTMlMkMwLjIyNCUyQzAuMzQ3JTJDMC4yMjQlMkMwLjU3N0MtMTk5LjY5MSUyQzE0Ny44OTEtMTk5Ljc2OSUyQzE0OC4wODYtMTk5LjkyMyUyQzE0OC4yMzl6JTIwTS0xOTkuNTA4JTJDMTQ0LjI3NyUyMCUyMCUyMGMtMC40MTElMkMwLjM0Ni0wLjMwMSUyQzAuNTUxLTAuMzY4JTJDMS4wOTZjLTAuMDQxJTJDMC4zMzItMC4zOTElMkMwLjQ1NS0wLjU4MyUyQzAuNDYzYy0wLjIxOSUyQzAuMDA5LTAuNjQxLTAuMTM2LTAuNjc2LTAuNDczJTIwJTIwJTIwYy0wLjA2LTAuNTc4JTJDMC4wMzItMC43ODQlMkMwLjEyNy0xLjAyMmMwLjMxMi0wLjc4MyUyQzEuMzg3LTEuMDAzJTJDMS40MDEtMS43OTNjMC4wMTktMS4wNDctMS41MDktMS4zNi0xLjgwMy0wLjE4NyUyMCUyMCUyMGMtMC4xMjclMkMwLjUwNy0xLjA5NiUyQzAuNDY1LTEuMDY5LTAuMTI0Yy0wLjAwMS0wLjQ3MyUyQzAuMjg3LTAuOTgzJTJDMC43MjQtMS4zMzJjMC43NDQtMC41OTUlMkMyLjgtMC42MTUlMkMzLjIzNyUyQzEuMTMyJTIwJTIwJTIwQy0xOTguMjYyJTJDMTQzLjA1NS0xOTguNzMyJTJDMTQzLjYyMS0xOTkuNTA4JTJDMTQ0LjI3N3olMjIlMkYlM0UlMjAlM0MlMkZzdmclM0UpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgaHRtbC5pZTggLmZvcm0taWNvbnMuZm9ybS1pY29ucy1pbmZvMTUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTVweDsgfVxuICAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNpcmNsZTE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTIweCUzRCUyMjBweCUyMiUyMHklM0QlMjIwcHglMjIlMjB3aWR0aCUzRCUyMjE1cHglMjIlMjBoZWlnaHQlM0QlMjIxNXB4JTIyJTIwdmlld0JveCUzRCUyMi0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIwZW5hYmxlLWJhY2tncm91bmQlM0QlMjJuZXclMjAtMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMHhtbCUzQXNwYWNlJTNEJTIycHJlc2VydmUlMjIlMjBzdHlsZSUzRCUyMiUyMiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MTUzJTJDMTUzJTJDMTUzJTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OC0wLjY4OSUyQzEuNDktMS4yMyUyQzIuMzgzLTEuNjA3YzAuOTI1LTAuMzkyJTJDMS45MDgtMC41OSUyQzIuOTItMC41OSUyMCUyMCUyMGMxLjAxMiUyQzAlMkMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNpcmNsZTE1IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODVweDsgfVxuICAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNoZWNrYWx0MTUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDZyUzRSUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiJTI4NTElMkMxNTMlMkMwJTI5JTIyJTIwcG9pbnRzJTNEJTIyLTIwMS4yMjQlMkMxNDYuOTI3JTIwLTIwMy43MDIlMkMxNDQuMzk5JTIwLTIwMy4wMSUyQzE0My43MjIlMjAtMjAxLjIxOCUyQzE0NS41NSUyMC0xOTcuNTIyJTJDMTQxLjg0NCUyMCUyMCUyMCUyMCUyMC0xOTYuODM3JTJDMTQyLjUyNyUyMCUyMCUyMiUyRiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4NTElMkMxNTMlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OS0wLjY4OSUyQzEuNDkxLTEuMjI5JTJDMi4zODQtMS42MDdjMC45MjQtMC4zOTIlMkMxLjkwNy0wLjU5JTJDMi45MTktMC41OSUyMCUyMCUyMCUyMHMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgaHRtbC5pZTggLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDE1IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTI0NXB4OyB9XG4gIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWRhbHQxNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NnJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgyMzglMkMwJTJDMCUyOSUyMiUyMGQlM0QlMjJNLTIwMC41JTJDMTM3YzEuMDEyJTJDMCUyQzEuOTk1JTJDMC4xOTglMkMyLjkxOSUyQzAuNTljMC44OTMlMkMwLjM3OCUyQzEuNjk1JTJDMC45MTglMkMyLjM4NCUyQzEuNjA3JTIwJTIwJTIwJTIwYzAuNjg5JTJDMC42ODklMkMxLjIyOSUyQzEuNDkxJTJDMS42MDclMkMyLjM4NGMwLjM5MiUyQzAuOTI0JTJDMC41OSUyQzEuOTA3JTJDMC41OSUyQzIuOTE5cy0wLjE5OCUyQzEuOTk1LTAuNTklMkMyLjkxOSUyMCUyMCUyMCUyMGMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODRjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Yy0wLjkyNCUyQzAuMzkyLTEuOTA3JTJDMC41OS0yLjkxOSUyQzAuNTklMjAlMjAlMjAlMjBzLTEuOTk1LTAuMTk4LTIuOTItMC41OWMtMC44OTMtMC4zNzgtMS42OTUtMC45MTgtMi4zODQtMS42MDdjLTAuNjg5LTAuNjg5LTEuMjI5LTEuNDkxLTEuNjA3LTIuMzg0JTIwJTIwJTIwJTIwYy0wLjM5MS0wLjkyNC0wLjU4OS0xLjkwNy0wLjU4OS0yLjkxOXMwLjE5OC0xLjk5NSUyQzAuNTktMi45MmMwLjM3OC0wLjg5MyUyQzAuOTE4LTEuNjk1JTJDMS42MDctMi4zODQlMjAlMjAlMjAlMjBjMC42ODktMC42ODklMkMxLjQ5MS0xLjIyOSUyQzIuMzg0LTEuNjA3Qy0yMDIuNDk1JTJDMTM3LjE5OC0yMDEuNTEyJTJDMTM3LTIwMC41JTJDMTM3eiUyME0tMjAwLjUlMkMxNTEuMDMzYzAuODgyJTJDMCUyQzEuNzM4LTAuMTczJTJDMi41NDMtMC41MTMlMjAlMjAlMjAlMjBjMC43NzgtMC4zMjklMkMxLjQ3Ny0wLjglMkMyLjA3Ny0xLjRjMC42LTAuNiUyQzEuMDcxLTEuMjk5JTJDMS40LTIuMDc3YzAuMzQxLTAuODA1JTJDMC41MTMtMS42NjElMkMwLjUxMy0yLjU0M3MtMC4xNzMtMS43MzgtMC41MTMtMi41NDMlMjAlMjAlMjAlMjBjLTAuMzI5LTAuNzc4LTAuOC0xLjQ3Ny0xLjQtMi4wNzdjLTAuNi0wLjYtMS4yOTktMS4wNzEtMi4wNzctMS40Yy0wLjgwNS0wLjM0MS0xLjY2MS0wLjUxMy0yLjU0My0wLjUxM3MtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40cy0xLjA3MSUyQzEuMjk5LTEuNCUyQzIuMDc3Yy0wLjM0MSUyQzAuODA1LTAuNTEzJTJDMS42NjEtMC41MTMlMkMyLjU0M3MwLjE3MyUyQzEuNzM4JTJDMC41MTMlMkMyLjU0MyUyMCUyMCUyMCUyMGMwLjMyOSUyQzAuNzc4JTJDMC44JTJDMS40NzclMkMxLjQlMkMyLjA3N2MwLjYlMkMwLjYlMkMxLjI5OSUyQzEuMDcxJTJDMi4wNzclMkMxLjRDLTIwMi4yMzglMkMxNTAuODYxLTIwMS4zODIlMkMxNTEuMDMzLTIwMC41JTJDMTUxLjAzM3olMjIlMkYlM0UlMjAlM0NnJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgyMzglMkMwJTJDMCUyOSUyMiUyMGQlM0QlMjJNLTIwMC40ODclMkMxNDYuODUzYy0wLjIzOCUyQzAtMC40MzclMkMwLjA3NS0wLjU5JTJDMC4yMjRjLTAuMTU0JTJDMC4xNDktMC4yMzIlMkMwLjM0Ni0wLjIzMiUyQzAuNTg1JTIwJTIwJTIwJTIwJTIwYzAlMkMwLjIzOCUyQzAuMDc2JTJDMC40MzUlMkMwLjIyNSUyQzAuNTg0czAuMzQ2JTJDMC4yMjQlMkMwLjU4NCUyQzAuMjI0YzAuMjI5JTJDMCUyQzAuNDI0LTAuMDc4JTJDMC41NzctMC4yMzFjMC4xNTQtMC4xNTMlMkMwLjIzMi0wLjM0OCUyQzAuMjMyLTAuNTc4JTIwJTIwJTIwJTIwJTIwYzAtMC4yMy0wLjA3NS0wLjQyNC0wLjIyNC0wLjU3N1MtMjAwLjI1NiUyQzE0Ni44NTMtMjAwLjQ4NyUyQzE0Ni44NTN6JTIyJTJGJTNFJTIwJTNDJTJGZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjM4JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0xOTkuOTM3JTJDMTQ1LjEyN2MwJTJDMC4zODUtMC4xNzElMkMwLjY5Ny0wLjU2OCUyQzAuNjk3bDAlMkMwYy0wLjM5NyUyQzAtMC41NjgtMC4zMTItMC41NjgtMC42OTclMjAlMjAlMjAlMjBjMCUyQzAtMC4zMzgtMy40MjgtMC4yNzgtMy44NzljMC4wNTItMC4zOTElMkMwLjMyMi0wLjY3NSUyQzAuNzItMC42NzVoMC4yNTNjMC4zOTclMkMwJTJDMC42MjUlMkMwLjMwNiUyQzAuNzIlMkMwLjY3NSUyMCUyMCUyMCUyMEMtMTk5LjU1OSUyQzE0MS42MzYtMTk5LjkzNyUyQzE0NS4xMjctMTk5LjkzNyUyQzE0NS4xMjd6JTIyJTJGJTNFJTIwJTNDJTJGZyUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLXVudmFsaWRhdGVkYWx0MTUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTY1cHg7IH1cbiAgLmZvcm0taWNvbnMuZm9ybS1pY29ucy11bnZhbGlkYXRlZDE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTIweCUzRCUyMjBweCUyMiUyMHklM0QlMjIwcHglMjIlMjB3aWR0aCUzRCUyMjE1cHglMjIlMjBoZWlnaHQlM0QlMjIxNXB4JTIyJTIwdmlld0JveCUzRCUyMi0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIwZW5hYmxlLWJhY2tncm91bmQlM0QlMjJuZXclMjAtMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMHhtbCUzQXNwYWNlJTNEJTIycHJlc2VydmUlMjIlMjBzdHlsZSUzRCUyMiUyMiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjM4JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0xOTMuNTklMkMxNDEuNTgxYy0wLjM3OC0wLjg5My0wLjkxOC0xLjY5NS0xLjYwNy0yLjM4NGMtMC42ODktMC42ODktMS40OTEtMS4yMjktMi4zODQtMS42MDclMjAlMjAlMjBjLTAuOTI0LTAuMzkyLTEuOTA3LTAuNTktMi45MTktMC41OXMtMS45OTUlMkMwLjE5OC0yLjkxOSUyQzAuNTljLTAuODkzJTJDMC4zNzgtMS42OTUlMkMwLjkxOC0yLjM4NCUyQzEuNjA3JTIwJTIwJTIwYy0wLjY4OSUyQzAuNjg5LTEuMjI5JTJDMS40OTEtMS42MDclMkMyLjM4NGMtMC4zOTIlMkMwLjkyNC0wLjU5JTJDMS45MDctMC41OSUyQzIuOTE5czAuMTk4JTJDMS45OTUlMkMwLjU5JTJDMi45MTklMjAlMjAlMjBjMC4zNzglMkMwLjg5MyUyQzAuOTE4JTJDMS42OTUlMkMxLjYwNyUyQzIuMzg0YzAuNjg5JTJDMC42ODklMkMxLjQ5MSUyQzEuMjI5JTJDMi4zODQlMkMxLjYwN2MwLjkyNCUyQzAuMzkyJTJDMS45MDclMkMwLjU5JTJDMi45MTklMkMwLjU5JTIwJTIwJTIwczEuOTk1LTAuMTk4JTJDMi45Mi0wLjU5YzAuODkzLTAuMzc4JTJDMS42OTUtMC45MTklMkMyLjM4NC0xLjYwN2MwLjY4OS0wLjY4OSUyQzEuMjI5LTEuNDkxJTJDMS42MDctMi4zODQlMjAlMjAlMjBjMC4zOTEtMC45MjQlMkMwLjU4OS0xLjkwNyUyQzAuNTg5LTIuOTE5Uy0xOTMuMTk4JTJDMTQyLjUwNS0xOTMuNTklMkMxNDEuNTgxeiUyME0tMTk5LjkyMyUyQzE0OC4yMzljLTAuMTU0JTJDMC4xNTQtMC4zNDglMkMwLjIzMS0wLjU3NyUyQzAuMjMxJTIwJTIwJTIwYy0wLjIzOCUyQzAtMC40MzUtMC4wNzUtMC41ODQtMC4yMjRzLTAuMjI1LTAuMzQ2LTAuMjI1LTAuNTg0YzAtMC4yMzklMkMwLjA3OC0wLjQzNiUyQzAuMjMyLTAuNTg1YzAuMTU0LTAuMTQ5JTJDMC4zNTItMC4yMjQlMkMwLjU5LTAuMjI0JTIwJTIwJTIwYzAuMjMlMkMwJTJDMC40MjMlMkMwLjA3OCUyQzAuNTcxJTJDMC4yMzJjMC4xNDklMkMwLjE1MyUyQzAuMjI0JTJDMC4zNDclMkMwLjIyNCUyQzAuNTc3Qy0xOTkuNjkxJTJDMTQ3Ljg5MS0xOTkuNzY5JTJDMTQ4LjA4Ni0xOTkuOTIzJTJDMTQ4LjIzOXolMjAlMjAlMjAlMjBNLTE5OS45MzclMkMxNDUuMTI3YzAlMkMwLjM4NS0wLjE3MSUyQzAuNjk3LTAuNTY4JTJDMC42OTdzLTAuNTY4LTAuMzEyLTAuNTY4LTAuNjk3YzAlMkMwLTAuMzM4LTMuNDI4LTAuMjc4LTMuODc5JTIwJTIwJTIwYzAuMDUyLTAuMzkxJTJDMC4zMjItMC42NzUlMkMwLjcyLTAuNjc1aDAuMjUzYzAuMzk3JTJDMCUyQzAuNjI1JTJDMC4zMDYlMkMwLjcyJTJDMC42NzVDLTE5OS41NTklMkMxNDEuNjM2LTE5OS45MzclMkMxNDUuMTI3LTE5OS45MzclMkMxNDUuMTI3eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLXVudmFsaWRhdGVkMTUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjBweCAtMTY1cHg7IH1cbiAgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jbGVhcnNvbGlkMTUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgxODQlMkMxODQlMkMxODQlMjklMjIlMjBkJTNEJTIyTS0xOTMuNTklMkMxNDEuNThjLTAuMzc4LTAuODkzLTAuOTE4LTEuNjk1LTEuNjA3LTIuMzg0Yy0wLjY4OS0wLjY4OS0xLjQ5MS0xLjIyOS0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC45MjQtMC4zOTEtMS45MDctMC41ODktMi45MTktMC41ODlzLTEuOTk1JTJDMC4xOTgtMi45MTklMkMwLjU5Yy0wLjg5MyUyQzAuMzc4LTEuNjk1JTJDMC45MTgtMi4zODQlMkMxLjYwNyUyMCUyMCUyMGMtMC42ODklMkMwLjY4OS0xLjIyOSUyQzEuNDkxLTEuNjA3JTJDMi4zODRjLTAuMzkyJTJDMC45MjQtMC41OSUyQzEuOTA3LTAuNTklMkMyLjkxOXMwLjE5OCUyQzEuOTk1JTJDMC41OSUyQzIuOTIlMjAlMjAlMjBjMC4zNzglMkMwLjg5MyUyQzAuOTE4JTJDMS42OTUlMkMxLjYwNyUyQzIuMzg0YzAuNjg5JTJDMC42ODklMkMxLjQ5MSUyQzEuMjI5JTJDMi4zODQlMkMxLjYwN2MwLjkyNCUyQzAuMzkxJTJDMS45MDclMkMwLjU4OSUyQzIuOTE5JTJDMC41ODklMjAlMjAlMjBzMS45OTUtMC4xOTglMkMyLjkxOS0wLjU5YzAuODkzLTAuMzc4JTJDMS42OTUtMC45MTglMkMyLjM4NC0xLjYwN2MwLjY4OS0wLjY4OSUyQzEuMjI5LTEuNDkxJTJDMS42MDctMi4zODQlMjAlMjAlMjBjMC4zOTItMC45MjQlMkMwLjU5LTEuOTA3JTJDMC41OS0yLjkxOVMtMTkzLjE5OCUyQzE0Mi41MDUtMTkzLjU5JTJDMTQxLjU4eiUyME0tMTk3LjQxMiUyQzE0Ni45MTNsLTAuNjc3JTJDMC42NzhsLTIuNDEyLTIuNDEzbC0yLjQxJTJDMi40MTMlMjAlMjAlMjBsLTAuNjc3LTAuNjc4bDIuNDExLTIuNDExbC0yLjQxMS0yLjQxMWwwLjY3Ny0wLjY3NmwyLjQxJTJDMi40MTFsMi40MTItMi40MTFsMC42NzclMkMwLjY3NmwtMi40MTMlMkMyLjQxMUwtMTk3LjQxMiUyQzE0Ni45MTN6JTIyJTJGJTNFJTIwJTNDJTJGc3ZnJTNFKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIGh0bWwuaWU4IC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2xlYXJzb2xpZDE1IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTg1cHg7IH1cbiAgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1hZGQxNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODAlMkMxMTIlMkMyMDElMjklMjIlMjBkJTNEJTIyTS0xOTMuNTQ5JTJDMTQxLjY3OGMtMC4zNzctMC45MzEtMC45MzItMS43NjUtMS42NDgtMi40ODFjLTAuNzE2LTAuNzE2LTEuNTUxLTEuMjctMi40ODEtMS42NDglMjAlMjAlMjBjLTAuODk5LTAuMzY0LTEuODQ4LTAuNTQ5LTIuODIyLTAuNTQ5cy0xLjkyMyUyQzAuMTg1LTIuODIyJTJDMC41NDljLTAuOTMxJTJDMC4zNzctMS43NjUlMkMwLjkzMi0yLjQ4MSUyQzEuNjQ4JTIwJTIwJTIwYy0wLjcxNiUyQzAuNzE2LTEuMjclMkMxLjU1MS0xLjY0OCUyQzIuNDgxYy0wLjM2NCUyQzAuODk5LTAuNTQ5JTJDMS44NDgtMC41NDklMkMyLjgyMnMwLjE4NSUyQzEuOTIzJTJDMC41NDklMkMyLjgyMiUyMCUyMCUyMGMwLjM3NyUyQzAuOTMxJTJDMC45MzIlMkMxLjc2NiUyQzEuNjQ3JTJDMi40ODFjMC43MTYlMkMwLjcxNiUyQzEuNTUxJTJDMS4yNyUyQzIuNDgxJTJDMS42NDdjMC45JTJDMC4zNjUlMkMxLjg0OSUyQzAuNTUlMkMyLjgyMyUyQzAuNTVzMS45MjMtMC4xODUlMkMyLjgyMi0wLjU0OSUyMCUyMCUyMGMwLjkzMS0wLjM3NyUyQzEuNzY2LTAuOTMyJTJDMi40ODEtMS42NDdjMC43MTYtMC43MTYlMkMxLjI3LTEuNTUxJTJDMS42NDctMi40ODFjMC4zNjUtMC45JTJDMC41NS0xLjg0OSUyQzAuNTUtMi44MjMlMjAlMjAlMjBTLTE5My4xODUlMkMxNDIuNTc3LTE5My41NDklMkMxNDEuNjc4eiUyME0tMTk2Ljk4NCUyQzE0NC45N2gtMy4wNTFWMTQ4aC0wLjkzNHYtMy4wM2gtMy4wNDZ2LTAuOTM0aDMuMDQ2di0zLjA1MmgwLjkzNHYzLjA1MWgzLjA1MSUyMCUyMCUyMEMtMTk2Ljk4NCUyQzE0NC4wMzUtMTk2Ljk4NCUyQzE0NC45Ny0xOTYuOTg0JTJDMTQ0Ljk3eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLWFkZDE1IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC01cHg7IH1cbiAgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1yZW1vdmUxNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODIzOCUyQzAlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMTkzLjU5JTJDMTQxLjU3OWMtMC4zNzgtMC44OTMtMC45MTktMS42OTUtMS42MDctMi4zODRjLTAuNjg5LTAuNjg5LTEuNDkxLTEuMjI5LTIuMzg0LTEuNjA3JTIwJTIwJTIwYy0wLjkyNC0wLjM5MS0xLjkwNy0wLjU4OS0yLjkxOS0wLjU4OXMtMS45OTUlMkMwLjE5OC0yLjkxOSUyQzAuNTljLTAuODkzJTJDMC4zNzgtMS42OTUlMkMwLjkxOC0yLjM4NCUyQzEuNjA3JTIwJTIwJTIwYy0wLjY4OSUyQzAuNjg5LTEuMjI5JTJDMS40OTEtMS42MDclMkMyLjM4NGMtMC4zOTElMkMwLjkyNS0wLjU5JTJDMS45MDctMC41OSUyQzIuOTE5YzAlMkMxLjAxMiUyQzAuMTk4JTJDMS45OTUlMkMwLjU5JTJDMi45MiUyMCUyMCUyMGMwLjM3OCUyQzAuODkzJTJDMC45MTglMkMxLjY5NSUyQzEuNjA3JTJDMi4zODRjMC42ODklMkMwLjY4OSUyQzEuNDkxJTJDMS4yMjklMkMyLjM4NCUyQzEuNjA3YzAuOTI1JTJDMC4zOTElMkMxLjkwNyUyQzAuNTklMkMyLjkxOSUyQzAuNTklMjAlMjAlMjBzMS45OTUtMC4xOTglMkMyLjkxOS0wLjU5YzAuODkzLTAuMzc4JTJDMS42OTUtMC45MTglMkMyLjM4NC0xLjYwN2MwLjY4OS0wLjY4OSUyQzEuMjI5LTEuNDkxJTJDMS42MDctMi4zODQlMjAlMjAlMjBjMC4zOTEtMC45MjUlMkMwLjU5LTEuOTA3JTJDMC41OS0yLjkyUy0xOTMuMTk4JTJDMTQyLjUwNS0xOTMuNTklMkMxNDEuNTc5eiUyME0tMTk3LjAxNiUyQzE0NC45NjZsLTMuMDA3JTJDMC4wMDFoLTAuOTU3bC0zLjAyLTAuMDAxdi0wLjkzNCUyMCUyMCUyMGwzLjAyMSUyQzAuMDAxaDAuOTU3bDMuMDA3LTAuMDAxdjAuOTM0SC0xOTcuMDE2eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBodG1sLmllOCAuZm9ybS1pY29ucy5mb3JtLWljb25zLXJlbW92ZTE1IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0MHB4IC0xNjVweDsgfVxuICAuZm9ybS1pY29ucyAuZm9ybS1pY29ucy1tZXNzYWdlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmZvcm0taWNvbnMuaWNvbi1iZWZvcmU6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjAxNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4zZW07XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9ybS1pY29ucy5pY29uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZvcm0taWNvbnMtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmZvcm0taWNvbnMtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH0gfVxuICAuZm9ybS1pY29ucy13cmFwcGVyLmZvcm0tbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAuZm9ybS1pY29ucy13cmFwcGVyLmZvcm0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfSB9XG4gIC5mb3JtLWljb25zLXdyYXBwZXIgLmZvcm0taWNvbnMgKyAuZm9ybS1sYWJlbC5mb3JtLXRvb2x0aXAtdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAuZm9ybS1pY29ucy13cmFwcGVyIC5mb3JtLWljb25zICsgLmZvcm0tbGFiZWwuZm9ybS10b29sdGlwLXRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4OyB9IH1cbiAgLmZvcm0taWNvbnMtd3JhcHBlciAuZm9ybS1pY29uczpmb2N1cywgLmZvcm0taWNvbnMtd3JhcHBlciAuZm9ybS1pY29ucy5mb2N1c2VkIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJlbSByZ2JhKDAsIDExMiwgMjAxLCAwLjMpOyB9XG4gICAgaHRtbC5pZTggLmZvcm0taWNvbnMtd3JhcHBlciAuZm9ybS1pY29uczpmb2N1cywgaHRtbC5pZTggLmZvcm0taWNvbnMtd3JhcHBlciAuZm9ybS1pY29ucy5mb2N1c2VkIHtcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAjYjJkYmYwOyB9XG4gIC5mb3JtLWljb25zLXdyYXBwZXIgLmZvcm0taWNvbnMuaWNvbjphZnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5mb3JtLWljb25zLW1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjA4MzQxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAuZm9ybS1pY29ucy1tZXNzYWdlLmlzLWNsaWNrYWJsZSB7XG4gICAgY29sb3I6ICMwMDcwYzk7IH1cblxuLmZvcm0taWNvbnMtZm9jdXNhYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGh0bWwuaWU4IC5mb3JtLWljb25zLWZvY3VzYWJsZSAuZm9ybS1pY29uczpmb2N1cywgaHRtbC5pZTggLmZvcm0taWNvbnMtZm9jdXNhYmxlIC5mb3JtLWljb25zLmZvY3VzZWQge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjYjJkYmYwOyB9XG4gIC5mb3JtLWljb25zLWZvY3VzYWJsZSAuZm9ybS1pY29uczpmb2N1cyArIC5mb3JtLXRvb2x0aXAsXG4gIC5mb3JtLWljb25zLWZvY3VzYWJsZSAuZm9ybS1pY29ucy5mb2N1c2VkICsgLmZvcm0tdG9vbHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvcm0tdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTk2cHg7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgYm90dG9tOiAzMnB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgbGluZS1oZWlnaHQ6IDEuMzI7IH1cbiAgLmZvcm0tdG9vbHRpcDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0OiAwLjQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDAuNDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDAuNDM3NWVtIHNvbGlkICNmMmYyZjI7XG4gICAgYm90dG9tOiAtMC4zNzVlbTsgfVxuICAuZm9ybS1pY29ucy1iZWZvcmUgfiAuZm9ybS10b29sdGlwIHtcbiAgICBib3R0b206IDMzcHg7IH1cblxuLmZvcm0tdG9vbHRpcC13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0tdG9vbHRpcC13cmFwcGVyIC5mb3JtLWljb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmZvcm0tdG9vbHRpcC13cmFwcGVyIC5mb3JtLWljb25zLmZvcm0taWNvbnMtYmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDJweDsgfVxuXG4uZm9ybS10b29sdGlwLXRleHRib3gtaWNvbi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3JtLXRvb2x0aXAtdGV4dGJveC1pY29uLXdyYXBwZXIgLmZvcm0tdG9vbHRpcC13cmFwcGVyIC5mb3JtLWljb25zLmZvcm0taWNvbnMtYmVmb3JlIHtcbiAgICB0b3A6IDlweDsgfVxuXG4uZm9ybS10b29sdGlwLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4zNzU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7IH1cbiAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLXdyYXBwZXIgLmZvcm0tdG9vbHRpcC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5mb3JtLXRvb2x0aXAtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDsgfVxuICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24td3JhcHBlciAuZm9ybS10b29sdGlwLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDsgfVxuXG4uZm9ybS10b29sdGlwLWxlZnQge1xuICBsZWZ0OiAtMjlweDsgfVxuICAuZm9ybS10b29sdGlwLWxlZnQ6YWZ0ZXIge1xuICAgIGxlZnQ6IDAuNGVtOyB9XG4gICAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLXdyYXBwZXIgLmZvcm0tdG9vbHRpcC1sZWZ0OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDAuOGVtOyB9XG5cbi5mb3JtLXRvb2x0aXAtcmlnaHQge1xuICBsZWZ0OiAtMjAycHg7IH1cbiAgLmZvcm0tdG9vbHRpcC1yaWdodDphZnRlciB7XG4gICAgcmlnaHQ6IDAuNTE1NmVtOyB9XG5cbi5mb3JtLXRvb2x0aXAtbWlkZGxlIHtcbiAgbGVmdDogLTEwOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAuZm9ybS10b29sdGlwLW1pZGRsZSB7XG4gICAgICBsZWZ0OiAtMjAycHg7IH0gfVxuICAuZm9ybS10b29sdGlwLW1pZGRsZTphZnRlciB7XG4gICAgcmlnaHQ6IDYuNGVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLmZvcm0tdG9vbHRpcC1taWRkbGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMC41MTU2ZW07IH0gfVxuXG4uZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cbiAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tdG9vbHRpcC1yaWdodCB7XG4gICAgbGVmdDogLTE5N3B4OyB9XG4gIC5mb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyIC5mb3JtLXRvb2x0aXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5mb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyIC5mb3JtLXRvb2x0aXAge1xuICAgIGJvdHRvbTogOHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tdG9vbHRpcCB7XG4gICAgICAgIGJvdHRvbTogMjlweDsgfSB9XG4gIC5mb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyIC5mb3JtLXRvb2x0aXAtbWlkZGxlIHtcbiAgICBsZWZ0OiAtMTAycHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS10b29sdGlwLW1pZGRsZSB7XG4gICAgICAgIGxlZnQ6IC0xOTdweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tdG9vbHRpcC1taWRkbGUge1xuICAgICAgICBib3R0b206IDI5cHg7IH0gfVxuICAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS1pY29ucyB7XG4gICAgdG9wOiA5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0yM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0taWNvbnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tdGV4dGJveCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIzcHgpOyB9IH1cbiAgICAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS10ZXh0Ym94ICsgLmZvcm0tdG9vbHRpcC13cmFwcGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bzsgfVxuXG4uZm9ybS10ZXh0Ym94ICsgLmZvcm0tdG9vbHRpcC13cmFwcGVyIC5mb3JtLWljb25zIHtcbiAgbGVmdDogOHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLmhhcy1sYWJlbCAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS10ZXh0Ym94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uaXMtZXJyb3IgLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIgLmZvcm0tdGV4dGJveCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24td3JhcHBlciAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGFzLWxhYmVsIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyIC5mb3JtLXRleHRib3ggKyAuZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgICAgcGFkZGluZy10b3A6IDhweDsgfSB9XG4gIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyIC5mb3JtLXRleHRib3gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmhhcy1sYWJlbCAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24td3JhcHBlciAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmlzLWVycm9yIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyIC5mb3JtLXRleHRib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAuaGFzLWxhYmVsIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyICsgLmZvcm0tY2VsbC5mb3JtLWxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogMS4xMjVlbTsgfVxuXG4uZm9ybS10b29sdGlwLXZhbGlkYXRpb24ge1xuICB3aWR0aDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm90dG9tOiA1N3B4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctdG9wOiAxM3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24ge1xuICAgICAgYm90dG9tOiA0M3B4OyB9IH1cbiAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uIC5mb3JtLWljb25zIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjhlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0b3A6IDJweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbiAuZm9ybS1pY29ucyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41ZW07IH0gfVxuICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24gLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24gLmlzLXZhbGlkIC5mb3JtLWljb25zLWNpcmNsZTEzLFxuICAuZm9ybS10b29sdGlwLXZhbGlkYXRpb24gLmlzLWludmFsaWQgLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uIC5pcy12YWxpZCAuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uIC5pcy1pbnZhbGlkIC5mb3JtLWljb25zLXVudmFsaWRhdGVkYWx0MTMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZm9ybS10b29sdGlwLXZhbGlkYXRpb24tbXNnIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBtYXJnaW4tbGVmdDogMnB4OyB9XG4gIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2cgLmZvcm0taWNvbnMge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDsgfVxuICAgIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2cgLmZvcm0taWNvbnMuaWNvbi1iZWZvcmU6YmVmb3JlIHtcbiAgICAgIHRvcDogLTAuMTI1ZW07IH1cblxuLmZvcm0tdGV4dGJveCB7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIHBhZGRpbmctdG9wOiA1cHhcXDA7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cbiAgLmZvcm0tdGV4dGJveDpsYW5nKGFyKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR3VsZlwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuZm9ybS10ZXh0Ym94OmxhbmcoamEtSlApIHtcbiAgICBmb250LWZhbWlseTogXCJBcHBsZSBUUFwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLXRleHRib3g6bGFuZyhrby1LUikge1xuICAgIGZvbnQtZmFtaWx5OiBcIllvb24gR290aGljXCIsIFwiQXBwbGUgR290aGljXCIsIFwiSFkgR3VsaW1cIiwgXCJNYWxndW1Hb3RoaWNcIiwgXCJIWSBEb3R1bVwiLCBcIkxleGkgR3VsaW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmZvcm0tdGV4dGJveDpsYW5nKHRoLVRIKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3VraHVtdml0IFNldFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuZm9ybS10ZXh0Ym94OmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0NcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmZvcm0tdGV4dGJveDpsYW5nKHpoLUhLKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLXRleHRib3g6bGFuZyh6aC1NTykge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQ1wiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuZm9ybS10ZXh0Ym94OmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVENcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLXRleHRib3gge1xuICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLmhhcy1sYWJlbCAuZm9ybS1ibG9jay1sYWJlbCArIC5mb3JtLXRleHRib3g6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7IH0gfVxuICAuZm9ybS10ZXh0Ym94OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgLmZvcm0tdGV4dGJveDpmb2N1cyB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzBjOTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDExMiwgMjAxLCAwLjMpOyB9XG4gIC5mb3JtLXRleHRib3guZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAuZm9ybS10ZXh0Ym94LmRpc2FibGVkOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7IH1cbiAgLmZvcm0tdGV4dGJveDppbnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAuZm9ybS10ZXh0Ym94OmludmFsaWQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7IH1cbiAgICAuZm9ybS10ZXh0Ym94OmludmFsaWQgfiAuZm9ybS1pcy12YWxpZC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0tdGV4dGJveDp2YWxpZDpmb2N1cyB+IC5mb3JtLWlzLXZhbGlkLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdG9wOiA0cHg7IH1cbiAgLmZvcm0tdGV4dGJveFt2YWx1ZT1cIlwiXSB+IC5mb3JtLWlzLXZhbGlkLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLWVycm9yIC5mb3JtLXRleHRib3gge1xuICBib3JkZXItY29sb3I6ICNlZTAwMDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM4LCAwLCAwLCAwLjEpOyB9XG4gIC5pcy1lcnJvciAuZm9ybS10ZXh0Ym94OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7IH1cbiAgLmlzLWVycm9yIC5mb3JtLXRleHRib3ggfiAuZm9ybS1pcy12YWxpZC1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy12YWxpZCAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0taXMtdmFsaWQtaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAzO1xuICB0b3A6IDRweDsgfVxuXG4uaXMtZXJyb3IgLmZvcm0tdGV4dGJveCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZvcm0tdGV4dGJveC10ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDEzNnB4O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIG1hcmdpbi1ib3R0b206IDlweDsgfVxuXG4uZm9ybS1tZXNzYWdlLXdyYXBwZXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2NjY3O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLmlzLWVycm9yIC5mb3JtLW1lc3NhZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2VlMDAwMDsgfVxuXG4uZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMi4wOTM3NTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4IDNweDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGhlaWdodDogMS45OWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpcmVjdGlvbjogbHRyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAzOyB9IH1cbiAgLmlzLWVycm9yIC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM4LCAwLCAwLCAwLjA0KTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjM4LCAwLCAwLCAwLjA0KTsgfVxuICAuaXMtZXJyb3IgLmZvcm0tdGV4dGJveDpmb2N1cyB+IC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNkNmQ2ZDY7IH1cblxuLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94IHtcbiAgcGFkZGluZy10b3A6IDJweDtcbiAgaGVpZ2h0OiAyLjEyNWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3gge1xuICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd24gfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3guZm9ybS10ZXh0Ym94LWVudGVyZWQgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgaHRtbC5uby1qcyAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3g6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTk5OTsgfVxuICBodG1sLm5vLWpzIC5mb3JtLWNvdW50cnljb2RlLXdyYXBwZXIgLmZvcm0tdGV4dGJveC5mb3JtLWNvdW50cnljb2RlLXRleHRib3gtc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogNjZweDsgfVxuICBodG1sLm5vLWpzIC5mb3JtLWNvdW50cnljb2RlLXdyYXBwZXIgLmZvcm0tdGV4dGJveC5mb3JtLWNvdW50cnljb2RlLXRleHRib3gtc21hbGwgKyAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgIGxlZnQ6IDUwcHg7IH1cbiAgaHRtbC5uby1qcyAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3guZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc0cHg7IH1cbiAgaHRtbC5uby1qcyAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3guZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94ICsgLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBsZWZ0OiA1OHB4OyB9XG4gIGh0bWwubm8tanMgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogODJweDsgfVxuICBodG1sLm5vLWpzIC5mb3JtLWNvdW50cnljb2RlLXdyYXBwZXIgLmZvcm0tdGV4dGJveC5mb3JtLWNvdW50cnljb2RlLXRleHRib3gtbWVkaXVtICsgLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBsZWZ0OiA2NnB4OyB9XG4gIGh0bWwubm8tanMgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA5NXB4OyB9XG4gIGh0bWwubm8tanMgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1sYXJnZSArIC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgbGVmdDogNzlweDsgfVxuICBodG1sLmllOCAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3gge1xuICAgIGhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9XG4gIC5mb3JtLWNvdW50cnljb2RlLXdyYXBwZXIgLmZvcm0tdGV4dGJveDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLXRleHRib3guZm9ybS10ZXh0Ym94LWlzcGxhY2Vob2xkZXJzaG93bjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd246OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLWNvdW50cnljb2RlLXdyYXBwZXIgLmZvcm0tdGV4dGJveC5mb3JtLXRleHRib3gtaXNwbGFjZWhvbGRlcnNob3duOjpwbGFjZWhvbGRlcjpmb2N1cywgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd246OnBsYWNlaG9sZGVyLmZvY3VzZWQge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH0gfVxuLmhhcy1sYWJlbCAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5oYXMtbGFiZWwgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciAuZm9ybS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLmhhcy1sYWJlbCAuZm9ybS1jb3VudHJ5Y29kZS13cmFwcGVyIC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gIC5oYXMtbGFiZWwgLmZvcm0tc2lkZWJ5c2lkZS10ZXh0Ym94ZXMgLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XG4gIC5oYXMtbGFiZWwgLmZvcm0tc2lkZWJ5c2lkZS10ZXh0Ym94ZXMgLmNvbHVtbiArIC5jb2x1bW4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9IH1cbi5oYXMtbGFiZWwgLmZvcm0tY2VsbC5mb3JtLXNpZGVieXNpZGUtbGFiZWwge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG5odG1sLmllOCAuZm9ybS10ZXh0Ym94IHtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiAzM3B4OyB9XG5odG1sLmllOCAuZm9ybS10ZXh0Ym94LXRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMTIwcHg7IH1cbi5mb3JtLXNpZGVieXNpZGUtdGV4dGJveGVzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZm9ybS1zaWRlYnlzaWRlLXRleHRib3hlcyAuY29sdW1uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5mb3JtLXNpZGVieXNpZGUtdGV4dGJveGVzIC5jb2x1bW4gKyAuY29sdW1uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uZm9ybS1sYWJlbCxcbi5mb3JtLWJsb2NrLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIG1hcmdpbi10b3A6IDlweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5mb3JtLWxhYmVsLWZseW91dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tY2VsbC5mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuXG4uZm9ybS1jZWxsICsgLmZvcm0tY2VsbC5mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAuaGFzLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlyZWN0aW9uOiBsdHI7IH1cbiAgICAuaGFzLWxhYmVsIC5mb3JtLXRleHRib3g6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICBodG1sLm5vLWpzIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAuaGFzLWxhYmVsIC5pcy1lcnJvciAuZm9ybS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgLmhhcy1sYWJlbCAuaXMtZXJyb3IgLmZvcm0tdGV4dGJveDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhhcy1sYWJlbCAuaXMtZXJyb3IgLmZvcm0tdGV4dGJveDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAuaGFzLWxhYmVsIC5mb3JtLWNlbGwuZm9ybS1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICBjbGlwLXBhdGg6IGluc2V0KDBweCAwcHggOTkuOSUgOTkuOSUpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuaGFzLWxhYmVsIC5mb3JtLWxhYmVsLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgbGVmdDogMTZweDtcbiAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yOCwgMC4xMSwgMC4zMiwgMSksIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yOCwgMC4xMSwgMC4zMiwgMSk7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLmhhcy1sYWJlbCAuZm9ybS1sYWJlbC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgICAgIHRvcDogLTQ5cHg7XG4gICAgICAgIGxlZnQ6IDE1cHg7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgaHRtbC5uby1qcyAuaGFzLWxhYmVsIC5mb3JtLWxhYmVsLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkgYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAuaGFzLWxhYmVsIC5mb3JtLWxhYmVsLmZvcm0tbGFiZWwtZmx5b3V0LmlzLWhpZGRlbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmhhcy1sYWJlbCAuZm9ybS10ZXh0Ym94OmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAuaGFzLWxhYmVsIC5mb3JtLXRleHRib3g6Zm9jdXMgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICB0b3A6IC00MnB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAgIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDpmb2N1cyB+IC5mb3JtLWxhYmVsLWZseW91dDphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICAgICAgei1pbmRleDogMTsgfVxuICAgIC5oYXMtbGFiZWwgLmlzLWVycm9yIC5mb3JtLXRleHRib3g6Zm9jdXMgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZWJlYjtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAuaGFzLWxhYmVsIC5pcy1lcnJvciAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0tbGFiZWwtZmx5b3V0OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZlZWJlYjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveC5mb3JtLXRleHRib3gtZW50ZXJlZCB+IC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmhhcy1sYWJlbCAuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1lbnRlcmVkOmZvY3VzIH4gLmZvcm0tbGFiZWwtZmx5b3V0LCAuaGFzLWxhYmVsIC5mb3JtLXRleHRib3guZm9ybS10ZXh0Ym94LWVudGVyZWQuZm9jdXNlZCB+IC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmhhcy1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAuaGFzLWxhYmVsIC5mb3JtLXJvdyAuZm9ybS1sYWJlbCB7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfSB9XG4uaGFzLWxhYmVsIC5mb3JtLXRleHRib3ggfiAuZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAzcHg7IH1cbiAgLmhhcy1sYWJlbCAuZm9ybS10ZXh0Ym94IH4gLmZvcm0tbGFiZWwuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cblxuLmlzLWVycm9yIC5mb3JtLWJsb2NrLWxhYmVsLFxuLmlzLWVycm9yIC5mb3JtLWxhYmVsLCAuaXMtZXJyb3IuZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjZWUwMDAwOyB9XG5cbjppbnZhbGlkIH4gLmZvcm0tbGFiZWwge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4uaGFzLWxhYmVsIC5mb3JtLXJvdyAuZm9ybS1sYWJlbCxcbi5mb3JtLWNlbGwuZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXRvcDogOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuaGFzLWxhYmVsIC5mb3JtLXJvdyAuZm9ybS1sYWJlbCxcbiAgICAuZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uZm9ybS10aXRsZSArIC5mb3JtLWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMTlweDsgfVxuXG4uZm9ybS1zZWxlY3Rvci1yb3d3aXRoZ3V0dGVycyB7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICBtYXJnaW4tcmlnaHQ6IC04cHg7IH1cbiAgLmZvcm0tc2VsZWN0b3Itcm93d2l0aGd1dHRlcnMgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuZm9ybS1zZWxlY3Rvci1yb3d3aXRoZ3V0dGVycyArIC5mb3JtLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZm9ybS1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS1zZWxlY3RvciB7XG4gICAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH0gfVxuICAuZm9ybS1zZWxlY3RvciAuaWNvbi1hcHBsZS1vbmVsaW5lICsgLmljb24tbGFiZWwge1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMDsgfVxuICAuZm9ybS1zZWxlY3RvciAuaWNvbi1hcHBsZS10d29saW5lcyArIC5pY29uLWxhYmVsIHtcbiAgICB0b3A6IC0xMHB4OyB9XG4gIC5pcy1lcnJvciAuZm9ybS1zZWxlY3RvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTgzO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4uZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmljb24ge1xuICBtYXJnaW4tdG9wOiAxcHg7IH1cbi5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuaWNvbi1hcHBsZSB7XG4gIGZvbnQtc2l6ZTogMzNweDsgfVxuICAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmljb24tYXBwbGUuaWNvbi1hcHBsZS1vbmVsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5pY29uLWFwcGxlLmljb24tYXBwbGUtdHdvbGluZXMge1xuICAgIG1hcmdpbi10b3A6IDdweDsgfVxuLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5pY29uLWNpcmNsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5pY29uLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC05cHg7IH1cbiAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5pY29uLWxhYmVsLmZvcm0tbGFiZWwtc21hbGwge1xuICAgIHRvcDogLThweDtcbiAgICBsZWZ0OiAxcHg7IH1cbi5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuY29sb3JuYXYtc3dhdGNoIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDFweDsgfVxuXG4uZm9ybS1sYWJlbC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgbWFyZ2luLXRvcDogMXB4OyB9XG4gIC5jb2xvcm5hdi1zd2F0Y2ggKyAuZm9ybS1sYWJlbC1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5mb3JtLWxhYmVsLWRhcmsge1xuICBjb2xvcjogIzMzMzMzMzsgfVxuXG4uZm9ybS1sYWJlbC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogM3B4OyB9XG5cbi5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmZvcm0tc2VsZWN0b3Itc2luZ2xlY29sdW1uIC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgbWluLXdpZHRoOiAxMjVweDsgfVxuICAgIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmljb24sXG4gICAgLmZvcm0tc2VsZWN0b3Itc2luZ2xlY29sdW1uIC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuaWNvbi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmNvbG9yc2VsZWN0b3Itc3dhdGNoICsgLmZvcm0tbGFiZWwtc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvcm0tc2VsZWN0b3ItdHdvY29sdW1ucyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1heC13aWR0aDogMzcycHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLXNlbGVjdG9yLXR3b2NvbHVtbnMge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZm9ybS1zZWxlY3Rvci10d29jb2x1bW5zIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgaGVpZ2h0OiA1LjhlbTsgfVxuICAuZm9ybS1zZWxlY3Rvci10d29jb2x1bW5zLmZvcm0tc2VsZWN0b3J0d29jb2x1bW5zLW9uZWxpbmUgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICBoZWlnaHQ6IDc0cHg7IH1cblxuLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wgLmljb24tbGFiZWwge1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wgLmljb24tYmVmb3JlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wgLmljb24tY2lyY2xlLmljb24tYmVmb3JlOmJlZm9yZSB7XG4gICAgdG9wOiAtMC4wOGVtOyB9XG5cbi5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sbGVmdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0IC5pY29uLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE0Mjk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtM3B4OyB9XG4gICAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0IC5pY29uLWxhYmVsLmZvcm0tbGFiZWwtc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0IC5jb2xvcm5hdi1zd2F0Y2gge1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuXG4uZm9ybS1jaG9pY2VzZWxlY3RvcmxhYmVsLXR3b2NvbHJpZ2h0IHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xyaWdodC5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWxvbmVsaW5lLXR3b2NvbHJpZ2h0IHtcbiAgICBwYWRkaW5nLXRvcDogMXB4OyB9XG4gICAgLmZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xyaWdodC5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWxvbmVsaW5lLXR3b2NvbHJpZ2h0LmZvcm0tbGFiZWwtc21hbGwge1xuICAgICAgcGFkZGluZy10b3A6IDNweDsgfVxuXG4uZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZm9ybS1jaG9pY2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDEycHg7XG4gIGJvdHRvbTogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAyOyB9XG4gIC5mb3JtLWNob2ljZSB+IC5mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZm9ybS1jaG9pY2UgfiAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAuZm9ybS1jaG9pY2UgfiAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgICAgICAgICB0b3A6IDJweDsgfSB9XG4gIC5mb3JtLWNob2ljZTpmb2N1cyArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3IsIC5mb3JtLWNob2ljZS5mb2N1c2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MGM5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDExMiwgMjAxLCAwLjMpOyB9XG4gIC5mb3JtLWNob2ljZTpjaGVja2VkIH4gLmZvcm0tbGFiZWwsIC5mb3JtLWNob2ljZTpjaGVja2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5mb3JtLWxhYmVsIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAuZm9ybS1jaG9pY2U6Y2hlY2tlZCB+IC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICMwMDcwYzk7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDsgfVxuXG4uaXMtZXJyb3IgLmZvcm0tY2hvaWNlIC5mb3JtLWxhYmVsIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmZvcm0tY2hvaWNlLXJhZGlvICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmZvcm0tY2hvaWNlLXJhZGlvICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvciB7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGxlZnQ6IDFweDsgfSB9XG5cbi5mb3JtLWNob2ljZS1jaGVja2JveCArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLWNob2ljZS1jaGVja2JveCArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBsZWZ0OiAxcHg7IH0gfVxuLmZvcm0tY2hvaWNlLWNoZWNrYm94OmNoZWNrZWQgKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZDogIzAwNzBjOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjpiZWZvcmUsIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgSWNvbnNcIjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBhbHQ6ICcnOyB9XG4gIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjpiZWZvcmUsIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjphZnRlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZvcm0tY2hvaWNlLWNoZWNrYm94OmNoZWNrZWQgKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yOmJlZm9yZSwgLmZvcm0tY2hvaWNlLWNoZWNrYm94OmNoZWNrZWQgKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+BglwiOyB9XG4uZm9ybS1jaG9pY2UtY2hlY2tib3g6Y2hlY2tlZCArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3I6YWZ0ZXIge1xuICBjb2xvcjogd2hpdGU7XG4gIHRvcDogLTVweDtcbiAgbGVmdDogLTEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMjRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC1zaXplOiAxOXB4OyB9XG5cbi5mb3JtLWNob2ljZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLW1zLWZpbHRlcjogJ3Byb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApJztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBodG1sLmllOCAuZm9ybS1jaG9pY2Utc2VsZWN0b3Ige1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5mb3JtLWNob2ljZS1zZWxlY3RvcjpjaGVja2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmNoZWNrZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwge1xuICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLnNlbGVjdGVkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLnNlbGVjdGVkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5mb3JtLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1LjllbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG4gIC5mb3JtLWNob2ljZS1zZWxlY3Rvcjpob3ZlciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5OyB9XG4gICAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmhvdmVyIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5mb3JtLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5mb3JtLWNob2ljZS1zZWxlY3Rvcjpob3ZlcjpjaGVja2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7IH1cbiAgICAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6aG92ZXI6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Zm9jdXMgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwsIC5mb3JtLWNob2ljZS1zZWxlY3RvcjphY3RpdmUgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwsIC5mb3JtLWNob2ljZS1zZWxlY3Rvci5mb2N1c2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcwYzk7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMTEyLCAyMDEsIDAuMyk7IH1cbiAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmNoZWNrZWQ6Zm9jdXMgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwsIC5mb3JtLWNob2ljZS1zZWxlY3RvcjpjaGVja2VkLmZvY3VzZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzBjOTsgfVxuICAuZm9ybS1jaG9pY2Utc2VsZWN0b3Iucm91bmRlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5mb3JtLWRyb3Bkb3duIHtcbiAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjEyNWVtO1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwIDAgMCAxNnB4XFwwO1xuICBtaW4taGVpZ2h0OiAzMnB4OyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcoYXIpIHtcbiAgICBmb250LWZhbWlseTogXCJHdWxmXCIsIFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcoamEtSlApIHtcbiAgICBmb250LWZhbWlseTogXCJBcHBsZSBUUFwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgXCJNZWlyeW9cIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcoa28tS1IpIHtcbiAgICBmb250LWZhbWlseTogXCJZb29uIEdvdGhpY1wiLCBcIkFwcGxlIEdvdGhpY1wiLCBcIkhZIEd1bGltXCIsIFwiTWFsZ3VtR290aGljXCIsIFwiSFkgRG90dW1cIiwgXCJMZXhpIEd1bGltXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcodGgtVEgpIHtcbiAgICBmb250LWZhbWlseTogXCJTdWtodW12aXQgU2V0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcoemgtQ04pIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0NcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmZvcm0tZHJvcGRvd246bGFuZyh6aC1ISykge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQ1wiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAuZm9ybS1kcm9wZG93bjpsYW5nKHpoLU1PKSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gIC5mb3JtLWRyb3Bkb3duOmxhbmcoemgtVFcpIHtcbiAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVENcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmZvcm0tZHJvcGRvd246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNzBjOTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDExMiwgMjAxLCAwLjMpOyB9XG4gIC5mb3JtLWRyb3Bkb3duIH4gLmZvcm0taWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIHRvcDogNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICAgIGRpc3BsYXk6IG5vbmVcXDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAuZm9ybS1kcm9wZG93biB+IC5mb3JtLWljb24ge1xuICAgICAgICByaWdodDogMTZweDsgfSB9XG4gIC5pcy1lcnJvciAuZm9ybS1kcm9wZG93biB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWUwMDAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM4LCAwLCAwLCAwLjEpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaXMtZXJyb3IgLmZvcm0tZHJvcGRvd246Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA3MGM5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmZvcm0tYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuXG4uZm9ybS1idXR0b24tYW9zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzOTgwODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMxNWM0MTgsICMwMzk4MDgpO1xuICBib3JkZXItY29sb3I6ICMwN2M7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAwOyB9XG4gIC5mb3JtLWJ1dHRvbi1hb3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EwMWM7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMyOGM5MmEsICMxN2EwMWMpO1xuICAgIGJvcmRlci1jb2xvcjogIzE0ODJkMDsgfVxuICAuZm9ybS1idXR0b24tYW9zOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOGMwNztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzEzYjQxNiwgIzAzOGMwNyk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2ZGJjOyB9XG4gIC5mb3JtLWJ1dHRvbi1hb3M6ZGlzYWJsZWQsIC5mb3JtLWJ1dHRvbi1hb3MuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzk4MDg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMxNWM0MTgsICMwMzk4MDgpO1xuICAgIGJvcmRlci1jb2xvcjogIzA3YztcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBodG1sLmllOCAuZm9ybS1idXR0b24tYW9zOmRpc2FibGVkLCBodG1sLmllOCAuZm9ybS1idXR0b24tYW9zLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2UwYjU7IH1cblxuLmZvcm0tYnV0dG9uLWhvbGlkYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2UyMiwgI2NjMDAwMCk7XG4gIGJvcmRlci1jb2xvcjogIzA3YztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDA7IH1cbiAgLmZvcm0tYnV0dG9uLWhvbGlkYXk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMDE0MTQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNlZjM0MzQsICNkMDE0MTQpO1xuICAgIGJvcmRlci1jb2xvcjogIzE0ODJkMDsgfVxuICAuZm9ybS1idXR0b24taG9saWRheTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYzAwMDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNkYjFmMWYsICNiYzAwMDApO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNmRiYzsgfVxuICAuZm9ybS1idXR0b24taG9saWRheTpkaXNhYmxlZCwgLmZvcm0tYnV0dG9uLWhvbGlkYXkuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNlMjIsICNjYzAwMDApO1xuICAgIGJvcmRlci1jb2xvcjogIzA3YztcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICBodG1sLmllOCAuZm9ybS1idXR0b24taG9saWRheTpkaXNhYmxlZCwgaHRtbC5pZTggLmZvcm0tYnV0dG9uLWhvbGlkYXkuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYjNiMzsgfVxuXG4uZm9ybS10b2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxcHg7IH1cbiAgLmZvcm0tdG9nZ2xlLmZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMzhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLmZvcm0tdG9nZ2xlLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDZkNjtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMTNweDtcbiAgYm9yZGVyLXJhZGl1czogMTNweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3I6YmVmb3JlLCAuZm9ybS10b2dnbGUtaW5kaWNhdG9yOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmZvcm0tdG9nZ2xlLWluZGljYXRvcjpiZWZvcmUge1xuICAgIHRvcDogNHB4O1xuICAgIGxlZnQ6IDE4cHg7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsgfVxuICAgIC5mb3JtLWNob2ljZTpjaGVja2VkICsgLmZvcm0tdG9nZ2xlIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDdweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMzMzMzMzM7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHRvcDogNHB4OyB9XG4gIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3I6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjRzOyB9XG4gICAgLmZvcm0tY2hvaWNlOmNoZWNrZWQgKyAuZm9ybS10b2dnbGUgLmZvcm0tdG9nZ2xlLWluZGljYXRvcjphZnRlciB7XG4gICAgICBsZWZ0OiAxNXB4OyB9XG4gIC5mb3JtLWNob2ljZTpjaGVja2VkICsgLmZvcm0tdG9nZ2xlIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwYzk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3MGM5OyB9XG4gIC5mb3JtLWNob2ljZTpmb2N1cyArIC5mb3JtLXRvZ2dsZSAuZm9ybS10b2dnbGUtaW5kaWNhdG9yLCAuZm9ybS1jaG9pY2UuZm9jdXNlZCArIC5mb3JtLXRvZ2dsZSAuZm9ybS10b2dnbGUtaW5kaWNhdG9yIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA3MGM5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDExMiwgMjAxLCAwLjMpOyB9XG4gIC5mb3JtLWNob2ljZTpmb2N1czpjaGVja2VkICsgLmZvcm0tdG9nZ2xlIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3IsIC5mb3JtLWNob2ljZTpjaGVja2VkLmZvY3VzZWQgKyAuZm9ybS10b2dnbGUgLmZvcm0tdG9nZ2xlLWluZGljYXRvciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwNzBjOTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTFweDsgfVxuXG5odG1sLmllOCAuZm9ybS1jaG9pY2Uuc2VsZWN0ZWQgfiAuZm9ybS10b2dnbGUgLmZvcm0tdG9nZ2xlLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcwYzk7IH1cbiAgaHRtbC5pZTggLmZvcm0tY2hvaWNlLnNlbGVjdGVkIH4gLmZvcm0tdG9nZ2xlIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICBsZWZ0OiA3cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzMzMzMzO1xuICAgIGhlaWdodDogNXB4O1xuICAgIHRvcDogNHB4OyB9XG4gIGh0bWwuaWU4IC5mb3JtLWNob2ljZS5zZWxlY3RlZCB+IC5mb3JtLXRvZ2dsZSAuZm9ybS10b2dnbGUtaW5kaWNhdG9yOmFmdGVyIHtcbiAgICBsZWZ0OiAxNXB4OyB9XG4udGhlbWUtZGFyayAuZm9ybS1sYWJlbCxcbi50aGVtZS1kYXJrIC5mb3JtLWJsb2NrLWxhYmVsLFxuLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlIH4gLmZvcm0tbGFiZWwge1xuICBjb2xvcjogI2NjY2NjYzsgfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAudGhlbWUtZGFyayAuaGFzLWxhYmVsIC5pcy1lcnJvciAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzMxNzE3OyB9XG4gICAgLnRoZW1lLWRhcmsgLmhhcy1sYWJlbCAuaXMtZXJyb3IgLmZvcm0tdGV4dGJveDpmb2N1cyB+IC5mb3JtLWxhYmVsLWZseW91dDphZnRlciB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjNzMxNzE3OyB9IH1cbi50aGVtZS1kYXJrIC5mb3JtLWRyb3Bkb3duIHtcbiAgY29sb3I6ICNjY2NjY2M7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNCwgMjE0LCAyMTQsIDAuMik7IH1cbiAgLnRoZW1lLWRhcmsgLmZvcm0tZHJvcGRvd246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY2YmJmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMDIsIDE4NywgMjU1LCAwLjMpOyB9XG4udGhlbWUtZGFyayAuaXMtZXJyb3IgLmZvcm0tZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjIpO1xuICBib3JkZXItY29sb3I6ICNmZjMzMzM7XG4gIGNvbG9yOiAjY2NjY2NjOyB9XG4gIC50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS1kcm9wZG93bjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjZiYmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMDIsIDE4NywgMjU1LCAwLjMpOyB9XG4udGhlbWUtZGFyayAuZm9ybS10b2dnbGUtaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNCwgMjE0LCAyMTQsIDAuMik7IH1cbiAgLnRoZW1lLWRhcmsgLmZvcm0tdG9nZ2xlLWluZGljYXRvcjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2U6Y2hlY2tlZCArIC5mb3JtLXRvZ2dsZSAuZm9ybS10b2dnbGUtaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YmJmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNjZiYmZmOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2U6Y2hlY2tlZCArIC5mb3JtLXRvZ2dsZSAuZm9ybS10b2dnbGUtaW5kaWNhdG9yOmJlZm9yZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjMpOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXNlbGVjdG9yIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5mb3JtLWxhYmVsLWxhcmdlIHtcbiAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAudGhlbWUtZGFyayAuZm9ybS1jaG9pY2Utc2VsZWN0b3IgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwtZGFyayB7XG4gICAgY29sb3I6ICNjY2NjY2M7IH1cbiAgLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXNlbGVjdG9yIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5jb2xvcm5hdi1zd2F0Y2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3Rvcjpob3ZlciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjYpOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3Rvcjpob3ZlciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3Rvcjpmb2N1cyB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCwgLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmFjdGl2ZSB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCwgLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLmZvY3VzZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICBib3JkZXItY29sb3I6ICM2NmJiZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEwMiwgMTg3LCAyNTUsIDAuMyk7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzY2YmJmZjsgfVxuICAudGhlbWUtZGFyayAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgY29sb3I6ICNjY2NjY2M7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1zZWxlY3Rvci5zZWxlY3RlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzY2YmJmZjsgfVxuICAudGhlbWUtZGFyayAuZm9ybS1jaG9pY2Utc2VsZWN0b3Iuc2VsZWN0ZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwge1xuICAgIGNvbG9yOiAjY2NjY2NjOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Y2hlY2tlZDpmb2N1cyB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCwgLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmNoZWNrZWQuZm9jdXNlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzY2YmJmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTAyLCAxODcsIDI1NSwgMC4zKTsgfVxuLnRoZW1lLWRhcmsgLmZvcm0tY2hvaWNlLXJhZGlvOmNoZWNrZWQgfiAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjZiYmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2UtcmFkaW8gKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbi50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS1jaG9pY2UtcmFkaW8gfiAuZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2UtY2hlY2tib3g6Y2hlY2tlZCB+IC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICBib3JkZXItY29sb3I6ICM2NmJiZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NmJiZmY7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWNob2ljZS1jaGVja2JveDpjaGVja2VkIH4gLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvcjphZnRlciB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG4udGhlbWUtZGFyayAuZm9ybS1jaG9pY2UtY2hlY2tib3ggKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbi50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS1jaG9pY2UtY2hlY2tib3ggfiAuZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4udGhlbWUtZGFyayAuZm9ybS1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC4yKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyNywgMjI3LCAyMjcsIDAuMyk7IH1cbiAgLnRoZW1lLWRhcmsgLmZvcm0tYWxlcnQuaXMtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA1MSwgNTEsIDAuMjUpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDUxLCA1MSwgMC40KTsgfVxuLnRoZW1lLWRhcmsgLmZvcm0tdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7XG4gIGNvbG9yOiAjYzVjNWM1OyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXRvb2x0aXA6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0NDQ0NDQ7IH1cbi50aGVtZS1kYXJrIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTIweCUzRCUyMjBweCUyMiUyMHklM0QlMjIwcHglMjIlMjB3aWR0aCUzRCUyMjE1cHglMjIlMjBoZWlnaHQlM0QlMjIxNXB4JTIyJTIwdmlld0JveCUzRCUyMi0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIwZW5hYmxlLWJhY2tncm91bmQlM0QlMjJuZXclMjAtMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMHhtbCUzQXNwYWNlJTNEJTIycHJlc2VydmUlMjIlMjBzdHlsZSUzRCUyMiUyMiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MTAyJTJDMTAyJTJDMTAyJTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OC0wLjY4OSUyQzEuNDktMS4yMyUyQzIuMzgzLTEuNjA3YzAuOTI1LTAuMzkyJTJDMS45MDgtMC41OSUyQzIuOTItMC41OSUyMCUyMCUyMGMxLjAxMiUyQzAlMkMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTNweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNpcmNsZTEzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDdweDsgfVxuLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NnJTNFJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjJyZ2IlMjgxMjElMkMxNjIlMkMyOCUyOSUyMiUyMHBvaW50cyUzRCUyMi0yMDEuMjI0JTJDMTQ2LjkyNyUyMC0yMDMuNzAyJTJDMTQ0LjM5OSUyMC0yMDMuMDElMkMxNDMuNzIyJTIwLTIwMS4yMTglMkMxNDUuNTUlMjAtMTk3LjUyMiUyQzE0MS44NDQlMjAlMjAlMjAlMjAlMjAtMTk2LjgzNyUyQzE0Mi41MjclMjAlMjAlMjIlMkYlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODEyMSUyQzE2MiUyQzI4JTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OS0wLjY4OSUyQzEuNDkxLTEuMjI5JTJDMi4zODQtMS42MDdjMC45MjQtMC4zOTIlMkMxLjkwNy0wLjU5JTJDMi45MTktMC41OSUyMCUyMCUyMCUyMHMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMjY3cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWRhbHQxMyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjA0JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0yMDAuNSUyQzEzN2MxLjAxMiUyQzAlMkMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwNyUyMCUyMCUyMCUyMGMwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODRjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MTklMjAlMjAlMjAlMjBjLTAuMzc4JTJDMC44OTMtMC45MTglMkMxLjY5NS0xLjYwNyUyQzIuMzg0Yy0wLjY4OSUyQzAuNjg5LTEuNDkxJTJDMS4yMjktMi4zODQlMkMxLjYwN2MtMC45MjQlMkMwLjM5Mi0xLjkwNyUyQzAuNTktMi45MTklMkMwLjU5JTIwJTIwJTIwJTIwcy0xLjk5NS0wLjE5OC0yLjkyLTAuNTljLTAuODkzLTAuMzc4LTEuNjk1LTAuOTE4LTIuMzg0LTEuNjA3Yy0wLjY4OS0wLjY4OS0xLjIyOS0xLjQ5MS0xLjYwNy0yLjM4NCUyMCUyMCUyMCUyMGMtMC4zOTEtMC45MjQtMC41ODktMS45MDctMC41ODktMi45MTlzMC4xOTgtMS45OTUlMkMwLjU5LTIuOTJjMC4zNzgtMC44OTMlMkMwLjkxOC0xLjY5NSUyQzEuNjA3LTIuMzg0JTIwJTIwJTIwJTIwYzAuNjg5LTAuNjg5JTJDMS40OTEtMS4yMjklMkMyLjM4NC0xLjYwN0MtMjAyLjQ5NSUyQzEzNy4xOTgtMjAxLjUxMiUyQzEzNy0yMDAuNSUyQzEzN3olMjBNLTIwMC41JTJDMTUxLjAzM2MwLjg4MiUyQzAlMkMxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNGMtMC44MDUtMC4zNDEtMS42NjEtMC41MTMtMi41NDMtMC41MTNzLTEuNzM4JTJDMC4xNzMtMi41NDMlMkMwLjUxMyUyMCUyMCUyMCUyMGMtMC43NzglMkMwLjMyOS0xLjQ3NyUyQzAuOC0yLjA3NyUyQzEuNHMtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40Qy0yMDIuMjM4JTJDMTUwLjg2MS0yMDEuMzgyJTJDMTUxLjAzMy0yMDAuNSUyQzE1MS4wMzN6JTIyJTJGJTNFJTIwJTNDZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjA0JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0yMDAuNDg3JTJDMTQ2Ljg1M2MtMC4yMzglMkMwLTAuNDM3JTJDMC4wNzUtMC41OSUyQzAuMjI0Yy0wLjE1NCUyQzAuMTQ5LTAuMjMyJTJDMC4zNDYtMC4yMzIlMkMwLjU4NSUyMCUyMCUyMCUyMCUyMGMwJTJDMC4yMzglMkMwLjA3NiUyQzAuNDM1JTJDMC4yMjUlMkMwLjU4NHMwLjM0NiUyQzAuMjI0JTJDMC41ODQlMkMwLjIyNGMwLjIyOSUyQzAlMkMwLjQyNC0wLjA3OCUyQzAuNTc3LTAuMjMxYzAuMTU0LTAuMTUzJTJDMC4yMzItMC4zNDglMkMwLjIzMi0wLjU3OCUyMCUyMCUyMCUyMCUyMGMwLTAuMjMtMC4wNzUtMC40MjQtMC4yMjQtMC41NzdTLTIwMC4yNTYlMkMxNDYuODUzLTIwMC40ODclMkMxNDYuODUzeiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODIwNCUyQzAlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMTk5LjkzNyUyQzE0NS4xMjdjMCUyQzAuMzg1LTAuMTcxJTJDMC42OTctMC41NjglMkMwLjY5N2wwJTJDMGMtMC4zOTclMkMwLTAuNTY4LTAuMzEyLTAuNTY4LTAuNjk3JTIwJTIwJTIwJTIwYzAlMkMwLTAuMzM4LTMuNDI4LTAuMjc4LTMuODc5YzAuMDUyLTAuMzkxJTJDMC4zMjItMC42NzUlMkMwLjcyLTAuNjc1aDAuMjUzYzAuMzk3JTJDMCUyQzAuNjI1JTJDMC4zMDYlMkMwLjcyJTJDMC42NzUlMjAlMjAlMjAlMjBDLTE5OS41NTklMkMxNDEuNjM2LTE5OS45MzclMkMxNDUuMTI3LTE5OS45MzclMkMxNDUuMTI3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy11bnZhbGlkYXRlZGFsdDEzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMjI3cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtaW5mbzE1IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODEwMiUyQzE4NyUyQzI1NSUyOSUyMiUyMGQlM0QlMjJNLTE5My41NDklMkMxNDEuNjc4Yy0wLjM3Ny0wLjkzMS0wLjkzMi0xLjc2NS0xLjY0OC0yLjQ4MWMtMC43MTYtMC43MTYtMS41NTEtMS4yNy0yLjQ4MS0xLjY0OCUyMCUyMCUyMGMtMC44OTktMC4zNjQtMS44NDgtMC41NDktMi44MjItMC41NDlzLTEuOTIzJTJDMC4xODUtMi44MjIlMkMwLjU0OWMtMC45MzElMkMwLjM3Ny0xLjc2NSUyQzAuOTMyLTIuNDgxJTJDMS42NDglMjAlMjAlMjBjLTAuNzE2JTJDMC43MTYtMS4yNyUyQzEuNTUxLTEuNjQ4JTJDMi40ODFjLTAuMzY0JTJDMC44OTktMC41NDklMkMxLjg0OC0wLjU0OSUyQzIuODIyczAuMTg1JTJDMS45MjMlMkMwLjU0OSUyQzIuODIyJTIwJTIwJTIwYzAuMzc3JTJDMC45MzElMkMwLjkzMiUyQzEuNzY2JTJDMS42NDclMkMyLjQ4MWMwLjcxNiUyQzAuNzE2JTJDMS41NTElMkMxLjI3JTJDMi40ODElMkMxLjY0N2MwLjklMkMwLjM2NSUyQzEuODQ5JTJDMC41NSUyQzIuODIzJTJDMC41NXMxLjkyMy0wLjE4NSUyQzIuODIyLTAuNTQ5JTIwJTIwJTIwYzAuOTMxLTAuMzc3JTJDMS43NjYtMC45MzIlMkMyLjQ4MS0xLjY0N2MwLjcxNi0wLjcxNiUyQzEuMjctMS41NTElMkMxLjY0Ny0yLjQ4MWMwLjM2NS0wLjklMkMwLjU1LTEuODQ5JTJDMC41NS0yLjgyMyUyMCUyMCUyMFMtMTkzLjE4NSUyQzE0Mi41NzctMTkzLjU0OSUyQzE0MS42Nzh6JTIwTS0xOTkuOTIzJTJDMTQ4LjIzOWMtMC4xNTQlMkMwLjE1NC0wLjM0OCUyQzAuMjMxLTAuNTc3JTJDMC4yMzFjLTAuMjM4JTJDMC0wLjQzNS0wLjA3NS0wLjU4NC0wLjIyNCUyMCUyMCUyMHMtMC4yMjUtMC4zNDYtMC4yMjUtMC41ODRjMC0wLjIzOSUyQzAuMDc4LTAuNDM2JTJDMC4yMzItMC41ODVjMC4xNTQtMC4xNDklMkMwLjM1Mi0wLjIyNCUyQzAuNTktMC4yMjRjMC4yMyUyQzAlMkMwLjQyMyUyQzAuMDc4JTJDMC41NzElMkMwLjIzMiUyMCUyMCUyMGMwLjE0OSUyQzAuMTUzJTJDMC4yMjQlMkMwLjM0NyUyQzAuMjI0JTJDMC41NzdDLTE5OS42OTElMkMxNDcuODkxLTE5OS43NjklMkMxNDguMDg2LTE5OS45MjMlMkMxNDguMjM5eiUyME0tMTk5LjUwOCUyQzE0NC4yNzclMjAlMjAlMjBjLTAuNDExJTJDMC4zNDYtMC4zMDElMkMwLjU1MS0wLjM2OCUyQzEuMDk2Yy0wLjA0MSUyQzAuMzMyLTAuMzkxJTJDMC40NTUtMC41ODMlMkMwLjQ2M2MtMC4yMTklMkMwLjAwOS0wLjY0MS0wLjEzNi0wLjY3Ni0wLjQ3MyUyMCUyMCUyMGMtMC4wNi0wLjU3OCUyQzAuMDMyLTAuNzg0JTJDMC4xMjctMS4wMjJjMC4zMTItMC43ODMlMkMxLjM4Ny0xLjAwMyUyQzEuNDAxLTEuNzkzYzAuMDE5LTEuMDQ3LTEuNTA5LTEuMzYtMS44MDMtMC4xODclMjAlMjAlMjBjLTAuMTI3JTJDMC41MDctMS4wOTYlMkMwLjQ2NS0xLjA2OS0wLjEyNGMtMC4wMDEtMC40NzMlMkMwLjI4Ny0wLjk4MyUyQzAuNzI0LTEuMzMyYzAuNzQ0LTAuNTk1JTJDMi44LTAuNjE1JTJDMy4yMzclMkMxLjEzMiUyMCUyMCUyMEMtMTk4LjI2MiUyQzE0My4wNTUtMTk4LjczMiUyQzE0My42MjEtMTk5LjUwOCUyQzE0NC4yNzd6JTIyJTJGJTNFJTIwJTNDJTJGc3ZnJTNFKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtaW5mbzE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTQ1cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2lyY2xlMTUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTIweCUzRCUyMjBweCUyMiUyMHklM0QlMjIwcHglMjIlMjB3aWR0aCUzRCUyMjE1cHglMjIlMjBoZWlnaHQlM0QlMjIxNXB4JTIyJTIwdmlld0JveCUzRCUyMi0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIwZW5hYmxlLWJhY2tncm91bmQlM0QlMjJuZXclMjAtMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMHhtbCUzQXNwYWNlJTNEJTIycHJlc2VydmUlMjIlMjBzdHlsZSUzRCUyMiUyMiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MTAyJTJDMTAyJTJDMTAyJTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OC0wLjY4OSUyQzEuNDktMS4yMyUyQzIuMzgzLTEuNjA3YzAuOTI1LTAuMzkyJTJDMS45MDgtMC41OSUyQzIuOTItMC41OSUyMCUyMCUyMGMxLjAxMiUyQzAlMkMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNpcmNsZTE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjVweDsgfVxuLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDE1IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NnJTNFJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjJyZ2IlMjgxMjElMkMxNjIlMkMyOCUyOSUyMiUyMHBvaW50cyUzRCUyMi0yMDEuMjI0JTJDMTQ2LjkyNyUyMC0yMDMuNzAyJTJDMTQ0LjM5OSUyMC0yMDMuMDElMkMxNDMuNzIyJTIwLTIwMS4yMTglMkMxNDUuNTUlMjAtMTk3LjUyMiUyQzE0MS44NDQlMjAlMjAlMjAlMjAlMjAtMTk2LjgzNyUyQzE0Mi41MjclMjAlMjAlMjIlMkYlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODEyMSUyQzE2MiUyQzI4JTI5JTIyJTIwZCUzRCUyMk0tMjAwLjUlMkMxNTJjLTEuMDEyJTJDMC0xLjk5NS0wLjE5OC0yLjkxOS0wLjU5Yy0wLjg5My0wLjM3OC0xLjY5NS0wLjkxOC0yLjM4NC0xLjYwNyUyMCUyMCUyMCUyMGMtMC42ODktMC42ODktMS4yMjktMS40OTEtMS42MDctMi4zODRjLTAuMzkyLTAuOTI0LTAuNTktMS45MDctMC41OS0yLjkxOWMwLTEuMDEyJTJDMC4xOTgtMS45OTUlMkMwLjU5LTIuOTE5JTIwJTIwJTIwJTIwYzAuMzc4LTAuODkzJTJDMC45MTgtMS42OTUlMkMxLjYwNy0yLjM4NGMwLjY4OS0wLjY4OSUyQzEuNDkxLTEuMjI5JTJDMi4zODQtMS42MDdjMC45MjQtMC4zOTIlMkMxLjkwNy0wLjU5JTJDMi45MTktMC41OSUyMCUyMCUyMCUyMHMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwN2MwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MmMtMC4zNzglMkMwLjg5My0wLjkxOCUyQzEuNjk1LTEuNjA3JTJDMi4zODQlMjAlMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS40OTElMkMxLjIyOS0yLjM4NCUyQzEuNjA3Qy0xOTguNTA1JTJDMTUxLjgwMi0xOTkuNDg4JTJDMTUyLTIwMC41JTJDMTUyeiUyME0tMjAwLjUlMkMxMzcuOTY3Yy0wLjg4MiUyQzAtMS43MzglMkMwLjE3My0yLjU0MyUyQzAuNTEzJTIwJTIwJTIwJTIwYy0wLjc3OCUyQzAuMzI5LTEuNDc3JTJDMC44LTIuMDc3JTJDMS40Yy0wLjYlMkMwLjYtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40YzAuODA1JTJDMC4zNDElMkMxLjY2MSUyQzAuNTEzJTJDMi41NDMlMkMwLjUxM3MxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNEMtMTk4Ljc2MiUyQzEzOC4xMzktMTk5LjYxOCUyQzEzNy45NjctMjAwLjUlMkMxMzcuOTY3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1jaGVja2FsdDE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMjQ1cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWRhbHQxNSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjA0JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0yMDAuNSUyQzEzN2MxLjAxMiUyQzAlMkMxLjk5NSUyQzAuMTk4JTJDMi45MTklMkMwLjU5YzAuODkzJTJDMC4zNzglMkMxLjY5NSUyQzAuOTE4JTJDMi4zODQlMkMxLjYwNyUyMCUyMCUyMCUyMGMwLjY4OSUyQzAuNjg5JTJDMS4yMjklMkMxLjQ5MSUyQzEuNjA3JTJDMi4zODRjMC4zOTIlMkMwLjkyNCUyQzAuNTklMkMxLjkwNyUyQzAuNTklMkMyLjkxOXMtMC4xOTglMkMxLjk5NS0wLjU5JTJDMi45MTklMjAlMjAlMjAlMjBjLTAuMzc4JTJDMC44OTMtMC45MTglMkMxLjY5NS0xLjYwNyUyQzIuMzg0Yy0wLjY4OSUyQzAuNjg5LTEuNDkxJTJDMS4yMjktMi4zODQlMkMxLjYwN2MtMC45MjQlMkMwLjM5Mi0xLjkwNyUyQzAuNTktMi45MTklMkMwLjU5JTIwJTIwJTIwJTIwcy0xLjk5NS0wLjE5OC0yLjkyLTAuNTljLTAuODkzLTAuMzc4LTEuNjk1LTAuOTE4LTIuMzg0LTEuNjA3Yy0wLjY4OS0wLjY4OS0xLjIyOS0xLjQ5MS0xLjYwNy0yLjM4NCUyMCUyMCUyMCUyMGMtMC4zOTEtMC45MjQtMC41ODktMS45MDctMC41ODktMi45MTlzMC4xOTgtMS45OTUlMkMwLjU5LTIuOTJjMC4zNzgtMC44OTMlMkMwLjkxOC0xLjY5NSUyQzEuNjA3LTIuMzg0JTIwJTIwJTIwJTIwYzAuNjg5LTAuNjg5JTJDMS40OTEtMS4yMjklMkMyLjM4NC0xLjYwN0MtMjAyLjQ5NSUyQzEzNy4xOTgtMjAxLjUxMiUyQzEzNy0yMDAuNSUyQzEzN3olMjBNLTIwMC41JTJDMTUxLjAzM2MwLjg4MiUyQzAlMkMxLjczOC0wLjE3MyUyQzIuNTQzLTAuNTEzJTIwJTIwJTIwJTIwYzAuNzc4LTAuMzI5JTJDMS40NzctMC44JTJDMi4wNzctMS40YzAuNi0wLjYlMkMxLjA3MS0xLjI5OSUyQzEuNC0yLjA3N2MwLjM0MS0wLjgwNSUyQzAuNTEzLTEuNjYxJTJDMC41MTMtMi41NDNzLTAuMTczLTEuNzM4LTAuNTEzLTIuNTQzJTIwJTIwJTIwJTIwYy0wLjMyOS0wLjc3OC0wLjgtMS40NzctMS40LTIuMDc3Yy0wLjYtMC42LTEuMjk5LTEuMDcxLTIuMDc3LTEuNGMtMC44MDUtMC4zNDEtMS42NjEtMC41MTMtMi41NDMtMC41MTNzLTEuNzM4JTJDMC4xNzMtMi41NDMlMkMwLjUxMyUyMCUyMCUyMCUyMGMtMC43NzglMkMwLjMyOS0xLjQ3NyUyQzAuOC0yLjA3NyUyQzEuNHMtMS4wNzElMkMxLjI5OS0xLjQlMkMyLjA3N2MtMC4zNDElMkMwLjgwNS0wLjUxMyUyQzEuNjYxLTAuNTEzJTJDMi41NDNzMC4xNzMlMkMxLjczOCUyQzAuNTEzJTJDMi41NDMlMjAlMjAlMjAlMjBjMC4zMjklMkMwLjc3OCUyQzAuOCUyQzEuNDc3JTJDMS40JTJDMi4wNzdjMC42JTJDMC42JTJDMS4yOTklMkMxLjA3MSUyQzIuMDc3JTJDMS40Qy0yMDIuMjM4JTJDMTUwLjg2MS0yMDEuMzgyJTJDMTUxLjAzMy0yMDAuNSUyQzE1MS4wMzN6JTIyJTJGJTNFJTIwJTNDZyUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MjA0JTJDMCUyQzAlMjklMjIlMjBkJTNEJTIyTS0yMDAuNDg3JTJDMTQ2Ljg1M2MtMC4yMzglMkMwLTAuNDM3JTJDMC4wNzUtMC41OSUyQzAuMjI0Yy0wLjE1NCUyQzAuMTQ5LTAuMjMyJTJDMC4zNDYtMC4yMzIlMkMwLjU4NSUyMCUyMCUyMCUyMCUyMGMwJTJDMC4yMzglMkMwLjA3NiUyQzAuNDM1JTJDMC4yMjUlMkMwLjU4NHMwLjM0NiUyQzAuMjI0JTJDMC41ODQlMkMwLjIyNGMwLjIyOSUyQzAlMkMwLjQyNC0wLjA3OCUyQzAuNTc3LTAuMjMxYzAuMTU0LTAuMTUzJTJDMC4yMzItMC4zNDglMkMwLjIzMi0wLjU3OCUyMCUyMCUyMCUyMCUyMGMwLTAuMjMtMC4wNzUtMC40MjQtMC4yMjQtMC41NzdTLTIwMC4yNTYlMkMxNDYuODUzLTIwMC40ODclMkMxNDYuODUzeiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODIwNCUyQzAlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMTk5LjkzNyUyQzE0NS4xMjdjMCUyQzAuMzg1LTAuMTcxJTJDMC42OTctMC41NjglMkMwLjY5N2wwJTJDMGMtMC4zOTclMkMwLTAuNTY4LTAuMzEyLTAuNTY4LTAuNjk3JTIwJTIwJTIwJTIwYzAlMkMwLTAuMzM4LTMuNDI4LTAuMjc4LTMuODc5YzAuMDUyLTAuMzkxJTJDMC4zMjItMC42NzUlMkMwLjcyLTAuNjc1aDAuMjUzYzAuMzk3JTJDMCUyQzAuNjI1JTJDMC4zMDYlMkMwLjcyJTJDMC42NzUlMjAlMjAlMjAlMjBDLTE5OS41NTklMkMxNDEuNjM2LTE5OS45MzclMkMxNDUuMTI3LTE5OS45MzclMkMxNDUuMTI3eiUyMiUyRiUzRSUyMCUzQyUyRmclM0UlMjAlM0MlMkZzdmclM0UpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy11bnZhbGlkYXRlZGFsdDE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMjA1cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWQxNSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjgyMDQlMkMwJTJDMCUyOSUyMiUyMGQlM0QlMjJNLTE5My41OSUyQzE0MS41ODFjLTAuMzc4LTAuODkzLTAuOTE4LTEuNjk1LTEuNjA3LTIuMzg0Yy0wLjY4OS0wLjY4OS0xLjQ5MS0xLjIyOS0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC45MjQtMC4zOTItMS45MDctMC41OS0yLjkxOS0wLjU5cy0xLjk5NSUyQzAuMTk4LTIuOTE5JTJDMC41OWMtMC44OTMlMkMwLjM3OC0xLjY5NSUyQzAuOTE4LTIuMzg0JTJDMS42MDclMjAlMjAlMjBjLTAuNjg5JTJDMC42ODktMS4yMjklMkMxLjQ5MS0xLjYwNyUyQzIuMzg0Yy0wLjM5MiUyQzAuOTI0LTAuNTklMkMxLjkwNy0wLjU5JTJDMi45MTlzMC4xOTglMkMxLjk5NSUyQzAuNTklMkMyLjkxOSUyMCUyMCUyMGMwLjM3OCUyQzAuODkzJTJDMC45MTglMkMxLjY5NSUyQzEuNjA3JTJDMi4zODRjMC42ODklMkMwLjY4OSUyQzEuNDkxJTJDMS4yMjklMkMyLjM4NCUyQzEuNjA3YzAuOTI0JTJDMC4zOTIlMkMxLjkwNyUyQzAuNTklMkMyLjkxOSUyQzAuNTklMjAlMjAlMjBzMS45OTUtMC4xOTglMkMyLjkyLTAuNTljMC44OTMtMC4zNzglMkMxLjY5NS0wLjkxOSUyQzIuMzg0LTEuNjA3YzAuNjg5LTAuNjg5JTJDMS4yMjktMS40OTElMkMxLjYwNy0yLjM4NCUyMCUyMCUyMGMwLjM5MS0wLjkyNCUyQzAuNTg5LTEuOTA3JTJDMC41ODktMi45MTlTLTE5My4xOTglMkMxNDIuNTA1LTE5My41OSUyQzE0MS41ODF6JTIwTS0xOTkuOTIzJTJDMTQ4LjIzOWMtMC4xNTQlMkMwLjE1NC0wLjM0OCUyQzAuMjMxLTAuNTc3JTJDMC4yMzElMjAlMjAlMjBjLTAuMjM4JTJDMC0wLjQzNS0wLjA3NS0wLjU4NC0wLjIyNHMtMC4yMjUtMC4zNDYtMC4yMjUtMC41ODRjMC0wLjIzOSUyQzAuMDc4LTAuNDM2JTJDMC4yMzItMC41ODVjMC4xNTQtMC4xNDklMkMwLjM1Mi0wLjIyNCUyQzAuNTktMC4yMjQlMjAlMjAlMjBjMC4yMyUyQzAlMkMwLjQyMyUyQzAuMDc4JTJDMC41NzElMkMwLjIzMmMwLjE0OSUyQzAuMTUzJTJDMC4yMjQlMkMwLjM0NyUyQzAuMjI0JTJDMC41NzdDLTE5OS42OTElMkMxNDcuODkxLTE5OS43NjklMkMxNDguMDg2LTE5OS45MjMlMkMxNDguMjM5eiUyMCUyMCUyMCUyME0tMTk5LjkzNyUyQzE0NS4xMjdjMCUyQzAuMzg1LTAuMTcxJTJDMC42OTctMC41NjglMkMwLjY5N3MtMC41NjgtMC4zMTItMC41NjgtMC42OTdjMCUyQzAtMC4zMzgtMy40MjgtMC4yNzgtMy44NzklMjAlMjAlMjBjMC4wNTItMC4zOTElMkMwLjMyMi0wLjY3NSUyQzAuNzItMC42NzVoMC4yNTNjMC4zOTclMkMwJTJDMC42MjUlMkMwLjMwNiUyQzAuNzIlMkMwLjY3NUMtMTk5LjU1OSUyQzE0MS42MzYtMTk5LjkzNyUyQzE0NS4xMjctMTk5LjkzNyUyQzE0NS4xMjd6JTIyJTJGJTNFJTIwJTNDJTJGc3ZnJTNFKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtdW52YWxpZGF0ZWQxNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwcHggLTIwNXB4OyB9XG4udGhlbWUtZGFyayAuZm9ybS1pY29ucy5mb3JtLWljb25zLWNsZWFyc29saWQxNSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VUy1BU0NJSSwlM0NzdmclMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHdpZHRoJTNEJTIyMTVweCUyMiUyMGhlaWdodCUzRCUyMjE1cHglMjIlMjB2aWV3Qm94JTNEJTIyLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjBlbmFibGUtYmFja2dyb3VuZCUzRCUyMm5ldyUyMC0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUyMHN0eWxlJTNEJTIyJTIyJTNFJTIwJTNDcGF0aCUyMGZpbGwlM0QlMjJyZ2IlMjg2OCUyQzY4JTJDNjglMjklMjIlMjBkJTNEJTIyTS0xOTMuNTklMkMxNDEuNThjLTAuMzc4LTAuODkzLTAuOTE4LTEuNjk1LTEuNjA3LTIuMzg0Yy0wLjY4OS0wLjY4OS0xLjQ5MS0xLjIyOS0yLjM4NC0xLjYwNyUyMCUyMCUyMGMtMC45MjQtMC4zOTEtMS45MDctMC41ODktMi45MTktMC41ODlzLTEuOTk1JTJDMC4xOTgtMi45MTklMkMwLjU5Yy0wLjg5MyUyQzAuMzc4LTEuNjk1JTJDMC45MTgtMi4zODQlMkMxLjYwNyUyMCUyMCUyMGMtMC42ODklMkMwLjY4OS0xLjIyOSUyQzEuNDkxLTEuNjA3JTJDMi4zODRjLTAuMzkyJTJDMC45MjQtMC41OSUyQzEuOTA3LTAuNTklMkMyLjkxOXMwLjE5OCUyQzEuOTk1JTJDMC41OSUyQzIuOTIlMjAlMjAlMjBjMC4zNzglMkMwLjg5MyUyQzAuOTE4JTJDMS42OTUlMkMxLjYwNyUyQzIuMzg0YzAuNjg5JTJDMC42ODklMkMxLjQ5MSUyQzEuMjI5JTJDMi4zODQlMkMxLjYwN2MwLjkyNCUyQzAuMzkxJTJDMS45MDclMkMwLjU4OSUyQzIuOTE5JTJDMC41ODklMjAlMjAlMjBzMS45OTUtMC4xOTglMkMyLjkxOS0wLjU5YzAuODkzLTAuMzc4JTJDMS42OTUtMC45MTglMkMyLjM4NC0xLjYwN2MwLjY4OS0wLjY4OSUyQzEuMjI5LTEuNDkxJTJDMS42MDctMi4zODQlMjAlMjAlMjBjMC4zOTItMC45MjQlMkMwLjU5LTEuOTA3JTJDMC41OS0yLjkxOVMtMTkzLjE5OCUyQzE0Mi41MDUtMTkzLjU5JTJDMTQxLjU4eiUyME0tMTk3LjQxMiUyQzE0Ni45MTNsLTAuNjc3JTJDMC42NzhsLTIuNDEyLTIuNDEzbC0yLjQxJTJDMi40MTMlMjAlMjAlMjBsLTAuNjc3LTAuNjc4bDIuNDExLTIuNDExbC0yLjQxMS0yLjQxMWwwLjY3Ny0wLjY3NmwyLjQxJTJDMi40MTFsMi40MTItMi40MTFsMC42NzclMkMwLjY3NmwtMi40MTMlMkMyLjQxMUwtMTk3LjQxMiUyQzE0Ni45MTN6JTIyJTJGJTNFJTIwJTNDJTJGc3ZnJTNFKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtY2xlYXJzb2xpZDE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI1cHg7IH1cbi50aGVtZS1kYXJrIC5mb3JtLWljb25zLmZvcm0taWNvbnMtYWRkMTUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVMtQVNDSUksJTNDc3ZnJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTIweCUzRCUyMjBweCUyMiUyMHklM0QlMjIwcHglMjIlMjB3aWR0aCUzRCUyMjE1cHglMjIlMjBoZWlnaHQlM0QlMjIxNXB4JTIyJTIwdmlld0JveCUzRCUyMi0yMDglMjAxMzclMjAxNSUyMDE1JTIyJTIwZW5hYmxlLWJhY2tncm91bmQlM0QlMjJuZXclMjAtMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMHhtbCUzQXNwYWNlJTNEJTIycHJlc2VydmUlMjIlMjBzdHlsZSUzRCUyMiUyMiUzRSUyMCUzQ3BhdGglMjBmaWxsJTNEJTIycmdiJTI4MTAyJTJDMTg3JTJDMjU1JTI5JTIyJTIwZCUzRCUyMk0tMTkzLjU0OSUyQzE0MS42NzhjLTAuMzc3LTAuOTMxLTAuOTMyLTEuNzY1LTEuNjQ4LTIuNDgxYy0wLjcxNi0wLjcxNi0xLjU1MS0xLjI3LTIuNDgxLTEuNjQ4JTIwJTIwJTIwYy0wLjg5OS0wLjM2NC0xLjg0OC0wLjU0OS0yLjgyMi0wLjU0OXMtMS45MjMlMkMwLjE4NS0yLjgyMiUyQzAuNTQ5Yy0wLjkzMSUyQzAuMzc3LTEuNzY1JTJDMC45MzItMi40ODElMkMxLjY0OCUyMCUyMCUyMGMtMC43MTYlMkMwLjcxNi0xLjI3JTJDMS41NTEtMS42NDglMkMyLjQ4MWMtMC4zNjQlMkMwLjg5OS0wLjU0OSUyQzEuODQ4LTAuNTQ5JTJDMi44MjJzMC4xODUlMkMxLjkyMyUyQzAuNTQ5JTJDMi44MjIlMjAlMjAlMjBjMC4zNzclMkMwLjkzMSUyQzAuOTMyJTJDMS43NjYlMkMxLjY0NyUyQzIuNDgxYzAuNzE2JTJDMC43MTYlMkMxLjU1MSUyQzEuMjclMkMyLjQ4MSUyQzEuNjQ3YzAuOSUyQzAuMzY1JTJDMS44NDklMkMwLjU1JTJDMi44MjMlMkMwLjU1czEuOTIzLTAuMTg1JTJDMi44MjItMC41NDklMjAlMjAlMjBjMC45MzEtMC4zNzclMkMxLjc2Ni0wLjkzMiUyQzIuNDgxLTEuNjQ3YzAuNzE2LTAuNzE2JTJDMS4yNy0xLjU1MSUyQzEuNjQ3LTIuNDgxYzAuMzY1LTAuOSUyQzAuNTUtMS44NDklMkMwLjU1LTIuODIzJTIwJTIwJTIwUy0xOTMuMTg1JTJDMTQyLjU3Ny0xOTMuNTQ5JTJDMTQxLjY3OHolMjBNLTE5Ni45ODQlMkMxNDQuOTdoLTMuMDUxVjE0OGgtMC45MzR2LTMuMDNoLTMuMDQ2di0wLjkzNGgzLjA0NnYtMy4wNTJoMC45MzR2My4wNTFoMy4wNTElMjAlMjAlMjBDLTE5Ni45ODQlMkMxNDQuMDM1LTE5Ni45ODQlMkMxNDQuOTctMTk2Ljk4NCUyQzE0NC45N3olMjIlMkYlM0UlMjAlM0MlMkZzdmclM0UpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9ybS1pY29ucy1hZGQxNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00NXB4OyB9XG4udGhlbWUtZGFyayAuZm9ybS1pY29ucy5mb3JtLWljb25zLXJlbW92ZTE1IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVTLUFTQ0lJLCUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMkxheWVyXzElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwd2lkdGglM0QlMjIxNXB4JTIyJTIwaGVpZ2h0JTNEJTIyMTVweCUyMiUyMHZpZXdCb3glM0QlMjItMjA4JTIwMTM3JTIwMTUlMjAxNSUyMiUyMGVuYWJsZS1iYWNrZ3JvdW5kJTNEJTIybmV3JTIwLTIwOCUyMDEzNyUyMDE1JTIwMTUlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTIwc3R5bGUlM0QlMjIlMjIlM0UlMjAlM0NwYXRoJTIwZmlsbCUzRCUyMnJnYiUyODIwNCUyQzAlMkMwJTI5JTIyJTIwZCUzRCUyMk0tMTkzLjU5JTJDMTQxLjU3OWMtMC4zNzgtMC44OTMtMC45MTktMS42OTUtMS42MDctMi4zODRjLTAuNjg5LTAuNjg5LTEuNDkxLTEuMjI5LTIuMzg0LTEuNjA3JTIwJTIwJTIwYy0wLjkyNC0wLjM5MS0xLjkwNy0wLjU4OS0yLjkxOS0wLjU4OXMtMS45OTUlMkMwLjE5OC0yLjkxOSUyQzAuNTljLTAuODkzJTJDMC4zNzgtMS42OTUlMkMwLjkxOC0yLjM4NCUyQzEuNjA3JTIwJTIwJTIwYy0wLjY4OSUyQzAuNjg5LTEuMjI5JTJDMS40OTEtMS42MDclMkMyLjM4NGMtMC4zOTElMkMwLjkyNS0wLjU5JTJDMS45MDctMC41OSUyQzIuOTE5YzAlMkMxLjAxMiUyQzAuMTk4JTJDMS45OTUlMkMwLjU5JTJDMi45MiUyMCUyMCUyMGMwLjM3OCUyQzAuODkzJTJDMC45MTglMkMxLjY5NSUyQzEuNjA3JTJDMi4zODRjMC42ODklMkMwLjY4OSUyQzEuNDkxJTJDMS4yMjklMkMyLjM4NCUyQzEuNjA3YzAuOTI1JTJDMC4zOTElMkMxLjkwNyUyQzAuNTklMkMyLjkxOSUyQzAuNTklMjAlMjAlMjBzMS45OTUtMC4xOTglMkMyLjkxOS0wLjU5YzAuODkzLTAuMzc4JTJDMS42OTUtMC45MTglMkMyLjM4NC0xLjYwN2MwLjY4OS0wLjY4OSUyQzEuMjI5LTEuNDkxJTJDMS42MDctMi4zODQlMjAlMjAlMjBjMC4zOTEtMC45MjUlMkMwLjU5LTEuOTA3JTJDMC41OS0yLjkyUy0xOTMuMTk4JTJDMTQyLjUwNS0xOTMuNTklMkMxNDEuNTc5eiUyME0tMTk3LjAxNiUyQzE0NC45NjZsLTMuMDA3JTJDMC4wMDFoLTAuOTU3bC0zLjAyLTAuMDAxdi0wLjkzNCUyMCUyMCUyMGwzLjAyMSUyQzAuMDAxaDAuOTU3bDMuMDA3LTAuMDAxdjAuOTM0SC0xOTcuMDE2eiUyMiUyRiUzRSUyMCUzQyUyRnN2ZyUzRSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAuZm9ybS1pY29ucy5mb3JtLWljb25zLXJlbW92ZTE1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQwcHggLTIwNXB4OyB9XG4udGhlbWUtZGFyayAuZm9ybS1pY29uczpmb2N1cywgLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMuZm9jdXNlZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMmVtIHJnYmEoMTAyLCAxODcsIDI1NSwgMC4zKTsgfVxuLnRoZW1lLWRhcmsgLmZvcm0taWNvbnMtbWVzc2FnZSB7XG4gIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLWljb25zLW1lc3NhZ2UuaXMtY2xpY2thYmxlIHtcbiAgICBjb2xvcjogIzY2YmJmZjsgfVxuLnRoZW1lLWRhcmsgLmZvcm0tdGV4dGJveCB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjIpOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXRleHRib3g6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXRleHRib3g6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY2YmJmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMDIsIDE4NywgMjU1LCAwLjMpOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXRleHRib3guZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNCk7XG4gICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAudGhlbWUtZGFyayAuZm9ybS10ZXh0Ym94LmRpc2FibGVkOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE0LCAyMTQsIDIxNCwgMC4yKTsgfVxuICAudGhlbWUtZGFyayAuZm9ybS10ZXh0Ym94OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7IH1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLnRoZW1lLWRhcmsgLmhhcy1sYWJlbCAuZm9ybS10ZXh0Ym94OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS1kYXJrIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDpmb2N1cyB+IC5mb3JtLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0NDQ0O1xuICAgIGNvbG9yOiAjY2NjY2NjOyB9XG4gIC50aGVtZS1kYXJrIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDpmb2N1cyB+IC5mb3JtLWxhYmVsOmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNDQ0NDQ0OyB9XG4gIC50aGVtZS1kYXJrIC5oYXMtbGFiZWwgLmZvcm0tdGV4dGJveDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC50aGVtZS1kYXJrIC5oYXMtbGFiZWwgLmZvcm0tYmxvY2stbGFiZWwgKyAuZm9ybS10ZXh0Ym94OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7IH0gfVxuLnRoZW1lLWRhcmsgLmlzLWVycm9yIC5mb3JtLXRleHRib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjIpO1xuICBib3JkZXItY29sb3I6ICNmZjMzMzM7XG4gIGNvbG9yOiAjY2NjY2NjOyB9XG4gIC50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS10ZXh0Ym94OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NmJiZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEwMiwgMTg3LCAyNTUsIDAuMyk7IH1cbi50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjZmYzMzMzOyB9XG4udGhlbWUtZGFyayAuaXMtZXJyb3IgLmZvcm0tbGFiZWwtZmx5b3V0LmlzLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cbi50aGVtZS1kYXJrIC5pcy1lcnJvciAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjEpOyB9XG4udGhlbWUtZGFyayAuaXMtZXJyb3IgLmZvcm0tdGV4dGJveCB+IC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjEpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCA1MSwgNTEsIDAuMSk7IH1cbi50aGVtZS1kYXJrIC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNCwgMjE0LCAyMTQsIDAuMSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC50aGVtZS1kYXJrIC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd246OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50aGVtZS1kYXJrIC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUuZm9ybS10ZXh0Ym94LmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9IH1cblxuLmZvcm0tdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmZvcm0tdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZm9ybS1zZXQge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmZvcm0tY2FwdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247IH1cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAuZm9ybS1yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uZm9ybS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgIC5mb3JtLWNlbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuZm9ybS1jZWxsLmZvcm0tZWxlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZm9ybS1lbGVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mb3JtLXRhYmxlLWxheW91dC1maXhlZCB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cblxuLmZvcm0tdGFibGUtYm9yZGVyLXNwYWNpbmcge1xuICBib3JkZXItc3BhY2luZzogMTZweDsgfVxuXG4uZm9ybS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODY7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgaHRtbC5pZTggLmZvcm0tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5mb3JtLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIwODQ5O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgbWFyZ2luOiAtMTdweCAtMTZweCAtNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAuZm9ybS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mb3JtLXdyYXBwZXIuaXMtZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IC0xNHB4OyB9XG5cbi5mb3JtLWlzLXZhbGlkLWljb246YmVmb3JlLCAuZm9ybS1pcy12YWxpZC1pY29uOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiQXBwbGUgSWNvbnNcIjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYWx0OiAnJzsgfVxuLmZvcm0taXMtdmFsaWQtaWNvbjpiZWZvcmUsIC5mb3JtLWlzLXZhbGlkLWljb246YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbi5mb3JtLWlzLXZhbGlkLWljb246YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLmZvcm0taXMtdmFsaWQtaWNvbjpiZWZvcmUsIC5mb3JtLWlzLXZhbGlkLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BglwiOyB9XG5cbi5mb3JtLWljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogM3B4O1xuICByaWdodDogMTZweDsgfVxuXG4jbG9jYWxuYXYtdmlld3BvcnQtZW1pdHRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xuICB4LWNvbnRlbnQ6IFwiYWMtbG9jYWxuYXY6bGFyZ2VcIjsgfVxuICAjbG9jYWxuYXYtdmlld3BvcnQtZW1pdHRlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcImFjLWxvY2FsbmF2OmxhcmdlXCI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAjbG9jYWxuYXYtdmlld3BvcnQtZW1pdHRlciB7XG4gICAgICB4LWNvbnRlbnQ6IFwiYWMtbG9jYWxuYXY6bWVkaXVtXCI7IH1cbiAgICAgICNsb2NhbG5hdi12aWV3cG9ydC1lbWl0dGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImFjLWxvY2FsbmF2Om1lZGl1bVwiOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNsb2NhbG5hdi12aWV3cG9ydC1lbWl0dGVyIHtcbiAgICAgIHgtY29udGVudDogXCJhYy1sb2NhbG5hdjpzbWFsbFwiOyB9XG4gICAgICAjbG9jYWxuYXYtdmlld3BvcnQtZW1pdHRlcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJhYy1sb2NhbG5hdjpzbWFsbFwiOyB9IH1cblxuLmxvY2FsbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUycHg7XG4gIG1pbi13aWR0aDogMTAyNHB4O1xuICB6LWluZGV4OiA5OTk3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA0NHB4KSB7XG4gICAgLmxvY2FsbmF2IHtcbiAgICAgIG1pbi13aWR0aDogMzIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmxvY2FsbmF2IHtcbiAgICAgIGhlaWdodDogNDhweDsgfSB9XG4gIC5sb2NhbG5hdi1vdmVybGFwIC5sb2NhbG5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTUycHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtb3ZlcmxhcCAubG9jYWxuYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNDhweDsgfSB9XG4gIC50b3BuYXYtb3ZlcmxhcCAubG9jYWxuYXYge1xuICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTk2cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudG9wbmF2LW92ZXJsYXAgLmxvY2FsbmF2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTk2cHg7IH0gfVxuICAubG9jYWxuYXYudGhlbWUtZGFyayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubG9jYWxuYXYtbWVudXN0YXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLmxvY2FsbmF2LXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuXG4ubG9jYWxuYXYtY29udGVudCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDk4MHB4O1xuICBwYWRkaW5nOiAwIDIycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuICAubG9jYWxuYXYtY29udGVudDpiZWZvcmUsIC5sb2NhbG5hdi1jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmxvY2FsbmF2LWNvbnRlbnQ6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmxvY2FsbmF2LWNvbnRlbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDE2cHg7IH0gfVxuXG4ubG9jYWxuYXYuY3NzLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7IH1cbi5sb2NhbG5hdi5uby1jc3Mtc3RpY2t5LmxvY2FsbmF2LXN0aWNraW5nIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ubG9jYWxuYXYtc3RpY2t5LXBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xOyB9XG4gIC5sb2NhbG5hdi1zdGlja3ktcGxhY2Vob2xkZXIubm8tY3NzLXN0aWNreS5sb2NhbG5hdi1zdGlja2luZyB7XG4gICAgaGVpZ2h0OiA1MnB4OyB9XG4gICAgLmxvY2FsbmF2LW92ZXJsYXAgLmxvY2FsbmF2LXN0aWNreS1wbGFjZWhvbGRlci5uby1jc3Mtc3RpY2t5LmxvY2FsbmF2LXN0aWNraW5nLCAudG9wbmF2LW92ZXJsYXAgLmxvY2FsbmF2LXN0aWNreS1wbGFjZWhvbGRlci5uby1jc3Mtc3RpY2t5LmxvY2FsbmF2LXN0aWNraW5nIHtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2NhbG5hdi1zdGlja3ktcGxhY2Vob2xkZXIubm8tY3NzLXN0aWNreS5sb2NhbG5hdi1zdGlja2luZyB7XG4gICAgICAgIGhlaWdodDogNDhweDsgfSB9XG4ubG9jYWxuYXYtY3VydGFpbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IDk5OTY7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtY3VydGFpbiB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UgMC4ycywgd2lkdGggMHMgZWFzZSAxLjJzLCBoZWlnaHQgMHMgZWFzZSAxLjJzOyB9IH1cbiAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWN1cnRhaW4sIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWN1cnRhaW4ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZSAwLjFzOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWN1cnRhaW4sIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWN1cnRhaW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbi5sb2NhbG5hdi1hY3Rpb25zIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5sb2NhbG5hdi1hY3Rpb25zIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtYWN0aW9ucy1jZW50ZXIge1xuICAgICAgbGVmdDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5sb2NhbG5hdi1hY3Rpb25zLWNlbnRlciAubG9jYWxuYXYtYWN0aW9uLW1lbnVjdGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7IH0gfVxuXG4ubG9jYWxuYXYtYWN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmxvY2FsbmF2LWFjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtYWN0aW9uLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMjdweDtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5sb2NhbG5hdi1hY3Rpb24tcHJvZHVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgwcHggMHB4IDk5LjklIDk5LjklKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxvY2FsbmF2LWFjdGlvbi1tZW51Y3RhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2NhbG5hdi1hY3Rpb24tbWVudWN0YSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGN1YmljLWJlemllcigwLjI4LCAwLjExLCAwLjMyLCAxKTsgfVxuICAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjQpOyB9XG4gIGh0bWwuaWU4IC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZSAwLjdzOyB9XG4gICAgICAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9IH1cbiAgLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICBodG1sLmllOCAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDZkNmQ2OyB9XG4gIC5sb2NhbG5hdi5sb2NhbG5hdi1zY3JpbSAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gICAgLmxvY2FsbmF2LmxvY2FsbmF2LXNjcmltIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE0LCAyMTQsIDIxNCwgMC40KTsgfVxuICAgIGh0bWwuaWU4IC5sb2NhbG5hdi5sb2NhbG5hdi1zY3JpbSAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7IH1cbiAgICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogaW5pdGlhbCkge1xuICAgICAgLmxvY2FsbmF2LmxvY2FsbmF2LXNjcmltIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH0gfVxuICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1zY3JpbS5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgICAubG9jYWxuYXYtc2NyaW0ubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuOSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBpbml0aWFsKSB7XG4gICAgICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1zY3JpbS5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgICAgICAgLmxvY2FsbmF2LXNjcmltLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC43KTsgfSB9XG4gIC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBjdWJpYy1iZXppZXIoMC4yOCwgMC4xMSwgMC4zMiwgMSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYmFja2Ryb3AtZmlsdGVyOyB9XG4gICAgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE0LCAyMTQsIDIxNCwgMC40KTsgfVxuICAgIGh0bWwuaWU4IC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNkNmQ2ZDY7IH1cbiAgICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogaW5pdGlhbCkge1xuICAgICAgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH0gfVxuICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1zdGlja2luZy5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgICAubG9jYWxuYXYtc3RpY2tpbmcubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuOSk7IH1cbiAgICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBpbml0aWFsKSB7XG4gICAgICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1zdGlja2luZy5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgICAgICAgLmxvY2FsbmF2LXN0aWNraW5nLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC43KTsgfSB9XG4gIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYmFja2Ryb3AtZmlsdGVyOyB9XG4gICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNCwgMjE0LCAyMTQsIDAuNCk7IH1cbiAgICBodG1sLmllOCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQsIGh0bWwuaWU4IC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZDZkNjsgfVxuICAgIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBpbml0aWFsKSB7XG4gICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxODAlKSBibHVyKDIwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7IH0gfVxuICAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIsXG4gIC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCBodG1sLmllOCAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDQ0NDQ0OyB9XG4gIC50aGVtZS1kYXJrIC5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LWJhY2tncm91bmQsIGh0bWwuaWU4IC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgIGJvcmRlci1jb2xvcjogIzQ0NDQ0NDsgfVxuICAudGhlbWUtZGFyayAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciwgLnRoZW1lLWRhcmsubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZCwgaHRtbC5pZTggLnRoZW1lLWRhcmsubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDQ0NDQ0OyB9XG4gIC50aGVtZS1kYXJrIC5sb2NhbG5hdi5sb2NhbG5hdi1zY3JpbSAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciwgLnRoZW1lLWRhcmsubG9jYWxuYXYubG9jYWxuYXYtc2NyaW0gLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc2NyaW0gLmxvY2FsbmF2LWJhY2tncm91bmQsIGh0bWwuaWU4IC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXNjcmltIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItY29sb3I6ICM0NDQ0NDQ7IH1cbiAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDsgfVxuICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LWJhY2tncm91bmQsIGh0bWwuaWU4IC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItY29sb3I6ICM0NDQ0NDQ7IH1cbiAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LWJhY2tncm91bmQsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7IH1cbiAgICAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIsIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyLFxuICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7IH1cbiAgICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQsIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCBodG1sLmllOCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtYmFja2dyb3VuZCwgaHRtbC5pZTggLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBib3JkZXItY29sb3I6ICM0NDQ0NDQ7IH1cbiAgICBAc3VwcG9ydHMgKGJhY2tkcm9wLWZpbHRlcjogaW5pdGlhbCkge1xuICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZCxcbiAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjkpOyB9IH1cbiAgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDkwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogOTgwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgei1pbmRleDogMTsgfVxuICAgIGh0bWwuaWU4IC5sb2NhbG5hdi1iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1ub2JvcmRlciAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubG9jYWxuYXYtbm9ib3JkZXIubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1zY3JpbSAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtYmFja2dyb3VuZDphZnRlciwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LWJhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgaHRtbC5pZTggLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDkwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDk4MHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1ub2JvcmRlciBodG1sLmllOCAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gICAgICAubG9jYWxuYXYtbm9ib3JkZXIubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgaHRtbC5pZTggLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cbiAgICAubG9jYWxuYXYubG9jYWxuYXYtc2NyaW0gaHRtbC5pZTggLmxvY2FsbmF2LWJhY2tncm91bmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyBodG1sLmllOCAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXNjcmltIGh0bWwuaWU4IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1zY3JpbSBodG1sLmllOCAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYxZjFmOyB9XG4gICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIGh0bWwuaWU4IC5sb2NhbG5hdi1iYWNrZ3JvdW5kLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyBodG1sLmllOCAubG9jYWxuYXYtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWYxZjFmOyB9XG5cbi5sb2NhbG5hdi1tZW51IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcGFkZGluZy10b3A6IDhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmxvY2FsbmF2LW1lbnUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gIC5sb2NhbG5hdi1tZW51OmxhbmcoamEtSlApIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtbWVudTpsYW5nKGphLUpQKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIC5sb2NhbG5hdi1tZW51Omxhbmcoa28tS1IpIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtbWVudTpsYW5nKGtvLUtSKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtbWVudSB7XG4gICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubG9jYWxuYXYtbWVudS10cmF5IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2NhbG5hdi1tZW51LXRyYXkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBjdWJpYy1iZXppZXIoMC4yOCwgMC4xMSwgMC4zMiwgMSkgMC40cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMXM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LXRyYXksIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LXRyYXkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4IC0gNDhweCk7XG4gICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzLCAwczsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtdHJheSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtdHJheSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDhweCAtIDQ4cHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LmxvY2FsbmF2LW9wZW5pbmcgLmxvY2FsbmF2LW1lbnUtdHJheSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYubG9jYWxuYXYtb3BlbmluZyAubG9jYWxuYXYtbWVudS10cmF5IHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgICAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS10cmF5LCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS10cmF5IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtbWVudS1pdGVtcyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcGFkZGluZzogMTdweCAzMnB4IDI4cHggMzJweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MHB4LCAwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMC41cywgb3BhY2l0eSAwLjdzIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwLjJzOyB9XG4gICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbXMsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW1zIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMC40czsgfSB9XG4gIC5sb2NhbG5hdi1tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtbWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAgIC5sb2NhbG5hdi1tZW51LWl0ZW06Zmlyc3QtY2hpbGQgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbSxcbiAgICAgICAgLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnUtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDY4LCA2OCwgNjgsIDAuNSk7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoMSkgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wN3M7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoMikgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNHM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoMykgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMXM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNCkgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yOHM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNSkgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zNXM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNikgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40MnM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNykgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40OXM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDEpIC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDEpIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNTZzOyB9XG4gICAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1pdGVtOm50aC1jaGlsZCgyKSAubG9jYWxuYXYtbWVudS1saW5rLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1pdGVtOm50aC1jaGlsZCgyKSAubG9jYWxuYXYtbWVudS1saW5rIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ5czsgfVxuICAgICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoMykgLmxvY2FsbmF2LW1lbnUtbGluaywgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoMykgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40MnM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDQpIC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDQpIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzOyB9XG4gICAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1pdGVtOm50aC1jaGlsZCg1KSAubG9jYWxuYXYtbWVudS1saW5rLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1pdGVtOm50aC1jaGlsZCg1KSAubG9jYWxuYXYtbWVudS1saW5rIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI4czsgfVxuICAgICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNikgLmxvY2FsbmF2LW1lbnUtbGluaywgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtaXRlbTpudGgtY2hpbGQoNikgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMXM7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDcpIC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWl0ZW06bnRoLWNoaWxkKDcpIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTRzOyB9IH1cbiAgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMTQsIDIxNCwgMjE0LCAwLjUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI1cHgsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTsgfVxuICAgICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluayxcbiAgICAgICAgLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS1saW5rIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2NmJiZmY7IH1cbiAgICAgICAgLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnUtbGluazpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMDcwYzk7IH1cbiAgICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluazpob3ZlciwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzAwNzBjOTsgfVxuICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLFxuICAgIC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51LWxpbmsge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnUtbGluaywgLnRoZW1lLWRhcmsubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmssIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmssIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluayB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbms6aG92ZXIsXG4gICAgICAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2NmJiZmY7IH1cbiAgICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbms6aG92ZXIsIC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbms6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjZiYmZmOyB9XG4gICAgICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyLCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rOmhvdmVyLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbms6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjZiYmZmOyB9XG4gICAgLmxvY2FsbmF2LW1lbnUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwNzBjOTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjYpO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICBodG1sLmllOCAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgICAgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC42KTsgfVxuICAgICAgICBodG1sLmllOCAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgICAgIGh0bWwuaWU4IC5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgICAgLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgICAgICAgaHRtbC5pZTggLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAgIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC42KTsgfVxuICAgICAgICAgIGh0bWwuaWU4IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgICAgICAgIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjYpOyB9XG4gICAgICAgICAgICBodG1sLmllOCAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50IHtcbiAgICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjYpOyB9XG4gICAgICAgICAgaHRtbC5pZTggLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LCBodG1sLmllOCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgICAgICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC42KTsgfVxuICAgICAgICAgICAgaHRtbC5pZTggLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyLCBodG1sLmllOCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LFxuICAgICAgLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50IHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgICAgICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LCBodG1sLmllOCAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIsXG4gICAgICAgIC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgICAgICAgIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIsIGh0bWwuaWU4IC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQsIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICAgICAgICBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LCBodG1sLmllOCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQsIGh0bWwuaWU4IC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCwgaHRtbC5pZTggLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIsIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgICAgICAgICAgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciwgaHRtbC5pZTggLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyLCBodG1sLmllOCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIsIGh0bWwuaWU4IC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50LCAudGhlbWUtZGFyay5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgICAgICAgIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudCwgaHRtbC5pZTggLnRoZW1lLWRhcmsubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgICAgICAudGhlbWUtZGFyayAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIsIC50aGVtZS1kYXJrLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnUtbGluay5jdXJyZW50OmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICAgICAgICAgIGh0bWwuaWU4IC50aGVtZS1kYXJrIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51LWxpbmsuY3VycmVudDpob3ZlciwgaHRtbC5pZTggLnRoZW1lLWRhcmsubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudS1saW5rLmN1cnJlbnQ6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuXG4ubG9jYWxuYXYtYWN0aW9uLW1lbnVjdGEge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtYWN0aW9uLW1lbnVjdGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubG9jYWxuYXYtbWVudWN0YSB7XG4gIG1hcmdpbi1yaWdodDogLTExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSksIHRyYW5zZm9ybS1vcmlnaW4gMXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOyB9XG4gICAgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKSwgdHJhbnNmb3JtLW9yaWdpbiAxcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7IH1cbiAgICAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDUwJTsgfVxuICAgIC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAgIC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSwgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAgIC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZykgc2NhbGVZKDEuNSk7IH1cbiAgICAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKSBzY2FsZVkoMS41KTsgfVxuICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTsgfVxuICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKSBzY2FsZVkoMS41KTsgfVxuICAgICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmFmdGVyLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZykgc2NhbGVZKDEuNSk7IH1cbiAgICAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjpiZWZvcmUsIC5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG4gICAgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlciwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjpiZWZvcmUsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsgfVxuICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjpiZWZvcmUsIC50aGVtZS1kYXJrIC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjphZnRlcixcbiAgICAubG9jYWxuYXYudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudWN0YS1jaGV2cm9uOjpiZWZvcmUsXG4gICAgLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIsIC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSwgLnRoZW1lLWRhcmsubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIsIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSwgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIsIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmJlZm9yZSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YWZ0ZXIsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtY2hldnJvbjo6YmVmb3JlLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWNoZXZyb246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC5sb2NhbG5hdi1tZW51Y3RhLWFuY2hvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5sb2NhbG5hdi1tZW51Y3RhLWFuY2hvcjpmb2N1cyB7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTZweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxvY2FsbmF2LW1lbnVjdGEtYW5jaG9yLWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubG9jYWxuYXYtbWVudWN0YS1hbmNob3ItbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgY2xpcC1wYXRoOiBpbnNldCgwcHggMHB4IDk5LjklIDk5LjklKTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmxvY2FsbmF2LW1lbnVjdGEtYW5jaG9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1hbmNob3Itb3BlbiwgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LW1lbnVjdGEtYW5jaG9yLW9wZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtbWVudWN0YS1hbmNob3ItY2xvc2UsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi1tZW51Y3RhLWFuY2hvci1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubG9jYWxuYXYtdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg1NzM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogNTJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmxvY2FsbmF2LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubG9jYWxuYXYtdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7IH0gfVxuICAubG9jYWxuYXYtdGl0bGUgYSwgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIGh0bWwuaWU4IC5sb2NhbG5hdi10aXRsZSBhLCBodG1sLmllOCAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIGh0bWwuaWU4IC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfVxuICAgIC5sb2NhbG5hdi10aXRsZSBhOmhvdmVyLCAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmU6aG92ZXIsIC5wYWdlLXJlc2VydmF0aW9uIC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmxvY2FsbmF2LXRpdGxlLFxuICAubG9jYWxuYXYtdGl0bGUgYSxcbiAgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLFxuICAucGFnZS1yZXNlcnZhdGlvbiAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjgsIDAuMTEsIDAuMzIsIDEpOyB9XG4gICAgLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LXRpdGxlLCAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtdGl0bGUgYSwgLmxvY2FsbmF2LmxvY2FsbmF2LWhlcm8gLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAubG9jYWxuYXYubG9jYWxuYXYtaGVybyAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtdGl0bGUsIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSBhLCAubG9jYWxuYXYtaGVyby5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZSB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgICAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlLCAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgYSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYtaGVyby5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIGEsIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2LWhlcm8ubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdi1oZXJvLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZSB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSwgLnRoZW1lLWRhcmsgLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSBhLCAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAudGhlbWUtZGFyayAubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIGJ1dHRvbi5tb3JlLFxuICAgIC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi10aXRsZSwgLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LXRpdGxlIGEsIC5sb2NhbG5hdi50aGVtZS1kYXJrIC5sb2NhbG5hdi10aXRsZSAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gLmxvY2FsbmF2LnRoZW1lLWRhcmsgLmxvY2FsbmF2LXRpdGxlIGJ1dHRvbi5tb3JlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSwgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSBhLCAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LXRpdGxlIC5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlLCAucGFnZS1yZXNlcnZhdGlvbiAudGhlbWUtZGFyayAubG9jYWxuYXYubG9jYWxuYXYtc3RpY2tpbmcgLmxvY2FsbmF2LXRpdGxlIGJ1dHRvbi5tb3JlLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtdGl0bGUsIC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSBhLCAudGhlbWUtZGFyay5sb2NhbG5hdi5sb2NhbG5hdi1zdGlja2luZyAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC50aGVtZS1kYXJrLmxvY2FsbmF2LmxvY2FsbmF2LXN0aWNraW5nIC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSwgLnRoZW1lLWRhcmsgLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOmNoZWNrZWQgfiAubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIGEsIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUsIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSBhLCAudGhlbWUtZGFyayAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC50aGVtZS1kYXJrIC5sb2NhbG5hdi1tZW51c3RhdGU6dGFyZ2V0IH4gLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSBidXR0b24ubW9yZSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSwgLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIGEsIC5sb2NhbG5hdi1tZW51c3RhdGU6Y2hlY2tlZCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gLmxvY2FsbmF2LW1lbnVzdGF0ZTpjaGVja2VkIH4gLnRoZW1lLWRhcmsubG9jYWxuYXYgLmxvY2FsbmF2LXRpdGxlIGJ1dHRvbi5tb3JlLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSBhLCAubG9jYWxuYXYtbWVudXN0YXRlOnRhcmdldCB+IC50aGVtZS1kYXJrLmxvY2FsbmF2IC5sb2NhbG5hdi10aXRsZSAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gLmxvY2FsbmF2LW1lbnVzdGF0ZTp0YXJnZXQgfiAudGhlbWUtZGFyay5sb2NhbG5hdiAubG9jYWxuYXYtdGl0bGUgYnV0dG9uLm1vcmUge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmxvY2FsbmF2LXRpdGxlLWltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5sb2NhbG5hdi10aXRsZS1zdWJoZWFkLCAubG9jYWxuYXYtdGl0bGUtY29taW5nc29vbiB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5sb2NhbG5hdi10aXRsZS1zdWJoZWFkLCAubG9jYWxuYXYtdGl0bGUtY29taW5nc29vbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAubG9jYWxuYXYtdGl0bGUtY29taW5nc29vbiB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgaHRtbC5pZTggLmxvY2FsbmF2LXRpdGxlLWNvbWluZ3Nvb24ge1xuICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAgIC5sb2NhbG5hdi5sb2NhbG5hdi1oZXJvIGh0bWwuaWU4IC5sb2NhbG5hdi10aXRsZS1jb21pbmdzb29uIHtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAgIC50aGVtZS1kYXJrIC5sb2NhbG5hdiBodG1sLmllOCAubG9jYWxuYXYtdGl0bGUtY29taW5nc29vbixcbiAgICAgIC5sb2NhbG5hdi50aGVtZS1kYXJrIGh0bWwuaWU4IC5sb2NhbG5hdi10aXRsZS1jb21pbmdzb29uIHtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgLmxvY2FsbmF2LXRpdGxlLWFwcGxlIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkFwcGxlIEljb25zXCI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtdGl0bGUtYXBwbGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubG9jYWxuYXYtdGl0bGUtYXBwbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4vKipcbiAqIENlbnRlcnMgYW4gaW1hZ2UgcGVyIHRoZSBwcm92aWRlZCB2aWV3cG9ydFxuICogQHBhcmFtXHR7c3RyaW5nfSAkaW1hZ2VcdFx0XHRUaGUgaW1hZ2UgZmlsZW5hbWVcbiAqIEBwYXJhbVx0e3N0cmluZ30gJHZpZXdwb3J0XHQgVGhlIHZpZXdwb3J0IG9mIHRoZSBpbWFnZVxuICogQHBhcmFtXHR7c3RyaW5nfSBbJHBvc2l0aW9uXSBPcHRpb25hbCBwb3NpdGlvbiB2YWx1ZVxuICogQHR5cGVcdCB7bWl4aW59XG4gKiBAcmV0dXJuIHtzdHJpbmd9XHRcdFx0XHRcdFx0IFN0eWxpbmcgdG8gY2VudGVyIHRoZSBpbWFnZVxuICovXG4vKipcbiAqIFJldHVybnMgdGhlIG1heGltdW0gaW1hZ2UgaGVpZ2h0IG9mIGFuIGltYWdlIGluIHRoZSBwcm92aWRlZCB2aWV3cG9ydFxuICogQHBhcmFtXHR7c3RyaW5nfVx0ICRpbWFnZXNcdFx0VGhlIHJvb3QgaW1hZ2UgZmlsZW5hbWVcbiAqIEBwYXJhbVx0e3N0cmluZ31cdCAkdmlld3BvcnRcdFRoZSB2aWV3cG9ydCBvZiB0aGUgaW1hZ2VcbiAqIEB0eXBlXHQge2Z1bmN0aW9ufVxuICogQHJldHVybiB7c3RyaW5nfVx0ICRtYXgtaGVpZ2h0IFRoZSBtYXggaGVpZ2h0IG9mIHRoZSBpbWFnZSBpbiBwaXhlbHNcbiAqL1xuLyoqXG4gKiBSZXBsYWNlcyBhbGwgb2NjdXJyZW5jZXMgb2YgYSBzZWFyY2ggc3RyaW5nIHdpdGggYSByZXBsYWNlbWVudCBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJHN0cmluZ1xuICogQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2hcbiAqIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpXG4gKlxuICogQHJldHVybiB7U3RyaW5nfSBgJHN0cmluZ2Agd2l0aCBgJHNlYXJjaGAgcmVwbGFjZWQgd2l0aCBgJHJlcGxhY2VgXG4gKi9cbi8qKlxuICogT3V0cHV0cyB0aGUgQ1NTIHByb3BlcnR5IGF0IGVhY2ggdmlld3BvcnRcbiAqXG4gKiBAZ3JvdXAgdmlld3BvcnRzXG4gKlxuICogQGFjY2VzcyBwdWJsaWNcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0ge01hcH0gJHZhbHVlcyAtIFRoZSB2YWx1ZXMgaW4gdGhlIGZvcm0gYHZpZXdwb3J0OiB2YWx1ZWBcbiAqXG4gKiBAcmVxdWlyZXMgdmlld3BvcnQtZXhpc3RzXG4gKiBAcmVxdWlyZXMge21peGlufSB2aWV3cG9ydFxuICpcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAqLmhpZGUtZm9yLXJldGluYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMi41ZHBweCksIChtaW4tcmVzb2x1dGlvbjogMjQwZHBpKSB7XG4gICouaGlkZS1mb3ItcmV0aW5hLTN4IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiouc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuICBkaXNwbGF5OiBub25lOyB9XG4qLnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgKi5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgKi5zaG93LW9ubHktZm9yLXJldGluYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDIuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSkge1xuICAqLnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5oaWRlLWZvci1sYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gIC5oaWRlLWZvci1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLnNob3ctZm9yLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zaG93LW9ubHktZm9yLXNtYWxsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnNob3ctb25seS1mb3Itc21hbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAuc2hvdy1vbmx5LWZvci1zbWFsbC5oaWRlLWZvci1yZXRpbmEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWluLXJlc29sdXRpb246IDIuNWRwcHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWluLXJlc29sdXRpb246IDI0MGRwaSkge1xuICAgIC5zaG93LW9ubHktZm9yLXNtYWxsLmhpZGUtZm9yLXJldGluYS0zeCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNob3ctb25seS1mb3Itc21hbGwuc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuc2hvdy1vbmx5LWZvci1zbWFsbC5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgICAgLnNob3ctb25seS1mb3Itc21hbGwuc2hvdy1vbmx5LWZvci1yZXRpbmEtM3gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCksIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgLnNob3ctb25seS1mb3Itc21hbGwuc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyNDBkcGkpIHtcbiAgICAuc2hvdy1vbmx5LWZvci1zbWFsbC5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNob3ctb25seS1mb3ItbWVkaXVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgLnNob3ctb25seS1mb3ItbWVkaXVtLmhpZGUtZm9yLXJldGluYSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDIuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSkge1xuICAgIC5zaG93LW9ubHktZm9yLW1lZGl1bS5oaWRlLWZvci1yZXRpbmEtM3gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zaG93LW9ubHktZm9yLW1lZGl1bS5zaG93LW9ubHktZm9yLXJldGluYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uc2hvdy1vbmx5LWZvci1yZXRpbmEtM3gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCksIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uc2hvdy1vbmx5LWZvci1yZXRpbmEtM3gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMS41ZHBweCksIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgIC5zaG93LW9ubHktZm9yLW1lZGl1bS5zaG93LW9ubHktZm9yLXJldGluYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMjQwZHBpKSB7XG4gICAgLnNob3ctb25seS1mb3ItbWVkaXVtLnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnNob3ctb25seS1mb3ItbWVkaXVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uaGlkZS1mb3ItcmV0aW5hIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyNDBkcGkpIHtcbiAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uaGlkZS1mb3ItcmV0aW5hLTN4IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuc2hvdy1vbmx5LWZvci1tZWRpdW0uc2hvdy1vbmx5LWZvci1yZXRpbmEtM3gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAgIC5zaG93LW9ubHktZm9yLW1lZGl1bS5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2hvdy1mb3ItbGFyZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAuc2hvdy1mb3ItbGFyZ2Utb25seS5oaWRlLWZvci1yZXRpbmEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyLjVkcHB4KSwgKG1pbi1yZXNvbHV0aW9uOiAyNDBkcGkpIHtcbiAgICAuc2hvdy1mb3ItbGFyZ2Utb25seS5oaWRlLWZvci1yZXRpbmEtM3gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5LnNob3ctb25seS1mb3ItcmV0aW5hIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5LnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgICAgLnNob3ctZm9yLWxhcmdlLW9ubHkuc2hvdy1vbmx5LWZvci1yZXRpbmEtM3gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgIC5zaG93LWZvci1sYXJnZS1vbmx5LnNob3ctb25seS1mb3ItcmV0aW5hIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDIuNWRwcHgpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSkge1xuICAgIC5zaG93LWZvci1sYXJnZS1vbmx5LnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAuc2hvdy1mb3ItbGFyZ2Utb25seS5oaWRlLWZvci1yZXRpbmEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMjQwZHBpKSB7XG4gICAgLnNob3ctZm9yLWxhcmdlLW9ubHkuaGlkZS1mb3ItcmV0aW5hLTN4IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnNob3ctZm9yLWxhcmdlLW9ubHkuc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuc2hvdy1mb3ItbGFyZ2Utb25seS5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSwgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgICAuc2hvdy1mb3ItbGFyZ2Utb25seS5zaG93LW9ubHktZm9yLXJldGluYS0zeCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFkZGVkLXNwYWNlczo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMGEwJzsgfVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY29uc3RyYWluLWFuZC1jZW50ZXIge1xuICB3aWR0aDogdmlld3BvcnQtZ2V0LW1pbihsYXJnZSk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5jb25zdHJhaW4tYW5kLWNlbnRlciB7XG4gICAgICB3aWR0aDogdmlld3BvcnQtZ2V0LW1pbihtZWRpdW0pOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5jb25zdHJhaW4tYW5kLWNlbnRlciB7XG4gICAgICB3aWR0aDogdmlld3BvcnQtZ2V0LW1pbihzbWFsbCk7IH0gfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uYWxpZ24tbGFyZ2UtY2VudGVyLXNtYWxsLWxlZnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5hbGlnbi1sYXJnZS1jZW50ZXItc21hbGwtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAuc21hbGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuLm5vLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mbHVzaC1ib3R0b20tcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLmFjY29yZGlvbi10cmFuc2l0aW9ucyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG5cbi5hY2NvcmRpb24tc2VjdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmFjY29yZGlvbi1pbm5lciB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5pbnRybyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzNDk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgaHRtbC5pZTggLmludHJvIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAuaW50cm8ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgLmludHJvOmxhbmcoemgpIHtcbiAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuaW50cm86bGFuZyh6aCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uaW50cm8tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5hbGxjYXBzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOyB9XG5cbi5zbWFsbGJsb2NrLWNvcHkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgLnNtYWxsYmxvY2stY29weTpsYW5nKHpoKSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5wYWR0b3AgLm1haW4ge1xuICBwYWRkaW5nLXRvcDogMTA0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucGFkdG9wIC5tYWluIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWR0b3AgLm1haW4ge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7IH0gfVxuLnBhZGJvdHRvbSAubWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5wYWRib3R0b20gLm1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnBhZGJvdHRvbSAubWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG5cbi5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnNlY3Rpb246YmVmb3JlLCAuc2VjdGlvbjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zZWN0aW9uOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAuc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAuc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG4gIC5wYWdlLWVycm9ycyAuc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnNlY3Rpb24tbm9wYWQsXG4uc2VjdGlvbi1ub3BhZHRvcCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5zZWN0aW9uLW5vcGFkLFxuLnNlY3Rpb24tbm9wYWRib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uc2VjdGlvbi1ib3JkZXJib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi1ib3JkZXJib3R0b20gLnNlY3Rpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnNlY3Rpb24tYm9yZGVyYm90dG9tIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNlY3Rpb24tYm9yZGVyYm90dG9tIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG4gIC5zZWN0aW9uLWJvcmRlcmJvdHRvbS5zZWN0aW9uLW5vcGFkIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLnNlY3Rpb24tYm9yZGVyYm90dG9tLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zZWN0aW9uLWJvcmRlcmJvdHRvbS1zbWFsbCAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5zZWN0aW9uLWJvcmRlcmJvdHRvbS1zbWFsbCAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNlY3Rpb24tYm9yZGVyYm90dG9tLXNtYWxsIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG5cbi5zZWN0aW9uLWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgYm9yZGVyOiBzb2xpZCAjZDZkNmQ2O1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiA5ODBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MnB4KSB7XG4gICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA5ODBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA2OTJweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIC5zZWN0aW9uLWNvbnRlbnQ6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24tY29udGVudCBoMixcbiAgLnNlY3Rpb24tY29udGVudCBoMyxcbiAgLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjQ1ZW07IH1cbiAgICBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgyLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IGgzLCBodG1sLmllOCAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnNlY3Rpb24tY29udGVudCBoMixcbiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgaDMsXG4gICAgICAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNlY3Rpb24tY29udGVudCBoMixcbiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgaDMsXG4gICAgICAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjY2NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gICAgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHRoKSxcbiAgICAuc2VjdGlvbi1jb250ZW50IGgzOmxhbmcodGgpLFxuICAgIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh0aCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjE4NzU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh0aCksXG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQgaDM6bGFuZyh0aCksXG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tc3ViaGVhZGxpbmU6bGFuZyh0aCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHRoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHRoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjkxNjc7IH0gfVxuICAgIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh6aCksXG4gICAgLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHpoKSxcbiAgICAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lOmxhbmcoemgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHpoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHpoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCBoMzpsYW5nKHpoKSxcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1zdWJoZWFkbGluZTpsYW5nKHpoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cblxuLnNlY3Rpb24taGVybyB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1OHB4IDAgMzdweDtcbiAgICBtYXJnaW46IDAgYXV0byA2N3B4O1xuICAgIGJvcmRlcjogc29saWQgI2Q2ZDZkNjtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDAgMjNweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzZweDsgfSB9XG4gICAgLnBhZ2UtdW5hdmFpbGFibGUgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCBoMixcbiAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA4ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNDVlbTsgfVxuICAgICAgaHRtbC5pZTggLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IGgyLCBodG1sLmllOCAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmUge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDIsXG4gICAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDIsXG4gICAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyhqYSksXG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyhqYSkge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyhrbyksXG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyhrbykge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh0aCksXG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh0aCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAgICAgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcodGgpLFxuICAgICAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKHRoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yMTg3NTsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh0aCksXG4gICAgICAgICAgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhbmcodGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSxcbiAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi1oZWFkbGluZTpsYW5nKHpoKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSxcbiAgICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh6aCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSxcbiAgICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFuZyh6aCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgICAgIC5zZWN0aW9uLWhlcm8gLnNlY3Rpb24tY29udGVudCBoMjpsYXN0LWNoaWxkLFxuICAgICAgLnNlY3Rpb24taGVybyAuc2VjdGlvbi1jb250ZW50IC5zdWJzZWN0aW9uLWhlYWRsaW5lOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFzdC1jaGlsZCxcbiAgICAgICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24taGVhZGxpbmU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQgcCB7XG4gICAgICAgIHdpZHRoOiA4OCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4uc2VjdGlvbi1jb250ZW50LWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDk4MHB4O1xuICBmbG9hdDogbm9uZTsgfVxuXG4uc2VjdGlvbi1jb250ZW50LXJlc2V0LWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQycHgpIGFuZCAobWluLXdpZHRoOiAxNDQycHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC14bGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogOTgwcHg7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQycHgpIGFuZCAobWluLXdpZHRoOiAxNDQycHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC14bGFyZ2Uge1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQycHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1yZXNldC14bGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAuc2VjdGlvbi1jb250ZW50LW1lZGl1bSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA2OTJweDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkgYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAuc2VjdGlvbi1jb250ZW50LW1lZGl1bSB7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAuc2VjdGlvbi1jb250ZW50LXJlc2V0LW1lZGl1bSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAuc2VjdGlvbi1jb250ZW50LXNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDkwJTsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1zbWFsbCB7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gIC5zZWN0aW9uLWNvbnRlbnQtcmVzZXQtc21hbGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1mb3JtLWNvbXBhY3Qge1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAuc2VjdGlvbi1jb250ZW50LXJlc2V0LWZvcm0tY29tcGFjdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cbi5zZWN0aW9uLWNvbnRlbnQtYWMtbG9jYWxuYXY6bGFyZ2Uge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uc2VjdGlvbi1jb250ZW50LXJlc2V0LWFjLWxvY2FsbmF2OmxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1hYy1sb2NhbG5hdjptZWRpdW0ge1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1yZXNldC1hYy1sb2NhbG5hdjptZWRpdW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY3Rpb24tY29udGVudC1hYy1sb2NhbG5hdjpzbWFsbCB7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWN0aW9uLWNvbnRlbnQtcmVzZXQtYWMtbG9jYWxuYXY6c21hbGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfSB9XG4jYWMtbG9jYWxuYXYgLmFjLWxuLXRpdGxlIGZpZ3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoMHB4IDBweCA5OS45JSA5OS45JSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICNhYy1sb2NhbG5hdiAuYWMtbG4tdGl0bGUgZmlndXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfSB9XG5cbi52ZXJ0aWNhbC1kaXZpZGVyIGgyIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgaHRtbC5pZTggLnZlcnRpY2FsLWRpdmlkZXIgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAudmVydGljYWwtZGl2aWRlciBoMiB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC52ZXJ0aWNhbC1kaXZpZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2NjY3O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAudmVydGljYWwtZGl2aWRlciBoMjpsYW5nKHRoKSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE4NzU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnZlcnRpY2FsLWRpdmlkZXIgaDI6bGFuZyh0aCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnZlcnRpY2FsLWRpdmlkZXIgaDI6bGFuZyh0aCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOTE2NzsgfSB9XG4gIC52ZXJ0aWNhbC1kaXZpZGVyIGgyOmxhbmcoemgpIHtcbiAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnZlcnRpY2FsLWRpdmlkZXIgaDI6bGFuZyh6aCkge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC52ZXJ0aWNhbC1kaXZpZGVyIGgyOmxhbmcoemgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbi52ZXJ0aWNhbC1kaXZpZGVyIC5rZXlsaW5lIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnZlcnRpY2FsLWRpdmlkZXIgLmtleWxpbmUge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7IH0gfVxuLnZlcnRpY2FsLWRpdmlkZXIgLmNvbHVtbi1maXJzdCB7XG4gIHBhZGRpbmc6IDAgNTBweCAwIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAudmVydGljYWwtZGl2aWRlciAuY29sdW1uLWZpcnN0IHtcbiAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnZlcnRpY2FsLWRpdmlkZXIgLmNvbHVtbi1maXJzdCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMjdweCAwOyB9IH1cbi52ZXJ0aWNhbC1kaXZpZGVyIC5jb2x1bW4tbGFzdCB7XG4gIHBhZGRpbmc6IDAgMCAwIDUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAudmVydGljYWwtZGl2aWRlciAuY29sdW1uLWxhc3Qge1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAudmVydGljYWwtZGl2aWRlciAuY29sdW1uLWxhc3Qge1xuICAgICAgcGFkZGluZzogNDVweCAwIDAgMDsgfSB9XG5cbi5lcnJvcixcbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5lcnJvci5zaG93LFxuICAuaGlkZGVuLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnNlbGVjdDpkaXNhYmxlZCxcbi5lcnJvcnMge1xuICBvcGFjaXR5OiAuNDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQgc2VsZWN0OmRpc2FibGVkLFxuICAuZXJyb3JzIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uZm9ybS1kcm9wZG93biB7XG4gIG1pbi1oZWlnaHQ6IDMxcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZvcm0tYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLmZvcm0tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSB9XG4gIC5mb3JtLWJ1dHRvbi5pbmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogLjI1OyB9XG5cbi5mb3JtLXNlbGVjdG9yLXJvd3dpdGhndXR0ZXJzLmNvbXBhY3Qge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb3JtLXNlbGVjdG9yLXJvd3dpdGhndXR0ZXJzLmNvbXBhY3QgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi5mb3JtLWNob2ljZS1zZWxlY3Rvci5jb21wYWN0LnRhbGwgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAuODVlbTtcbiAgcGFkZGluZy1ib3R0b206IC41ZW07IH1cblxuLmNhbGxvdXQuZXJyb3Ige1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDAuODg4ODllbTtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLmNhbGxvdXQuZXJyb3IgYSwgLmNhbGxvdXQuZXJyb3IgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC5jYWxsb3V0LmVycm9yIGJ1dHRvbi5tb3JlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5jYWxsb3V0LWZvcm0tZXJyb3I6Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5mb3JtLWxhYmVsLXdyYXBwZXIge1xuICBoZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5mb3JtLWxhYmVsLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLmllIHNlbGVjdCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDAgMCAwIDE2cHg7IH1cbi5pZSAuZm9ybS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sLmllOCBzZWxlY3Qge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgMCAwIDRweDsgfVxuaHRtbC5pZTggLmZvcm0taWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbmh0bWwuaWU4IC5pcy1lcnJvciB+IC5mb3JtLW1lc3NhZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuLmZvcm0tc2lkZWJ5c2lkZS10ZXh0Ym94ZXMgLmNvbHVtbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAuZm9ybS1zaWRlYnlzaWRlLXRleHRib3hlcyAuY29sdW1uICsgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9ybS1zaWRlYnlzaWRlLXRleHRib3hlcyAuY29sdW1uIHNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uZmFsc2UtcGxhY2Vob2xkZXIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICB0b3A6IDZweDtcbiAgbGVmdDogMTZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZhbHNlLXBsYWNlaG9sZGVyIC5pbnZpc2libGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZhbHNlLXBsYWNlaG9sZGVyIC5lbmQtZm9ybWF0dGluZyB7XG4gICAgY29sb3I6ICMzMzMzMzM7IH1cblxuLmZvcm0tdGV4dGJveCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLmZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZSB7XG4gIHBhZGRpbmctbGVmdDogLjc1ZW07XG4gIHBhZGRpbmctcmlnaHQ6IC43NWVtOyB9XG5cbi5zZWN0aW9uLXByb2R1Y3Qge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICAgLnNlY3Rpb24tcHJvZHVjdC5wcm9kdWN0LXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuc2VjdGlvbi1wcm9kdWN0IC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIHdpZHRoOiAzNjlweDtcbiAgICBoZWlnaHQ6IDU4N3B4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzY5cHggYXV0bztcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnNlY3Rpb24tcHJvZHVjdCAuaW1hZ2UtcHJvZHVjdC1sb2NrdXAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5zZWN0aW9uLXByb2R1Y3QgLmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5zZWN0aW9uLXByb2R1Y3QgLmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcbiAgICAgICAgd2lkdGg6IDI3N3B4O1xuICAgICAgICBoZWlnaHQ6IDQ0MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI3N3B4IGF1dG87IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5zZWN0aW9uLXByb2R1Y3QgLmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDM1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwMHB4IGF1dG87IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0IC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICAgIGhlaWdodDogMjUwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5zZWN0aW9uLXByb2R1Y3QgLmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcbiAgICAgICAgaGVpZ2h0OiAyMTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnNlY3Rpb24tcHJvZHVjdCAuaW1hZ2UtcHJvZHVjdC1sb2NrdXAge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7IH0gfVxuICAuc2VjdGlvbi1wcm9kdWN0Omxhc3QtY2hpbGQsIC5zZWN0aW9uLXByb2R1Y3Q6bGFzdC1jaGlsZCAucHJvZHVjdCwgLnNlY3Rpb24tcHJvZHVjdC5wcm9kdWN0LXRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0IC5wcm9kdWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5wcm9kdWN0LXNwZWNzIHtcbiAgcGFkZGluZzogMjZweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucHJvZHVjdC1zcGVjcyB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnByb2R1Y3Qtc3BlY3Mge1xuICAgICAgcGFkZGluZzogMjhweCAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wcm9kdWN0LXNwZWNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnByb2R1Y3Qtc3BlY3MgPiAqIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXBsYW4ge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC1wbGFuIGg0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuICAgIC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXBsYW4gbGkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgICAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC1wbGFuIGxpOmxhbmcoemgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wcm9kdWN0LXNwZWNzIC5wcm9kdWN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODY7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLnByb2R1Y3QtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2Njc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH0gfVxuICAucHJvZHVjdC1zcGVjcyAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5wcm9kdWN0LXNwZWNzIHVsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0byAxNnB4OyB9XG4gICAgLnByb2R1Y3Qtc3BlY3MgdWw6bGFuZyh6aCkge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wcm9kdWN0LXNwZWNzIC5wcmljZSB7XG4gICAgbWFyZ2luLXRvcDogMjlweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gICAgLnByb2R1Y3Qtc3BlY3MgLnByaWNlOmJlZm9yZSwgLnByb2R1Y3Qtc3BlY3MgLnByaWNlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnByb2R1Y3Qtc3BlY3MgLnByaWNlOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnByb2R1Y3Qtc3BlY3MgLnByaWNlIHNwYW4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAucHJvZHVjdC1zcGVjcyAucHJpY2Ugc3BhbiB+IHNwYW4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5wcm9kdWN0LXNwZWNzIC5mb290bm90ZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzQxO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1zcGVjcyAucGxhbi1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yODU4MztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAucGxhbi1oZWFkZXIgLnBsYW4taGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBTZXQgUHJvIDYwMFwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLnBsYW4taGVhZGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAucGxhbi1oZWFkZXI6bGFuZyhhcikgLnBsYW4taGVhZGVyOmxhbmcoYXIpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkd1bGYgNjAwXCIsIFwiR3VsZlwiLCBcIk15cmlhZCBTZXQgUHJvIDYwMFwiLCBcIk15cmlhZCBTZXQgUHJvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wbGFuLWhlYWRlcjpsYW5nKGphLUpQKSAucGxhbi1oZWFkZXI6bGFuZyhqYS1KUCkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQXBwbGUgVFAgNjAwXCIsIFwiQXBwbGUgVFBcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi44Oh44Kk44Oq44KqXCIsIFwiTWVpcnlvXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wbGFuLWhlYWRlcjpsYW5nKGtvLUtSKSAucGxhbi1oZWFkZXI6bGFuZyhrby1LUikge1xuICAgICAgZm9udC1mYW1pbHk6IFwiWW9vbiBHb3RoaWMgNjAwXCIsIFwiWW9vbiBHb3RoaWNcIiwgXCJBcHBsZSBHb3RoaWNcIiwgXCJIWSBHdWxpbVwiLCBcIk1hbGd1bUdvdGhpY1wiLCBcIkhZIERvdHVtXCIsIFwiTGV4aSBHdWxpbVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wbGFuLWhlYWRlcjpsYW5nKHRoLVRIKSAucGxhbi1oZWFkZXI6bGFuZyh0aC1USCkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3VraHVtdml0IFNldCA2MDBcIiwgXCJTdWtodW12aXQgU2V0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLnBsYW4taGVhZGVyOmxhbmcoemgtQ04pIC5wbGFuLWhlYWRlcjpsYW5nKHpoLUNOKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgU0MgNjAwXCIsIFwiSGFuSGVpIFNDXCIsIFwiUGluZ0hlaSA2MDBcIiwgXCJQaW5nSGVpXCIsIFwiUGluZ0ZhbmcgU0NcIiwgXCJTVEhlaXRpU0MtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBodG1sLmllOCAucHJvZHVjdC1zcGVjcyAucGxhbi1oZWFkZXI6bGFuZyh6aC1ISykgLnBsYW4taGVhZGVyOmxhbmcoemgtSEspIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhhbkhlaSBUQyA2MDBcIiwgXCJIYW5IZWkgVENcIiwgXCJNSGVpIDYwMFwiLCBcIk1IZWlcIiwgXCJQaW5nRmFuZyBIS1wiLCBcIlNUSGVpdGlUQy1MaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuICAgIGh0bWwuaWU4IC5wcm9kdWN0LXNwZWNzIC5wbGFuLWhlYWRlcjpsYW5nKHpoLU1PKSAucGxhbi1oZWFkZXI6bGFuZyh6aC1NTykge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGFuSGVpIFRDIDYwMFwiLCBcIkhhbkhlaSBUQ1wiLCBcIk1IZWkgNjAwXCIsIFwiTUhlaVwiLCBcIlBpbmdGYW5nIEhLXCIsIFwiU1RIZWl0aVRDLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgaHRtbC5pZTggLnByb2R1Y3Qtc3BlY3MgLnBsYW4taGVhZGVyOmxhbmcoemgtVFcpIC5wbGFuLWhlYWRlcjpsYW5nKHpoLVRXKSB7XG4gICAgICBmb250LWZhbWlseTogXCJIYW5IZWkgVEMgNjAwXCIsIFwiSGFuSGVpIFRDXCIsIFwiTUhlaSA2MDBcIiwgXCJNSGVpXCIsIFwiUGluZ0ZhbmcgVENcIiwgXCJTVEhlaXRpVEMtTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAucHJvZHVjdC1zcGVjcyAucGxhbi1oZWFkZXI6bGFuZyh6aCkge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLnByb2R1Y3QtdG9wIC5wcm9kdWN0LWZhbWlseSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wcm9kdWN0LWZhbWlseS1pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogNDM5cHggMzY5cHg7XG4gIHdpZHRoOiA0MzlweDtcbiAgaGVpZ2h0OiAzNjlweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnByb2R1Y3QtZmFtaWx5LWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzI5cHggMjc3cHg7XG4gICAgICB3aWR0aDogMzI5cHg7XG4gICAgICBoZWlnaHQ6IDI3N3B4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wcm9kdWN0LWZhbWlseS1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIzOXB4IDIxMnB4O1xuICAgICAgd2lkdGg6IDIzOXB4O1xuICAgICAgaGVpZ2h0OiAyMTJweDsgfSB9XG5cbi5wcm9kdWN0LXNlbGVjdG9yLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAzNnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucHJvZHVjdC1zZWxlY3Rvci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLnByb2R1Y3Qtc2VsZWN0b3Itd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uIC5sYWJlbC10YWxsIHtcbiAgICBoZWlnaHQ6IDEwOHB4OyB9IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IsIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmZvcm0tc2VsZWN0b3Itc2luZ2xlY29sdW1uLCAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNvbG9yLXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmZvcm0tc2VsZWN0b3Itcm93d2l0aGd1dHRlcnMsIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tc2VsZWN0b3Itcm93d2l0aGd1dHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3B4OyB9XG4gICAgLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3RvciAuZm9ybS1zZWxlY3Rvci1yb3d3aXRoZ3V0dGVycyA+IC5jb2x1bW4sIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tc2VsZWN0b3Itcm93d2l0aGd1dHRlcnMgPiAuY29sdW1uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgcGFkZGluZy1yaWdodDogM3B4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmZvcm0tbGFiZWwsIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yIC5mb3JtLWNob2ljZS1zZWxlY3RvciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCwgLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jb2xvci1zZWxlY3RvciAuZm9ybS1jaG9pY2Utc2VsZWN0b3IgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxcHggMnB4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmNoZWNrZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwsIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tY2hvaWNlLXNlbGVjdG9yOmNoZWNrZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMXB4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLCAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNvbG9yLXNlbGVjdG9yIC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiwgLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jb2xvci1zZWxlY3RvciAuZm9ybS1zZWxlY3Rvci1zaW5nbGVjb2x1bW4ge1xuICAgIG9yZGVyOiAwO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgZmxleDogMCBhdXRvO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4OyB9XG4gICAgLnNhZmFyaSAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbjpmaXJzdC1jaGlsZCwgLnNhZmFyaSAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNvbG9yLXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3RvciAuZm9ybS1jaG9pY2Utc2VsZWN0b3IgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICBtaW4taGVpZ2h0OiA1MXB4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMXB4IDJweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3RvciAuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXB4OyB9XG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3RvciAuZm9ybS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yIC5mb3JtLWxhYmVsOmxhbmcoemgpIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY2FwYWNpdHktc2VsZWN0b3IgLmNhcGFjaXR5LXByaWNlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4zMzM0MTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgcGFkZGluZy10b3A6IDFweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3Rvci5hbnktdW5hdmFpbGFibGUgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgbWluLWhlaWdodDogNjFweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3Rvci5hbnktdW5hdmFpbGFibGUgLmZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogOXB4OyB9XG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNhcGFjaXR5LXNlbGVjdG9yLndpdGhvdXQtcHJpY2UgLmZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jYXBhY2l0eS1zZWxlY3Rvci5hbnktdW5hdmFpbGFibGUud2l0aG91dC1wcmljZSAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICBtaW4taGVpZ2h0OiA1MXB4OyB9XG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNvbG9yLXNlbGVjdG9yIC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gIG1pbi1oZWlnaHQ6IDE2N3B4OyB9XG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uLmNvbG9yLXNlbGVjdG9yIC5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbi5jb2xvci1zZWxlY3RvciAuZm9ybS1sYWJlbCB7XG4gIGJhY2tncm91bmQtc2l6ZTogMzlweCA4MHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICBtaW4td2lkdGg6IDM5cHg7XG4gIHBhZGRpbmctdG9wOiA5MnB4OyB9XG4gIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tbGFiZWw6bGFuZyhkZS1DSCksIC5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24uY29sb3Itc2VsZWN0b3IgLmZvcm0tbGFiZWw6bGFuZyhkZS1ERSkge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbiAuc3dhdGNoLWltYWdlIHtcbiAgd2lkdGg6IDM5cHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAzOXB4IGF1dG87XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24gLm91dC1vZi1zdG9jayxcbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24gLmxpbWl0ZWQtY2FwYWNpdHkge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzQxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBsaW5lLWhlaWdodDogMS4xNjY2N2VtOyB9XG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uIC5saW1pdGVkLWNhcGFjaXR5IHtcbiAgY29sb3I6ICMzMzMzMzM7IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24gLm91dC1vZi1zdG9jayB7XG4gIGNvbG9yOiAjZjQ2YzBlO1xuICBtYXJnaW46IDFweCAwIC00cHg7IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24gLnVuYXZhaWxhYmxlIC5zd2F0Y2gtaW1hZ2Uge1xuICBvcGFjaXR5OiAwLjM7IH1cbi5wcm9kdWN0LXNlbGVjdG9yLXNlY3Rpb24gLnVuYXZhaWxhYmxlIGlucHV0OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMDsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbiAudW5hdmFpbGFibGUgLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbiAudW5hdmFpbGFibGUgLmZvcm0tbGFiZWwsXG4ucHJvZHVjdC1zZWxlY3Rvci1zZWN0aW9uIC51bmF2YWlsYWJsZSAuZm9ybS1jaG9pY2U6aG92ZXIgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbiAudW5hdmFpbGFibGUgLmZvcm0tY2hvaWNlIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi50b2dnbGUtc2VjdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMC44ODg4OWVtOyB9XG4gIC50b2dnbGUtc2VjdGlvbiAudG9nZ2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gICAgLnRvZ2dsZS1zZWN0aW9uIC50b2dnbGUgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDZweCA0MHB4IDVweCAwO1xuICAgICAgY29sb3I6ICMwMDcwYzk7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgLnRvZ2dsZS1zZWN0aW9uIC50b2dnbGUgc3BhbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gICAgLnRvZ2dsZS1zZWN0aW9uIC50b2dnbGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDcwYzk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC50b2dnbGUtc2VjdGlvbiAudG9nZ2xlLm9wZW46OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMGRlZyk7IH1cbiAgICAudG9nZ2xlLXNlY3Rpb24gLnRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBENyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTZweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgLnRvZ2dsZS1zZWN0aW9uIC50b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gIC50b2dnbGUtc2VjdGlvbiB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnRvZ2dsZS1zZWN0aW9uIHVsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC50b2dnbGUtc2VjdGlvbiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAudW5hdmFpbGFibGUtbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzNDE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbi5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAuc3VjY2VzcyB7XG4gIGNvbG9yOiAjMDBhNjUxOyB9XG4gIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAuc3VjY2VzcyAuc3VjY2Vzcy1pY29uIHtcbiAgICBmb250LXNpemU6IDEuMzMzMzNlbTtcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gICAgLnBhZ2UtY2hlY2stYXZhaWxhYmlsaXR5IC5zdWNjZXNzIC5zdWNjZXNzLWljb246OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgLnBhZ2UtY2hlY2stYXZhaWxhYmlsaXR5IC5zdWNjZXNzIC5zdWNjZXNzLWNvcHkge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDAuODg4ODllbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAucGFnZS1jaGVjay1hdmFpbGFiaWxpdHkgLnN1Y2Nlc3MgLnN1Y2Nlc3MtY29weSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2UtY2hlY2stYXZhaWxhYmlsaXR5IC5zdWNjZXNzIC5zdWNjZXNzLWNvcHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuLnBhZ2UtY2hlY2stYXZhaWxhYmlsaXR5IC5mb3JtLWVsZW1lbnRzLXdyYXBwZXIge1xuICB3aWR0aDogMjcwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAuZm9ybS1lbGVtZW50cy13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbi5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAuYXZhaWxhYmlsaXR5LWF2YWlsYWJsZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIG91dGxpbmU6IDA7IH1cbi5wYWdlLWNoZWNrLWF2YWlsYWJpbGl0eSAuc2VjdGlvbi1wcm9kdWN0LmhpZGRlbiArICogLmF2YWlsYWJpbGl0eS1hdmFpbGFibGUge1xuICBtYXJnaW4tdG9wOiAyNnB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24taGVybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4ucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IHtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgICBvdXRsaW5lOiAwOyB9XG4gICAgaHRtbC5pZTggLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDIge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjY2NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gICAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMjpsYW5nKHRoKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yMTg3NTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMjpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IGgyOmxhbmcodGgpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOTE2NzsgfSB9XG4gICAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlY3Rpb24tY29weSBoMjpsYW5nKHpoKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyh6aCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgaDI6bGFuZyh6aCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLWNvcHkgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1jb3B5IHN0cm9uZy5pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4ucGFnZS1yZXNlcnZhdGlvbiAud2l0aC1kcm9wZG93bnMgKyAuY29weSB7XG4gIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4ucGFnZS1yZXNlcnZhdGlvbiAuY29weSB7XG4gIHBhZGRpbmctdG9wOiA0M3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuY29weSB7XG4gICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjsgfSB9XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5LnNlbGVjdGVkLXN0b3JlIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5LnNlbGVjdGVkLXN0b3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuICAucGFnZS1yZXNlcnZhdGlvbiAuY29weS5jb250YWN0LWluZm8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2UtcmVzZXJ2YXRpb24gLmNvcHkuY29udGFjdC1pbmZvIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDsgfSB9XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5Lmdvdi1pZCB7XG4gICAgcGFkZGluZy10b3A6IDUwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2UtcmVzZXJ2YXRpb24gLmNvcHkuZ292LWlkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5Lmdvdi1pZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5LnZlcmlmeS1pbmZvIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jb3B5LnBpY2t1cC10aW1lIC5jb3B5IHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdGVkLXN0b3JlIHAge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cbi5wYWdlLXJlc2VydmF0aW9uIC5zZWxlY3RlZC1zdG9yZS5sb2FkZXIge1xuICBvcGFjaXR5OiAuNTsgfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdGVkLXN0b3JlLnNpbmdsZS1zdG9yZSBidXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4ucGFnZS1yZXNlcnZhdGlvbiAucGlja3VwLXRpbWUge1xuICBwYWRkaW5nLWJvdHRvbTogNnB4OyB9XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5waWNrdXAtdGltZSAuY29weSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5waWNrdXAtdGltZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfSB9XG4udW5sb2NrZWQtY2FycmllciAucGFnZS1yZXNlcnZhdGlvbiAucmVzZXJ2YXRpb24ge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLmNhbGxvdXQuZXJyb3Ige1xuICB3aWR0aDogMzM0cHg7XG4gIG1hcmdpbjogMCAwIDI2cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuY2FsbG91dC5lcnJvciB7XG4gICAgICB3aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jYWxsb3V0LmVycm9yIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5jYWxsb3V0LmVycm9yIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuY2FsbG91dC5lcnJvciBwIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5jYWxsb3V0LmVycm9yLmxvY2tlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbi5wYWdlLXJlc2VydmF0aW9uIC51bmxvY2tlZC1jYXJyaWVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS1yZXNlcnZhdGlvbiAudW5sb2NrZWQtY2Fycmllci5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdC1wbGFuLFxuLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdC1zdG9yZSxcbi5wYWdlLXJlc2VydmF0aW9uIC5zZWxlY3QtcXVhbnRpdHksXG4ucGFnZS1yZXNlcnZhdGlvbiAuc2VsZWN0LXN0YXRlIHtcbiAgd2lkdGg6IDI0NnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VsZWN0LXBsYW4sXG4gICAgLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdC1zdG9yZSxcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuc2VsZWN0LXF1YW50aXR5LFxuICAgIC5wYWdlLXJlc2VydmF0aW9uIC5zZWxlY3Qtc3RhdGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLnNlbGVjdC1wbGFuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLnZlcmlmeS1pbmZvIC5mb3JtLWxhYmVsLFxuLnBhZ2UtcmVzZXJ2YXRpb24gLmdvdi1pZC1pbmZvIC5mb3JtLWxhYmVsIHtcbiAgd2lkdGg6IDEyOXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAudmVyaWZ5LWluZm8gLmZvcm0tbGFiZWwsXG4gICAgLnBhZ2UtcmVzZXJ2YXRpb24gLmdvdi1pZC1pbmZvIC5mb3JtLWxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbi5wYWdlLXJlc2VydmF0aW9uIC5nb3YtaWQtaW5mbyAuZm9ybS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4ucGFnZS1yZXNlcnZhdGlvbiAjcGxhbl9lcnJvcixcbi5wYWdlLXJlc2VydmF0aW9uICN0aW1lX2Vycm9yIHtcbiAgd2lkdGg6IDI0NnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAjcGxhbl9lcnJvcixcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAjdGltZV9lcnJvciB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4ucGFnZS1yZXNlcnZhdGlvbiAubGFzdC5pcy1lcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDJweDsgfVxuLnBhZ2UtcmVzZXJ2YXRpb24gLmNhbmNlbC1jb250aW51ZSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMC44MzMzM2VtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1yZXNlcnZhdGlvbiAuY2FuY2VsLWNvbnRpbnVlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucGFnZS1yZXNlcnZhdGlvbiAuc2VjdGlvbi1wcm9kdWN0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9IH1cbi5wYWdlLXJlc2VydmF0aW9uIGJ1dHRvbi5tb3JlIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzAwNzBjOTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gIC5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLXJlc2VydmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbi5wYWdlLXJlc2VydmF0aW9uIC5zZWN0aW9uLXJlc2VydmUgLnNlY3Rpb24tY29udGVudCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4ucGFnZS1yZXNlcnZhdGlvbiAuZm9ybS10YWJsZSAuZm9ybS1yb3c6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvcHkgLnN0b3JlLW5lZWRzIGgzLCAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24td2FsbGV0IGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS40NDQ2O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1uZWVkcyBoMzpsYW5nKHpoKSwgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLXdhbGxldCBoMzpsYW5nKHpoKSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9XG4gICAgaHRtbC5pZTggLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvbnRlbnQgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29udGVudCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2Njc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcodGgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjkxNjc7IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcoemgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh6aCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9IH1cbi5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IHtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAuc3RvcmUtbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvcHkgLmNhbGVuZGFyLFxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAuc3RvcmUtZGV0YWlscyB7XG4gICAgcGFkZGluZy10b3A6IDZweDsgfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAucmVzZXJ2YXRpb24tcXJjb2RlIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWFyZ2luLXRvcDogMy42NmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5yZXNlcnZhdGlvbi1xcmNvZGUge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAucmVzZXJ2YXRpb24tcXJjb2RlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5yZXNlcnZhdGlvbi1xcmNvZGUgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvcHkgLnFyY29kZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5xcmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAucXJjb2RlLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExMXB4IDExMXB4O1xuICAgIHdpZHRoOiAxMTFweDtcbiAgICBoZWlnaHQ6IDExMXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAuc3RvcmUtbG9jYXRpb24sXG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvcHkgLnN0b3JlLW5lZWRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDIzcHg7XG4gICAgICBwYWRkaW5nOiAyN3B4IDAgMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1waWNrdXAgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1uZWVkcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAuc3RvcmUtbmVlZHMge1xuICAgIG1hcmdpbi10b3A6IDMuNjZlbTsgfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1uZWVkcyBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWNvcHkgLnN0b3JlLW5lZWRzIHAge1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tY29weSAuc3RvcmUtbmVlZHMge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDAgNDBweDsgfSB9XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1sb2NhdGlvbiB7XG4gICAgcGFkZGluZzogMy42NmVtIDAgMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1sb2NhdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1jb3B5IC5zdG9yZS1sb2NhdGlvbiAuc3RvcmUtbmFtZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS40MDsgfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tcGlja3VwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1wcm9kdWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1wcm9kdWN0LnNtYWxsLW1hcmdpbnRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbi5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi13YWxsZXQgaHIge1xuICBib3JkZXI6IHNvbGlkICNkNmQ2ZDY7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbiAgbWFyZ2luOiAxLjZlbSAwOyB9XG4ucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24td2FsbGV0IC5idXR0b24ud2FsbGV0LWFkZCB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMzZweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogNTAlO1xuICBib3JkZXI6IDA7IH1cbi5wYWdlLWNvbmZpcm1hdGlvbiAuaW1hZ2UtcHJvZHVjdC1sb2NrdXAge1xuICB3aWR0aDogMjU4cHg7XG4gIGhlaWdodDogMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MnB4KSB7XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICB3aWR0aDogMjU4cHg7XG4gICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICB3aWR0aDogNDc4cHg7XG4gICAgICBoZWlnaHQ6IDU2NnB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLnBhZ2UtY29uZmlybWF0aW9uIC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucGFnZS1jb25maXJtYXRpb24gLmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuaW1hZ2UtcHJvZHVjdC1sb2NrdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucGFnZS1jb25maXJtYXRpb24gLnByb2R1Y3Qtc3BlY3Mge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbi5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTsgfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzlweDsgfVxuICAgIGh0bWwuaWU4IC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgaDIge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2Njc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwZW07IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcodGgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxODc1OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjhweCkge1xuICAgICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMjpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMjpsYW5nKHRoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjkxNjc7IH0gfVxuICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoemgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLnBhZ2UtY29uZmlybWF0aW9uIC5zZWN0aW9uLWZhcXMgaDI6bGFuZyh6aCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAgIC5wYWdlLWNvbmZpcm1hdGlvbiAuc2VjdGlvbi1mYXFzIGgyOmxhbmcoemgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBoMyB7XG4gICAgZm9udC1zaXplOiAwLjg4ODg5ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAucGFnZS1jb25maXJtYXRpb24gLnNlY3Rpb24tZmFxcyBwIHtcbiAgICBmb250LXNpemU6IDAuODg4ODllbTsgfVxuXG5odG1sLmllIC5wYWdlLWNvbmZpcm1hdGlvbiAudG9nZ2xlLXNlY3Rpb24gYnV0dG9uLnRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7IH1cblxuLnBhZ2Utc21zIC5zZWN0aW9uLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucGFnZS1zbXMgLnNlY3Rpb24tY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgICBodG1sLmllOCAucGFnZS1zbXMgLnNlY3Rpb24tY29udGVudCBoMiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLXNtcyAuc2VjdGlvbi1jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBlbTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2Utc21zIC5zZWN0aW9uLWNvbnRlbnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2NjY3O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMGVtOyB9IH1cbiAgICAucGFnZS1zbXMgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHRoKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yMTg3NTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgICAgLnBhZ2Utc21zIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh0aCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgLnBhZ2Utc21zIC5zZWN0aW9uLWNvbnRlbnQgaDI6bGFuZyh0aCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5MTY3OyB9IH1cbiAgICAucGFnZS1zbXMgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgICAgIC5wYWdlLXNtcyAuc2VjdGlvbi1jb250ZW50IGgyOmxhbmcoemgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgICAucGFnZS1zbXMgLnNlY3Rpb24tY29udGVudCBoMjpsYW5nKHpoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLnBhZ2Utc21zIC5zZWN0aW9uLWNvbnRlbnQgLmNhbGxvdXQuZXJyb3Ige1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbi5wYWdlLXNtcyAuc3RlcHMge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAucGFnZS1zbXMgLnN0ZXBzIHtcbiAgICAgIG1hcmdpbi10b3A6IDM4cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgLnBhZ2Utc21zIC5zdGVwcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzOHB4OyB9IH1cbiAgLnBhZ2Utc21zIC5zdGVwcyBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IC40NWVtO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBodG1sLmllOCAucGFnZS1zbXMgLnN0ZXBzIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLnBhZ2Utc21zIC5zdGVwcyB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucGFnZS1zbXMgLnN0ZXBzIGxpLFxuICAucGFnZS1zbXMgLnN0ZXBzIHAge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdlLXNtcyAuc3RlcHMgLnN0ZXAge1xuICAgIHBhZGRpbmc6IDM2cHggMCAyMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLXNtcyAuc3RlcHMgLnN0ZXAge1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDAgMTZweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgICAgLnBhZ2Utc21zIC5zdGVwcyAuc3RlcCB7XG4gICAgICAgIHBhZGRpbmc6IDM2cHggMDsgfSB9XG4gIC5wYWdlLXNtcyAuc3RlcHMgLnN0ZXAtMSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgLnBhZ2Utc21zIC5zdGVwcyAuc3RlcC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDY4cHgpIHtcbiAgICAgIC5wYWdlLXNtcyAuc3RlcHMgLnN0ZXAtMiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIxOHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNXB4KSB7XG4gICAgICAucGFnZS1zbXMgLnN0ZXBzIC5zdGVwLTIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLnBhZ2Utc21zIC5zdGVwcyAucGhvbmUtdHlwZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyOHB4O1xuICAgIGNvbG9yOiAjOTk5OTk5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnBhZ2Utc21zIC5zdGVwcyAucmVnLWNvcHkge1xuICAgICAgd2lkdGg6IDU0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXNtcyAuc3RlcHMgLnJlZy1jb3B5IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBhZ2Utc21zIC5zdGVwcyAuc2luZ2xlLWNvdW50cnktY29kZSAucGhvbmUtbnVtYmVyIHtcbiAgICB3aWR0aDogODMlO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLWNlbGwuZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDE3OHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgLnBhZ2Utc21zIC5zdGVwcyAuZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5wYWdlLXNtcyAuc3RlcHMgLmZvcm0tbWVzc2FnZS13cmFwcGVyIHtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAucGFnZS1zbXMgLnN0ZXBzIC5mb3JtLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuLnBhZ2Utc21zICNyZWdpc3RyYXRpb25jb2RlRXJyb3IsXG4ucGFnZS1zbXMgLmNhbGxvdXQuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4ucGFnZS1zbXMgLmZvcm0tbWVzc2FnZS1yZWdpc3RyYXRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjZWUwMDAwOyB9XG4ucGFnZS1zbXMgLmlzLXJldHVybmluZy1zb3N1bWkge1xuICBkaXNwbGF5OiBub25lOyB9XG4ucGFnZS1zbXMuaXMtcmV0dXJuaW5nIC5zZWN0aW9uLWhlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuLnBhZ2Utc21zLmlzLXJldHVybmluZyAuc2VjdGlvbi1jb250ZW50IGgxIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbi5wYWdlLXNtcy5pcy1yZXR1cm5pbmcgLnNlY3Rpb24tY29udGVudCAuc3RlcHMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYWdlLXNtcy5pcy1yZXR1cm5pbmcgLnNlY3Rpb24tY29udGVudCAuc3RlcHMgLnN0ZXAtMSxcbiAgLnBhZ2Utc21zLmlzLXJldHVybmluZyAuc2VjdGlvbi1jb250ZW50IC5zdGVwcyAuc3RlcC0yIGgyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4ucGFnZS1zbXMuaXMtcmV0dXJuaW5nIC5maXJzdC10aW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLnBhZ2Utc21zLmlzLXJldHVybmluZyAuaXMtcmV0dXJuaW5nLXNvc3VtaSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4ucGFnZS1zbXMgLnNwZWNpYWxpc3Qta2V5bGluZSB7XG4gIGJvcmRlcjogc29saWQgI2Q2ZDZkNjtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDMwMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDZweDsgfVxuICAuaXMtcmV0dXJuaW5nIC5wYWdlLXNtcyAuc3BlY2lhbGlzdC1rZXlsaW5lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbWFnZS1zbXMtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogMzA2cHggNTM1cHg7XG4gIHdpZHRoOiAzMDZweDtcbiAgaGVpZ2h0OiA1MzVweDsgfVxuICAuaW1hZ2Utc21zLWhlcm86bGFuZyh6aC1DTiksIC5pbWFnZS1zbXMtaGVybzpsYW5nKHpoLUhLKSwgLmltYWdlLXNtcy1oZXJvOmxhbmcoZW4tSEspLCAuaW1hZ2Utc21zLWhlcm86bGFuZyh6aC1NTyksIC5pbWFnZS1zbXMtaGVybzpsYW5nKGVuLUFFKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNjZweCA1MDBweDtcbiAgICB3aWR0aDogMjY2cHg7XG4gICAgaGVpZ2h0OiA1MDBweDsgfVxuICAuaW1hZ2Utc21zLWhlcm86bGFuZyhqYS1KUCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjk2cHggNTI2cHg7XG4gICAgd2lkdGg6IDI5NnB4O1xuICAgIGhlaWdodDogNTI2cHg7IH1cblxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAucGFnZS11bmF2YWlsYWJsZSAuc2VjdGlvbi1oZXJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4ucGFnZS11bmF2YWlsYWJsZSAuZXJyb3ItY29weSB7XG4gIHBhZGRpbmc6IDEwMHB4IDAgMTQ1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzVweCkge1xuICAgIC5wYWdlLXVuYXZhaWxhYmxlIC5lcnJvci1jb3B5IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMnB4OyB9IH1cbiAgLnBhZ2UtdW5hdmFpbGFibGUgLmVycm9yLWNvcHkgYSwgLnBhZ2UtdW5hdmFpbGFibGUgLmVycm9yLWNvcHkgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC5wYWdlLXVuYXZhaWxhYmxlIC5lcnJvci1jb3B5IGJ1dHRvbi5tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbi5wYWdlLXVuYXZhaWxhYmxlIC5zZWN0aW9uLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wYWdlLXVuYXZhaWxhYmxlIC5zZWN0aW9uLWNvbnRlbnQgYSwgLnBhZ2UtdW5hdmFpbGFibGUgLnNlY3Rpb24tY29udGVudCAucGFnZS1yZXNlcnZhdGlvbiBidXR0b24ubW9yZSwgLnBhZ2UtcmVzZXJ2YXRpb24gLnBhZ2UtdW5hdmFpbGFibGUgLnNlY3Rpb24tY29udGVudCBidXR0b24ubW9yZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucGFnZS11bmF2YWlsYWJsZSAuc2VjdGlvbi1jb250ZW50IC5lcnJvci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4ucGFnZS11bmF2YWlsYWJsZSBoMjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuLnBhZ2UtdW5hdmFpbGFibGUgLndpdGgtaW1hZ2UgLmdlbmVyaWMtZXJyb3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnBhZ2UtdW5hdmFpbGFibGUgLndpdGgtaW1hZ2UgLmdlbmVyaWMtZXJyb3IgYSwgLnBhZ2UtdW5hdmFpbGFibGUgLndpdGgtaW1hZ2UgLmdlbmVyaWMtZXJyb3IgLnBhZ2UtcmVzZXJ2YXRpb24gYnV0dG9uLm1vcmUsIC5wYWdlLXJlc2VydmF0aW9uIC5wYWdlLXVuYXZhaWxhYmxlIC53aXRoLWltYWdlIC5nZW5lcmljLWVycm9yIGJ1dHRvbi5tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbi5wYWdlLXVuYXZhaWxhYmxlIC53aXRoLWltYWdlIC5lcnJvci1jb3B5IHtcbiAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAucGFnZS11bmF2YWlsYWJsZSAud2l0aC1pbWFnZSAuZXJyb3ItY29weSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjJweDsgfSB9XG4ucGFnZS11bmF2YWlsYWJsZSAucHJvZHVjdC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDUzOXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnBhZ2UtdW5hdmFpbGFibGUgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMzk4cHg7IH0gfVxuLnBhZ2UtdW5hdmFpbGFibGUgLmltYWdlLWVycm9yLXByb2R1Y3QtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogNDM0cHggNTM5cHg7XG4gIHdpZHRoOiA0MzRweDtcbiAgaGVpZ2h0OiA1MzlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA2OHB4KSB7XG4gICAgLnBhZ2UtdW5hdmFpbGFibGUgLmltYWdlLWVycm9yLXByb2R1Y3QtaGVybyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMyM3B4IDM5OHB4O1xuICAgICAgd2lkdGg6IDMyM3B4O1xuICAgICAgaGVpZ2h0OiAzOThweDsgfSB9XG4ucGFnZS11bmF2YWlsYWJsZSAjYWMtZ2xvYmFsZm9vdGVyIC5hYy1nZi1zb3N1bWkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cblxuIiwiXG4kd2FybjogZmFsc2U7XG4kaGVhZGxpbmUtcHJldmlvdXNzaWJsaW5nLW1hcmdpbjogZmFsc2U7XG5cbiRwYWdlLXBhZGRpbmc6IChcblx0bGFyZ2U6IDEwNHB4LFxuXHRtZWRpdW06IDkwcHgsXG5cdHNtYWxsOiA1MHB4XG4pO1xuXG4kc2VjdGlvbi1oZXJvLXBhZGRpbmc6IChcblx0bGFyZ2U6IDU4cHggMCAzN3B4LFxuXHRzbWFsbDogNDVweCAwIDIzcHhcbik7XG5cbiRzZWN0aW9uLWhlcm8tbWFyZ2luOiAoXG5cdGxhcmdlOiAwIGF1dG8gNjdweCxcblx0c21hbGw6IDAgYXV0byAzNnB4XG4pO1xuXG4kc2VjdGlvbi1wYWRkaW5nOiAoXG5cdGxhcmdlOiA2MHB4LFxuXHRtZWRpdW06IDUwcHgsXG5cdHNtYWxsOiA0MHB4XG4pO1xuXG4kdmVydGljYWwtc3BhY2luZzogMWVtO1xuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBvZ3JhcGh5IFNldHRpbmdzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChwcm9kdWN0LXRpdGxlLCAoXG5cdGxhcmdlOiAoNTYsIDY0LCAyMDApLFxuXHRtZWRpdW06ICg0OCwgNTYsIDIwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChzbXMtaGVhZGxpbmUsIChcblx0bGFyZ2U6ICg1NiwgNjQsIDIwMCksXG5cdHNtYWxsOiAoNjQsIDcyLCAyMDApXG4pKTtcblxuLy8gQ29sb3JzXG4kY29uZmlybS1ncmVlbjogIzAwYTY1MTtcbiRlcnJvci1yZWQtc29mdDogI2Y0NDtcbiRlcnJvci1waW5rLXNvZnQ6ICNlM2QzZDM7XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEBnbG9iYWwgJGZlYXR1cmUtZGV0ZWN0aW9uIDogdHJ1ZSB8IEJvb2xlYW4gOiB3aGV0aGVyIG9yIG5vdCB0aGUgcHJvamVjdCBoYXMgSlMtYmFzZWQgZmVhdHVyZSBkZXRlY3Rpb25cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kZmVhdHVyZS1kZXRlY3Rpb246IHRydWU7XG5cbi8vL1xuJGhlYWRsaW5lLTEtc3R5bGU6IHNlY3Rpb24taGVhZGxpbmU7XG4vLy9cbiRoZWFkbGluZS0yLXN0eWxlOiBzdWJzZWN0aW9uLWhlYWRsaW5lO1xuLy8vXG4kaGVhZGxpbmUtMy1zdHlsZTogc3Vic2VjdGlvbi1zdWJoZWFkbGluZTtcbi8vL1xuJGhlYWRsaW5lLTQtc3R5bGU6IHNtYWxsYmxvY2staGVhZGxpbmU7XG4vLy9cbiRoZWFkbGluZS01LXN0eWxlOiBjYXB0aW9uLWhlYWRsaW5lO1xuLy8vXG4kaGVhZGxpbmUtNi1zdHlsZTogaGVyby1oZWFkbGluZTtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByb2R1Y3QgZ3JpZFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRvcGFjaXR5LXVuYXZhaWxhYmxlOiAuMztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGZhcSB0cmFuc2l0aW9uIHRpbWVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kdHJhbnNpdGlvbi1mYXE6IC4zcztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmcgc3Bpbm5lciBzdHlsZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sb2FkaW5nLXNwaW5uZXIge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAyOHB4O1xuXHRtYXJnaW46IDhlbSBhdXRvO1xufVxuXG4ubG9hZGluZyA+IC5sb2FkaW5nLXNwaW5uZXIsXG4ubG9hZGluZyArIC5sb2FkaW5nLXNwaW5uZXIge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmxvYWRpbmcgPiAqIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmxvYWRpbmcgfiAjYWMtZ2xvYmFsZm9vdGVyIC5hYy1nZi1zb3N1bWkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jYWMtZ2xvYmFsZm9vdGVyIC5hYy1nZi1mb290ZXIge1xuXHRib3JkZXItdG9wOiAwO1xufVxuXG4uZHJvcGRvd24ubG9hZGluZzo6YmVmb3JlLFxuLmRyb3Bkb3duLmxvYWRpbmc6OmFmdGVyLFxuLmRyb3Bkb3duLmxvYWRpbmcgLnNlbGVjdGVkOjpiZWZvcmUsXG4uZHJvcGRvd24ubG9hZGluZyAuc2VsZWN0ZWQ6OmFmdGVyLFxuLmRyb3Bkb3duLmxvYWRpbmcgLmRlZmF1bHQ6OmJlZm9yZSxcbi5kcm9wZG93bi5sb2FkaW5nIC5kZWZhdWx0OjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xufVxuXG4uZHJvcGRvd24tbG9hZGluZy1zcGlubmVyIHtcblx0YmFja2dyb3VuZDogdXJsKCcvY3MvaXJlc2VydmUvaW1hZ2VzL3NwaW5uZXJfMnguZ2lmJykgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcblx0dG9wOiA5cHg7XG5cdHJpZ2h0OiA3MnB4O1xufVxuXG5zZWxlY3QubG9hZGluZy1zZWxlY3Qge1xuXG5cdCsgLmljb24tY2hldnJvbmRvd24ge1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCcvY3MvaXJlc2VydmUvaW1hZ2VzL3NwaW5uZXJfMnguZ2lmJykgbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdHRvcDogNHB4O1xuXHRcdFx0cmlnaHQ6IC00cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5cdFx0Ji5mYWRlLWluIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmZhZGUtb3V0IHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQuZHJvcGRvd24tbG9hZGluZy1zcGlubmVyIHtcblx0XHRyaWdodDogN3B4O1xuXHR9XG59XG5cbi53aXRoLWZhZGUge1xuXHRvcGFjaXR5OiAwO1xuXG5cdCYuZmFkZS1pbiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcblx0fVxuXG5cdCYuZmFkZS1vdXQge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG5cdH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmxvdy1zcGVjaWZpYyBzdHlsZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaXBwIHtcblx0LmlzLW5vdC1pcHAge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuaXMtaXBwIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdHNwYW4uaXMtaXBwIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cblxuXHRsaS5pcy1pcHAge1xuXHRcdGRpc3BsYXk6IGxpc3QtaXRlbTtcblx0fVxufVxuXG4uaXMtaXBwLFxuLnRvZGF5IC5pcy1wcmVvcmRlcixcbi5wcmVvcmRlciAuaXMtdG9kYXkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4kYm9yZGVyOiAxcHggc29saWQgc3dhdGNoKGtleWxpbmUpO1xuXG5AbWl4aW4ga2V5bGluZSB7XG5cdGJvcmRlcjogc29saWQgc3dhdGNoKGtleWxpbmUpO1xuXHRib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4iLCIvLy8vXG4vLy8gQmFzZSAvIFJlc2V0XG4vLy8vXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmcgYGVtYCB1bml0cy5cbi8vIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbCB7XG5cdGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuXHQtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBib2R5XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuYm9keSB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBiYXNlIGVsZW1lbnRzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxudWwsXG5vbCxcbmxpLFxuZGwsXG5kdCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaGdyb3VwLFxucCxcbmJsb2NrcXVvdGUsXG5maWd1cmUsXG5mb3JtLFxuZmllbGRzZXQsXG5pbnB1dCxcbmxlZ2VuZCxcbnByZSxcbmFiYnIsXG5idXR0b24ge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXNldCBmb250IHNpemUsIHdlaWdodCwgYW5kIHN0eWxlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxucHJlLFxuY29kZSxcbmFkZHJlc3MsXG5jYXB0aW9uLFxudGgsXG5maWdjYXB0aW9uIHtcblx0Zm9udC1zaXplOiAxZW07XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEuIFJlbW92ZSBib3JkZXJzIGZyb20gZmllbGRzZXRzL2lmcmFtZXNcbi8vIDIuIFJlbW92ZSBib3JkZXIgZnJvbSBhbiBpbWcgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmZpZWxkc2V0LFxuaWZyYW1lLCAvLyAxXG5pbWcgeyAvLyAyXG5cdGJvcmRlcjogMDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbW92ZSBkZWZhdWx0ICdjZW50ZXInIGFsaWdubWVudCBvbiB0aGVzZSBlbGVtZW50cy5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jYXB0aW9uLFxudGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbm1haW4sXG5zZWN0aW9uLFxuc3VtbWFyeSxcbmRldGFpbHMsXG5oZ3JvdXAsXG5maWd1cmUsXG5maWdjYXB0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSBhbmQgRmlyZWZveC5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvLFxucHJvZ3Jlc3Mge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxLiBSZW1vdmUgZm9ybS1saWtlIHN0eWxlcyBmcm9tIGJ1dHRvblxuLy8gMi4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuYnV0dG9uIHsgLy8gMVxuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IDA7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0b3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcblx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXNldCBmb3IgZm9jdXNcbi8vXG4vLyBFeHBsaWNpdGx5IHRhcmdldGluZyB0YWcgbmFtZXMgcmF0aGVyIHRoYW4gYDpmb2N1c2AgYXMgSUU4XG4vLyBtYWtlcyBldmVyeSBlbGVtZW50IGZvY3VzYWJsZSB3aXRoIHRoZSBsYXR0ZXIuXG4vL1xuLy8gMS4gUmVtb3ZlIGZvcm0tc3BlY2lmaWMgRmlyZWZveCBmb2N1cyBzdHlsZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5hLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCxcbmJ1dHRvbixcblt0YWJpbmRleF0ge1xuXHQmOmZvY3VzIHtcblx0XHRAaW5jbHVkZSBmb2N1cy1vdXRsaW5lKCk7XG5cdH1cblxuXHQmOjotbW96LWZvY3VzLWlubmVyIHsgLy8gMVxuXHRcdGJvcmRlcjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXNldCBmb3IgcHJpbnRcbi8vIFNob3VsZCBiZSByZXdyaXR0ZW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWVkaWEgcHJpbnQge1xuXG5cdGJvZHksXG5cdCNtYWluLFxuXHQjY29udGVudCB7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdH1cblxuXHRhLFxuXHRhOmxpbmssXG5cdGE6dmlzaXRlZCB7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0I2dsb2JhbGhlYWRlcixcblx0I2dsb2JhbGZvb3Rlcixcblx0I2RpcmVjdG9yeW5hdixcblx0I3RhYnMsXG5cdC5ub3ByaW50LFxuXHQuaGlkZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBDb3JlIC8gSGVscGVyc1xuLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgcmFkaXVzIGZvciBlbGVtZW50cyB3aXRoIHJvdW5kZWQgY29ybmVyc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRnbG9iYWwtYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBBIG1hcCBjb250YWluaW5nIHRoZSBuYW1lcyBhbmQgcGF0aHMgdG8gcGxhY2VzIGFzc2V0cyBjb3VsZCBsaXZlLlxuLy8vXG4vLy8gQHR5cGUge01hcH1cbi8vL1xuJHBhdGhzOiAoKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gR2V0IHRoZSBmdWxsIHBhdGggb2YgYW4gYXNzZXQgZnJvbSBgJHBhdGhzYCBtYW5pZmVzdFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhc3NldFxuLy8vICAgVGhlIHBhdGggdG8gdGhlIGFzc2V0cyByZWxhdGl2ZSB0byB0aGUgYCRwYXRoc1ska2V5XWBcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IFtkZWZhdWx0XVxuLy8vICAgVGhlIGtleSBmb3IgdGhlIGxvb2t1cCB3aXRoaW4gYCRwYXRoc2Bcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBBIGZ1bGwgYXNzZXQgcGF0aFxuLy8vXG5AZnVuY3Rpb24gcGF0aCgkYXNzZXQsICRrZXk6IGRlZmF1bHQpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRwYXRocywgJGtleSkge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkcGF0aHMsICRrZXkpICsgJy8nICsgJGFzc2V0O1xuXHR9XG5cblx0QHJldHVybiB3YXJuLXVuZGVmaW5lZChwYXRoLCAka2V5KTtcbn1cblxuLy8vXG4vLy8gUmVtb3ZlcyB1bml0cyBmcm9tIGEgdmFsdWVcbi8vL1xuLy8vIEBkZXByZWNhdGVkIFVzZSBgdW5pdC1yZW1vdmVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vICBBIHVuaXRsZXNzIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcblx0JHdhcm46IHdhcm4tZGVwcmVjYXRlZChmdW5jdGlvbiwgc3RyaXAtdW5pdHMsIHVuaXQtcmVtb3ZlKTtcblx0QHJldHVybiB1bml0LXJlbW92ZSgkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGNvbXBsZW1lbnQgb2YgYSBkaXJlY3Rpb25hbCBrZXl3b3JkLlxuLy8vIFN1cHBvcnRzIGBsZWZ0YCwgYHJpZ2h0YCwgYHRvcGAsIGBib3R0b21gLCBgbHRyYCwgYW5kIGBydGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXl3b3JkXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuLy8vICAgVGhlIGNvbXBsZW1lbnQgb2YgYCRrZXl3b3JkYCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBgJGtleXdvcmRgIHVuY2hhbmdlZFxuLy8vXG5AZnVuY3Rpb24ga2V5d29yZC1yZXZlcnNlZCgka2V5d29yZCkge1xuXHQka2V5d29yZHM6IChcblx0XHRsZWZ0OiByaWdodCxcblx0XHRyaWdodDogbGVmdCxcblx0XHR0b3A6IGJvdHRvbSxcblx0XHRib3R0b206IHRvcCxcblx0XHRsdHI6IHJ0bCxcblx0XHRydGw6IGx0clxuXHQpO1xuXG5cdEBpZiBtYXAtaGFzLWtleSgka2V5d29yZHMsICRrZXl3b3JkKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRrZXl3b3JkcywgJGtleXdvcmQpO1xuXHR9XG5cblx0QHJldHVybiAka2V5d29yZDtcbn1cblxuLy8vXG4vLy8gQ2VudGVyIGFuIGVsZW1lbnQsIHdpdGggc3VwcG9ydCBmb3IgYmxlZWRpbmcgYmV5b25kIHRoZSBwYXJlbnQgY29udGFpbmVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVtYmVyfSAkd2lkdGggW2ZhbHNlXVxuLy8vICAgV2lkdGggb2YgZWxlbWVudCB0byBiZSBjZW50ZXJlZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYXJlbnQtd2lkdGggW2ZhbHNlXVxuLy8vICAgV2lkdGggb2YgcGFyZW50IGVsZW1lbnRcbi8vL1xuQG1peGluIGNlbnRlcigkd2lkdGg6IGZhbHNlLCAkcGFyZW50LXdpZHRoOiBmYWxzZSkge1xuXG5cdC8vIFdoZW4gdGhlIHBhcmVudC13aWR0aCBpcyBsZXNzIHRoYW4gdGhlIGZsZXhpYmxlLWZyb20gd2lkdGggdGhlbiB0aGUgd2lkdGhcblx0Ly8gb2YgdGhlIGVsZW1lbnQgdG8gYmUgY2VudGVyZWQgc2hvdWxkIGJlIGEgJS5cblx0Ly8gVGhpcyBvbmx5IGFwcGxpZXMgd2hlbiBib3RoIHdpZHRoIGFuZCBwYXJlbnQgd2lkdGggYXJlIGluIHB4LCBiZWNhdXNlIFBTRHNcblx0Ly8gYXJlIGhhbmRlZCBvZmYgdG8gdXMgaW4gcGl4ZWxzLiBXaGVuIGRldmVsb3BlcnMgcGFzcyBlbSdzIG9yICUncyB3ZSB3aWxsXG5cdC8vIGFzc3VtZSB0aGV5IGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZywgYW5kIG5vdCB0cnkgdG8gZG8gbWFnaWMuXG5cblx0QGlmICR3aWR0aFxuXHRcdFx0YW5kICRwYXJlbnQtd2lkdGhcblx0XHRcdGFuZCB1bml0KCR3aWR0aCkgPT0gJ3B4J1xuXHRcdFx0YW5kIHVuaXQoJHBhcmVudC13aWR0aCkgPT0gJ3B4J1xuXHRcdFx0YW5kICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSAhPSBmYWxzZSB7XG5cdFx0QGlmIHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoJHZpZXdwb3J0cy1mbGV4aWJsZS1mcm9tLCBjb250ZW50KSA+ICRwYXJlbnQtd2lkdGgge1xuXHRcdFx0JHdpZHRoOiAoJHdpZHRoLyRwYXJlbnQtd2lkdGgpICogMTAwJTtcblx0XHRcdCRwYXJlbnQtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0QGlmICR3aWR0aCAhPSBmYWxzZSB7XG5cdFx0d2lkdGg6ICR3aWR0aDtcblx0fVxuXG5cdEBpZiAkd2lkdGggYW5kICRwYXJlbnQtd2lkdGggYW5kICR3aWR0aCA+ICRwYXJlbnQtd2lkdGgge1xuXHRcdG1hcmdpbi1sZWZ0OiAtKCgkd2lkdGggLSAkcGFyZW50LXdpZHRoKSAvIDIpO1xuXHR9IEBlbHNlIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxufVxuXG4vLy9cbi8vLyBDZW50ZXIgYW4gZWxlbWVudCBhbmQgdGhlIHRleHQgd2l0aGluIGl0XG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gY2VudGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVtYmVyfSAkd2lkdGggW2ZhbHNlXVxuLy8vICAgV2lkdGggb2YgZWxlbWVudCB0byBiZSBjZW50ZXJlZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYXJlbnQtd2lkdGggWzk4MHB4XVxuLy8vICAgV2lkdGggb2YgcGFyZW50IGVsZW1lbnRcbi8vL1xuQG1peGluIGNlbnRlci1wYXJhZ3JhcGgoJHdpZHRoOiBmYWxzZSwgJHBhcmVudC13aWR0aDogOTgwcHgpIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGNlbnRlcigkd2lkdGgsICRwYXJlbnQtd2lkdGgpO1xufVxuXG4vLy9cbi8vLyBDb250YWluIG5lc3RlZCBmbG9hdGluZyBlbGVtZW50cyAoYWthOiBcIm1pY3JvIGNsZWFyZml4XCIpXG4vLy9cbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbi8vL1xuQG1peGluIHNlbGZjbGVhcigpIHtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcgJztcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG5cbi8vL1xuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IG1haW50YWluIHNjcmVlbi1yZWFkZXIgZnVuY3Rpb25hbGl0eVxuLy8vXG5AbWl4aW4gdmlzdWFsbHloaWRkZW4oKSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoMHB4IDBweCA5OS45JSA5OS45JSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG59XG5cbi8vL1xuLy8vIEhpZGUgdGV4dCBmb3IgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vL1xuQG1peGluIGltYWdlcmVwbGFjZSgpIHtcblx0JHdhcm46IHdhcm4tZGVwcmVjYXRlZChtaXhpbiwgaW1hZ2VyZXBsYWNlLCB2aXN1YWxseWhpZGRlbik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtaW5kZW50OiAxMDAlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLy9cbi8vLyBDU1MzIGN1cnNvciBmYWxsYmFja3Ncbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEN1cnNvciBwcm9wZXJ0eSB2YWx1ZSAoZS5nLiwgYGdyYWJgKVxuLy8vXG5AbWl4aW4gY3Vyc29yKCR2YWx1ZSkge1xuXHRAaWYgKCR2YWx1ZSA9PSBncmFiIG9yICR2YWx1ZSA9PSBncmFiYmluZykge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0fVxuXHRjdXJzb3I6ICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gRm9jdXMgb3V0bGluZSBzaXplXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJC1mb2N1cy1zaXplOiAzcHg7XG5cbi8vL1xuLy8vIEZvY3VzIGNvbG9yXG4vLy9cbi8vLyBNYXRjaGVzIHRoZSBkZWZhdWx0IFNhZmFyaSBmb2N1cyBvdXRsaW5lXG4vLy9cbi8vLyBAdHlwZSBDb2xvclxuLy8vXG4kLWZvY3VzLWNvbG9yOiByZ2JhKDEzMSwgMTkyLCAyNTMsIDAuNSk7XG5cbi8vL1xuLy8vIEFwcGx5IGRlZmF1bHQgZm9jdXMgc3R5bGVzXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbMXB4XVxuLy8vICAgRm9jdXMgb3V0bGluZSBvZmZzZXRcbi8vL1xuQG1peGluIGZvY3VzLW91dGxpbmUoJG9mZnNldDogMXB4KSB7XG5cdG91dGxpbmU6ICQtZm9jdXMtc2l6ZSBzb2xpZCBjb2xvci1vcGFxdWUoJC1mb2N1cy1jb2xvciwgc3dhdGNoKHBhZ2UpKTtcblx0b3V0bGluZTogJC1mb2N1cy1zaXplIHNvbGlkICQtZm9jdXMtY29sb3I7XG5cdG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuXG5cdEBpbmNsdWRlIGZvY3VzLW1vdXNlLXNlbGVjdG9yKCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuLy8vXG4vLy8gQXBwbHkgYSBib3gtc2hhZG93IGJhc2VkIG91dGxpbmUgb24gZm9jdXMuXG4vLy8gRm9yIHVzZSB3aXRoIHJvdW5kZWQgZWxlbWVudHMgKGUuZy4sIENvbG9yIE5hdiwgRG90IE5hdiwgZXRjLilcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlLi4uIFtudWxsXVxuLy8vICAgQWRkaXRpb25hbCBib3gtc2hhZG93KHMpIHRvIGFwcGx5IHRvIHRoZSBlbGVtZW50XG4vLy9cbkBtaXhpbiBmb2N1cy1zaGFkb3coJHZhbHVlLi4uKSB7XG5cdCRmb2N1cy1zaGFkb3c6IDAgMCAwICQtZm9jdXMtc2l6ZSAkLWZvY3VzLWNvbG9yO1xuXHQkaGFzLXZhbHVlOiBub3QgaXMtZW1wdHkoJHZhbHVlKTtcblxuXHRAaWYgJGhhcy12YWx1ZSB7XG5cdFx0JGZvY3VzLXNoYWRvdzogYXBwZW5kKCR2YWx1ZSwgJGZvY3VzLXNoYWRvdywgY29tbWEpO1xuXHR9XG5cblx0Ym94LXNoYWRvdzogI3skZm9jdXMtc2hhZG93fTtcblx0b3V0bGluZTogbm9uZTtcblxuXHRAaW5jbHVkZSBmb2N1cy1tb3VzZS1zZWxlY3RvcigpIHtcblx0XHRAaWYgJGhhcy12YWx1ZSB7XG5cdFx0XHRib3gtc2hhZG93OiAjeyR2YWx1ZX07XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGllOCgpIHtcblx0XHRvdXRsaW5lOiAkLWZvY3VzLXNpemUgc29saWQgY29sb3Itb3BhcXVlKCQtZm9jdXMtY29sb3IsIHN3YXRjaChwYWdlKSk7XG5cdH1cbn1cblxuLy8vXG4vLy8gU2VsZWN0b3IgZm9yIGZvY3VzIHRyaWdnZXJlZCBieSBtb3VzZSBvciB0b3VjaC5cbi8vLyBEb2VzIG5vdCBpbmNsdWRlIGlucHV0LCB0ZXh0YXJlYSwgb3Igc2VsZWN0LlxuLy8vXG5AbWl4aW4gZm9jdXMtbW91c2Utc2VsZWN0b3IoKSB7XG5cdCZbZGF0YS1mb2N1cy1tZXRob2Q9XCJtb3VzZVwiXSxcblx0JltkYXRhLWZvY3VzLW1ldGhvZD1cInRvdWNoXCJdIHtcblx0XHQmOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTpub3Qoc2VsZWN0KSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gQXBwbHkgYSBiYWNrZHJvcC1maWx0ZXIgdGhhdCBtYXRjaGVzIHRoZSBpT1MgYW5kIE9TIFggYmx1clxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJjZW50YWdlIFsxMDAlXVxuLy8vICAgQW1vdW50IG9mIFVJIGJsdXIgdG8gYXBwbHlcbi8vL1xuQG1peGluIGJhY2tkcm9wLWZpbHRlci11aWJsdXIoJHBlcmNlbnRhZ2U6IDEwMCUpIHtcblx0JHBlcmNlbnRhZ2U6ICRwZXJjZW50YWdlIC8gMTAwJTtcblxuXHQkc2F0dXJhdGU6IDE4MCUgKiAkcGVyY2VudGFnZTtcblx0JGJsdXI6IDIwcHggKiAkcGVyY2VudGFnZTtcblxuXHRiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKCRzYXR1cmF0ZSkgYmx1cigkYmx1cik7XG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBCYXNlIC8gVHlwb2dyYXBoeVxuLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8vXG4vLy8gQm9keSBjb3B5IGNvbG9yXG4vLy9cbi8vLyBAdHlwZSBTd2F0Y2ggfCBDb2xvclxuLy8vXG4kYm9keS10ZXh0LWNvbG9yOiBjb3B5ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBMaW5rIGNvbG9yXG4vLy9cbi8vLyBAdHlwZSBTd2F0Y2ggfCBDb2xvclxuLy8vXG4kYm9keS1saW5rLWNvbG9yOiBibHVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yXG4vLy9cbi8vLyBAdHlwZSBTd2F0Y2ggfCBDb2xvclxuLy8vXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiBwYWdlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZhdWx0IGZvbnQgc3RhY2tcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kYm9keS1mb250LXN0YWNrOiBkZWZhdWx0ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0XG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGBwYFxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4kcGFyYWdyYXBoLW1hcmdpbjogMCAwIDFlbSAwICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYHVsYCBhbmQgYG9sYFxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4kbGlzdC1tYXJnaW46IDFlbSAwIDFlbSBlbSgyMHB4KSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGBoTmBcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuJGhlYWRsaW5lLW1hcmdpbjogMCAwIC40NWVtIDAgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmF1bHQgbWFyZ2luLXRvcCBmb3IgYGhOYCB3aXRoIGEgcHJldmlvdXMgc2libGluZy5cbi8vL1xuLy8vIGBmYWxzZWAgdG8gZGlzYWJsZS5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbi8vL1xuJGhlYWRsaW5lLXByZXZpb3Vzc2libGluZy1tYXJnaW46IDFlbSAhZGVmYXVsdDtcblxuaHRtbCB7XG5cdGZvbnQtZmFtaWx5OiBmb250LXN0YWNrLWZvci1sb2NhbGUoZW4tV1csICRib2R5LWZvbnQtc3RhY2spO1xuXHRmb250LXNpemU6IHBlcmNlbnRhZ2UoJC1iYXNlLWZvbnQtc2l6ZSAvIDE2cHgpO1xuXHRxdW90ZXM6IG1hcC1nZXQoJC1xdW90ZXMsIGRlZmF1bHQpO1xufVxuXG5AZWFjaCAkbGFuZywgJGZvbnQgaW4gZm9udC1zdGFjaygkYm9keS1mb250LXN0YWNrKSB7XG5cdEBpZiAkbGFuZyAhPSBlbi1XVyB7XG5cdFx0OmxhbmcoI3skbGFuZ30pIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udDtcblx0XHR9XG5cdH1cbn1cblxuQGVhY2ggJGxhbmcsICRxdW90ZXMgaW4gJC1xdW90ZXMge1xuXHRAaWYgJGxhbmcgIT0gZGVmYXVsdCB7XG5cdFx0OmxhbmcoI3skbGFuZ30pIHtcblx0XHRcdHF1b3RlczogJHF1b3Rlcztcblx0XHR9XG5cdH1cbn1cblxuYm9keSB7XG5cdEBpbmNsdWRlIHR5cG9ncmFwaHkoYm9keS1jb3B5KTtcblx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGJvZHktYmFja2dyb3VuZC1jb2xvcik7XG5cdGNvbG9yOiBjb2xvcigkYm9keS10ZXh0LWNvbG9yKTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5ib2R5LFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCxcbmJ1dHRvbiB7XG5cdEBpbmNsdWRlIGZvbnQtcmVuZGVyaW5nKCk7XG5cdGRpcmVjdGlvbjogZGlyZWN0aW9uKCk7XG5cdHRleHQtYWxpZ246IGlubGluZS1zdGFydCgpO1xufVxuXG5hIHtcblx0Y29sb3I6IGNvbG9yKCRib2R5LWxpbmstY29sb3IpO1xuXG5cdCY6bGluayxcblx0Jjp2aXNpdGVkIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuXG5cdCY6YWN0aXZlIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgkaGVhZGxpbmUtbWFyZ2luKTtcblxuXHRAaWYgJGhlYWRsaW5lLXByZXZpb3Vzc2libGluZy1tYXJnaW4ge1xuXHRcdCogKyAmIHtcblx0XHRcdG1hcmdpbi10b3A6ICRoZWFkbGluZS1wcmV2aW91c3NpYmxpbmctbWFyZ2luO1xuXHRcdH1cblx0fVxuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbmIsXG5zdHJvbmcge1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChib2xkLCAkYm9keS1mb250LXN0YWNrKTtcbn1cblxuZW0sXG5pLFxuY2l0ZSxcbmRmbiB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblxuXHQ6bGFuZyhqYSksXG5cdDpsYW5nKGtvKSxcblx0OmxhbmcodGgpLFxuXHQ6bGFuZyh6aCkge1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0fVxufVxuXG5wIHtcblx0bWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgkcGFyYWdyYXBoLW1hcmdpbik7XG59XG5cbmxpIHtcblx0bGkge1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHR9XG59XG5cbnVsLFxub2wge1xuXHRtYXJnaW46IGxvZ2ljYWwtc2hvcnRoYW5kKCRsaXN0LW1hcmdpbik7XG5cblx0dWwsXG5cdG9sIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRuYXYgJiB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuc3VwIHtcblx0Zm9udC1zaXplOiAuNmVtO1xuXHRvcGFjaXR5OiAuODtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3R0b206IC0uMmVtO1xuXG5cdGgxICYsXG5cdGgyICYsXG5cdGgzICYge1xuXHRcdGZvbnQtc2l6ZTogLjRlbTtcblx0fVxuXG5cdGg0ICYsXG5cdGg1ICYsXG5cdGg2ICYge1xuXHRcdEBpbmNsdWRlIGllOCB7XG5cdFx0XHRmb250LXNpemU6IC44ZW07XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRib3R0b206IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGNvbG9yKCRib2R5LXRleHQtY29sb3IpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogY29sb3IoJGJvZHktbGluay1jb2xvcik7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbnN1YiB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5hYmJyIHtcblx0Ym9yZGVyOiAwO1xufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQ29yZSAvIEZvbnRzXG4vLy9cbi8vLyBAZ3JvdXAgZm9udHNcbi8vLy9cblxuLy8gQHRvZG8gRG8gd2UgbmVlZCB0aGlzP1xuQGNoYXJzZXQgJ1VURi04JztcblxuLy8vXG4vLy8gTGlzdCBvZiBBcHBsZSB3ZWIgZm9udHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuJC13ZWJmb250czogKFxuXHQnTXlyaWFkIFNldCBQcm8nLFxuXHQnQXBwbGUgVFAnLFxuXHQnR3VsZicsXG5cdCdIYW5IZWkgU0MnLFxuXHQnSGFuSGVpIFRDJyxcblx0J01IZWknLFxuXHQnUGluZ0hlaScsXG5cdCdTdWtodW12aXQgU2V0Jyxcblx0J1lvb24gR290aGljJyxcbik7XG5cbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGZvbnQgc3RhY2tzIGZvciBlYWNoIGxvY2FsZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gZW4tV1dcbi8vLyAgIFRoZSBkZWZhdWx0IExpc3Qgb2YgZm9udHNcbi8vL1xuLy8vIEBwcm9wIHtMaXN0fSAkbG9jYWxlXG4vLy8gICBBIGNvbW1hLXNlcGFyYXRlZCBMaXN0IG9mIGZvbnRzLCBsaWtlIHRoZSBgZm9udC1mYW1pbHlgIHByb3BlcnR5XG4vLy9cbiQtZm9udHMtZGVmYXVsdDogKFxuXHRlbi1XVzogKCdNeXJpYWQgU2V0IFBybycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKSxcblx0YXI6ICgnR3VsZicsICdNeXJpYWQgU2V0IFBybycsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKSxcblx0amEtSlA6ICgnQXBwbGUgVFAnLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvJywgJ+ODkuODqeOCruODjuinkuOCtCBQcm8gVzMnLCAn44Oh44Kk44Oq44KqJywgJ01laXJ5bycsICfvvK3vvLMg77yw44K044K344OD44KvJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpLFxuXHRrby1LUjogKCdZb29uIEdvdGhpYycsICdBcHBsZSBHb3RoaWMnLCAnSFkgR3VsaW0nLCAnTWFsZ3VtR290aGljJywgJ0hZIERvdHVtJywgJ0xleGkgR3VsaW0nLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG5cdHRoLVRIOiAoJ1N1a2h1bXZpdCBTZXQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG5cdHpoLUNOOiAoJ0hhbkhlaSBTQycsICdQaW5nSGVpJywgJ1BpbmdGYW5nIFNDJywgJ1NUSGVpdGlTQy1MaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKSxcblx0emgtSEs6ICgnSGFuSGVpIFRDJywgJ01IZWknLCAnUGluZ0ZhbmcgSEsnLCAnU1RIZWl0aVRDLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpLFxuXHR6aC1NTzogKCdIYW5IZWkgVEMnLCAnTUhlaScsICdQaW5nRmFuZyBISycsICdTVEhlaXRpVEMtTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG5cdHpoLVRXOiAoJ0hhbkhlaSBUQycsICdNSGVpJywgJ1BpbmdGYW5nIFRDJywgJ1NUSGVpdGlUQy1MaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKVxuKTtcblxuLy8vXG4vLy8gVGhlIHJlZHVjZWQgZm9udCBzdGFja3MgdG8gdXNlIGZvciBlYWNoIGxvY2FsZVxuLy8vIFJlbW92ZXMgd2ViIGZvbnRzIGZvciB6aFxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gZW4tV1dcbi8vLyAgIFRoZSBkZWZhdWx0IExpc3Qgb2YgZm9udHNcbi8vL1xuLy8vIEBwcm9wIHtMaXN0fSAkbG9jYWxlXG4vLy8gICBBIGNvbW1hLXNlcGFyYXRlZCBMaXN0IG9mIGZvbnRzLCBsaWtlIHRoZSBgZm9udC1mYW1pbHlgIHByb3BlcnR5XG4vLy9cbiQtZm9udHMtcmVkdWNlZDogKFxuXHRlbi1XVzogbWFwLWdldCgkLWZvbnRzLWRlZmF1bHQsIGVuLVdXKSxcblx0YXI6IG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCBhciksXG5cdGphLUpQOiBtYXAtZ2V0KCQtZm9udHMtZGVmYXVsdCwgamEtSlApLFxuXHRrby1LUjogbWFwLWdldCgkLWZvbnRzLWRlZmF1bHQsIGtvLUtSKSxcblx0dGgtVEg6IG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCB0aC1USCksXG5cdHpoLUNOOiBsaXN0LXNsaWNlKG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCB6aC1DTiksIDMpLFxuXHR6aC1ISzogbGlzdC1zbGljZShtYXAtZ2V0KCQtZm9udHMtZGVmYXVsdCwgemgtSEspLCAzKSxcblx0emgtTU86IGxpc3Qtc2xpY2UobWFwLWdldCgkLWZvbnRzLWRlZmF1bHQsIHpoLU1PKSwgMyksXG5cdHpoLVRXOiBsaXN0LXNsaWNlKG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCB6aC1UVyksIDMpXG4pO1xuXG4vLy9cbi8vLyBUaGUgbGF0aW4gZm9udCBzdGFja3MgdG8gYmUgdXNlZCB3aGVuIHdlaWdodCAxMDAgaXNcbi8vLyByZXF1aXJlZCwgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGxhdGluIGNoYXJhY3RlcnMgdGhhdFxuLy8vIGFyZSBzdXBwb3J0ZWQgYnkgTVNQIDEwMC5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3Age0xpc3R9IGVuLVdXXG4vLy8gICBUaGUgZGVmYXVsdCBMaXN0IG9mIGZvbnRzXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gJGxvY2FsZVxuLy8vICAgQSBjb21tYS1zZXBhcmF0ZWQgTGlzdCBvZiBmb250cywgbGlrZSB0aGUgYGZvbnQtZmFtaWx5YCBwcm9wZXJ0eVxuLy8vXG4kLWZvbnRzLWxhdGluLXVsdHJhbGlnaHQ6IChcblx0ZW4tV1c6IG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCBlbi1XVyksXG5cdGFyOiBtYXAtZ2V0KCQtZm9udHMtZGVmYXVsdCwgYXIpLFxuXHRqYS1KUDogbWFwLWdldCgkLWZvbnRzLWRlZmF1bHQsIGphLUpQKSxcblx0a28tS1I6IG1hcC1nZXQoJC1mb250cy1kZWZhdWx0LCBrby1LUilcbik7XG5cbi8vL1xuLy8vIEljb24gZm9udCBzdGFja1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gZW4tV1dcbi8vLyAgIFRoZSBkZWZhdWx0IExpc3Qgb2YgZm9udHNcbi8vL1xuLy8vIEBwcm9wIHtMaXN0fSAkbG9jYWxlXG4vLy8gICBBIGNvbW1hLXNlcGFyYXRlZCBMaXN0IG9mIGZvbnRzLCBsaWtlIHRoZSBgZm9udC1mYW1pbHlgIHByb3BlcnR5XG4vLy9cbiQtZm9udHMtaWNvbnM6IChcblx0ZW4tV1c6ICgnQXBwbGUgSWNvbnMnKVxuKTtcblxuLy8vXG4vLy8gRGljdGlvbmFyeSBvZiBmb250IHN0YWNrcywgZWFjaCBhIG1hcCBvZiBsb2NhbGVzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wIHtNYXB9ICRzdGFja1xuLy8vICAgQSBNYXAgb2YgZm9udCBzdGFja3MgYnkgbG9jYWxlXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gJHN0YWNrLmVuLVdXXG4vLy8gICBUaGUgZGVmYXVsdCBMaXN0IG9mIGZvbnRzXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gJHN0YWNrLiRsb2NhbGVcbi8vLyAgIEEgY29tbWEtc2VwYXJhdGVkIExpc3Qgb2YgZm9udHMsIGxpa2UgdGhlIGBmb250LWZhbWlseWAgcHJvcGVydHlcbi8vL1xuJC1mb250czogKFxuXHRkZWZhdWx0OiAkLWZvbnRzLWRlZmF1bHQsXG5cdHdlYmZvbnRzOiAkLWZvbnRzLWRlZmF1bHQsXG5cdHJlZHVjZWQ6ICQtZm9udHMtcmVkdWNlZCxcblx0Zm9ybXM6ICQtZm9udHMtcmVkdWNlZCxcblx0aWNvbnM6ICQtZm9udHMtaWNvbnMsXG5cdGxhdGluLXVsdHJhbGlnaHQ6ICQtZm9udHMtbGF0aW4tdWx0cmFsaWdodFxuKTtcblxuLy8vXG4vLy8gTWFwIG9mIGZvbnQgd2VpZ2h0IGtleXdvcmRzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IHVsdHJhbGlnaHQgWzEwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IGV4dHJhdGhpbiBbMjAwXVxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gdGhpbiBbMzAwXVxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gdGV4dCBbNDAwXVxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gbm9ybWFsIFs0MDBdXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSBtZWRpdW0gWzUwMF1cbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9IHNlbWlib2xkIFs2MDBdXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSBib2xkIFs3MDBdXG4vLy9cbiQtZm9udC13ZWlnaHRzOiAoXG5cdHVsdHJhbGlnaHQ6IDEwMCxcblx0ZXh0cmF0aGluOiAyMDAsXG5cdHRoaW46IDMwMCxcblx0dGV4dDogNDAwLFxuXHRub3JtYWw6IDQwMCxcblx0bWVkaXVtOiA1MDAsXG5cdHNlbWlib2xkOiA2MDAsXG5cdGJvbGQ6IDcwMFxuKTtcblxuLy8vXG4vLy8gQ2hlY2sgaWYgYSBmb250IHN0YWNrIGlzIGRlZmluZWRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIG5hbWUgb2YgdGhlIGZvbnQgc3RhY2tcbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufVxuLy8vICAgYHRydWVgIGlmIHRoZSBmb250IHN0YWNrIGlzIGRlZmluZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiAtZm9udC1zdGFjay1leGlzdHMoJG5hbWUpIHtcblx0QHJldHVybiBtYXAtaGFzLWtleSgkLWZvbnRzLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEdldCBhIGZvbnQgc3RhY2sgTWFwXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgW2RlZmF1bHRdXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgZm9udCBzdGFja1xuLy8vXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkbmFtZTogZGVmYXVsdCkge1xuXHRAaWYgLWZvbnQtc3RhY2stZXhpc3RzKCRuYW1lKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCQtZm9udHMsICRuYW1lKTtcblx0fVxuXG5cdEByZXR1cm4gd2Fybi11bmRlZmluZWQoZm9udC1zdGFjaywgJG5hbWUpO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBmb250IHN0YWNrIGZvciBhIHNwZWNpZmljIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIFtkZWZhdWx0XVxuLy8vICAgVGhlIG5hbWUgb2YgdGhlIGZvbnQgc3RhY2tcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluaGVyaXQgW2ZhbHNlXVxuLy8vICAgSW5oZXJpdCBmcm9tIGBlbi1XV2AgaWYgbG9jYWxlLXNwZWNpZmljIHN0YWNrIGRvZXNuJ3QgZXhpc3Rcbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fVxuLy8vICAgQSBsaXN0IG9mIGZvbnQgbmFtZXMsIG9yIGBudWxsYCBpZiBub3QgZGVmaW5lZFxuLy8vXG5AZnVuY3Rpb24gZm9udC1zdGFjay1mb3ItbG9jYWxlKCRpc286IGVuLVdXLCAkc3RhY2s6IGRlZmF1bHQsICRpbmhlcml0OiBmYWxzZSkge1xuXHQkZm9udHM6IGZvbnQtc3RhY2soJHN0YWNrKTtcblx0JGlzbzogbG9jYWxlLW5vcm1hbGl6ZSgkaXNvKTtcblxuXHRAaWYgJGZvbnRzIHtcblx0XHRAaWYgbWFwLWhhcy1rZXkoJGZvbnRzLCAkaXNvKSB7XG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQoJGZvbnRzLCAkaXNvKTtcblx0XHR9IEBlbHNlIGlmICRpbmhlcml0IHtcblx0XHRcdEByZXR1cm4gbWFwLWdldCgkZm9udHMsIGVuLVdXKTtcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuIG51bGw7XG59XG5cbi8vL1xuLy8vIEFkZCBhIHN0YWNrIHRvIHRoZSBGb250IFN0YWNrIERpY3Rpb25hcnkuXG4vLy8gT3ZlcndyaXRlcyBleGlzdGluZyBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgZm9udCBzdGFja1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRzdGFja1xuLy8vICAgQSBNYXAgb2YgZm9udCBmYW1pbGllcyBieSBsb2NhbGVcbi8vL1xuQG1peGluIGZvbnQtc3RhY2stc2V0KCRuYW1lLCAkc3RhY2spIHtcblx0JC1mb250czogbWFwLXNldCgkLWZvbnRzLCAkbmFtZSwgJHN0YWNrKSAhZ2xvYmFsO1xufVxuXG4vLy9cbi8vLyBBZGQgYSBzdGFjayB0byB0aGUgRm9udCBTdGFjayBEaWN0aW9uYXJ5LlxuLy8vIE1lcmdlcyBleGlzdGluZyBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgZm9udCBzdGFja1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRzdGFja1xuLy8vICAgQSBNYXAgb2YgZm9udCBmYW1pbGllcyBieSBsb2NhbGVcbi8vL1xuQG1peGluIGZvbnQtc3RhY2stbWVyZ2UoJG5hbWUsICRzdGFjaykge1xuXHQkLWZvbnRzOiBtYXAtbmVzdGVkLW1lcmdlKCQtZm9udHMsICgkbmFtZTogJHN0YWNrKSkgIWdsb2JhbDtcbn1cblxuLy8vXG4vLy8gRW5hYmxlIHRoZSBHdWxmIGZvbnQgc3RhY2sgZm9yIGBhci0qYCBsb2NhbGVzXG4vLy9cbkBtaXhpbiBmb250LXN0YWNrLWVuYWJsZS1ndWxmKCkge1xuXHRAaW5jbHVkZSB3YXJuLWRlcHJlY2F0ZWQoJG1lc3NhZ2U6ICdUaGUgbWl4aW4gYGZvbnQtc3RhY2stZW5hYmxlLWd1bGZgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBUaGUgR3VsZiBmb250IHN0YWNrIGlzIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQuJyk7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBgZm9udC1mYW1pbHlgIHdpdGggbG9jYWxlLXNwZWNpZmljIGZvbnQgc3RhY2tzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIFtkZWZhdWx0XVxuLy8vICAgVGhlIG5hbWUgb2YgdGhlIGZvbnQgc3RhY2tcbi8vL1xuQG1peGluIGZvbnQtZmFtaWx5KCRzdGFjazogZGVmYXVsdCkge1xuXHQkZm9udHM6IGZvbnQtc3RhY2soJHN0YWNrKTtcblxuXHRAaWYgJGZvbnRzIHtcblx0XHRAZWFjaCAkaXNvLCAkZm9udCBpbiAkZm9udHMge1xuXHRcdFx0QGluY2x1ZGUgbG9jYWxlKCRpc28pIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYGZvbnQtd2VpZ2h0YCB3aXRoIHN1cHBvcnQgZm9yIGtleXdvcmRzIGFuZCBpZThcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gJHdlaWdodFxuLy8vICAgVGhlIGZvbnQgd2VpZ2h0XG4vLy8gICBhcyBhIE51bWJlciAoMTAwLTkwMClcbi8vLyAgIG9yIGEgU3RyaW5nICh1bHRyYWxpZ2h0LCBleHRyYXRoaW4sIHRoaW4sIHRleHQsIG5vcm1hbCwgbWVkaXVtLCBzZW1pYm9sZCwgYm9sZClcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgW2RlZmF1bHRdXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgZm9udCBzdGFja1xuLy8vXG5AbWl4aW4gZm9udC13ZWlnaHQoJHdlaWdodCwgJHN0YWNrOiBkZWZhdWx0KSB7XG5cdGZvbnQtd2VpZ2h0OiBmb250LXdlaWdodCgkd2VpZ2h0KTtcblx0JGZvbnRzOiBmb250LXN0YWNrKCRzdGFjayk7XG5cblx0QGlmICRmb250cyB7XG5cdFx0JGlzb3M6IG1hcC1rZXlzKCRmb250cyk7XG5cdFx0QGVhY2ggJGlzbyBpbiAkaXNvcyB7XG5cdFx0XHRAaW5jbHVkZSBsb2NhbGUoJGlzbykge1xuXHRcdFx0XHQkbm9ybWFsaXplOiAoJGlzbyA9PSBlbi1XVyk7XG5cdFx0XHRcdEBpbmNsdWRlIC1pZTgtZm9udC13ZWlnaHQtZm9yLWxvY2FsZSgkd2VpZ2h0LCAkaXNvLCAkc3RhY2ssICRub3JtYWxpemUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGBmb250LXdlaWdodGAgdmFsdWUgZm9yIGEga2V5d29yZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkd2VpZ2h0XG4vLy8gICBUaGUgZm9udCB3ZWlnaHRcbi8vLyAgIGFzIGEgTnVtYmVyICgxMDAtOTAwKVxuLy8vICAgb3IgYSBTdHJpbmcgKHVsdHJhbGlnaHQsIGV4dHJhdGhpbiwgdGhpbiwgdGV4dCwgbm9ybWFsLCBtZWRpdW0sIHNlbWlib2xkLCBib2xkKVxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn1cbi8vLyAgIFRoZSBudW1lcmljIGBmb250LXdlaWdodGAgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGZvbnQtd2VpZ2h0KCR3ZWlnaHQpIHtcblx0QGlmIG1hcC1oYXMta2V5KCQtZm9udC13ZWlnaHRzLCAkd2VpZ2h0KSB7XG5cdFx0JHdlaWdodDogbWFwLWdldCgkLWZvbnQtd2VpZ2h0cywgJHdlaWdodCk7XG5cdH1cblxuXHRAaWYgdHlwZS1vZigkd2VpZ2h0KSAhPSBudW1iZXIgYW5kICR3ZWlnaHQgIT0gaW5oZXJpdCB7XG5cdFx0JHJldHVybjogd2Fybi11bmRlZmluZWQoZm9udC13ZWlnaHQsICR3ZWlnaHQpO1xuXHR9XG5cblx0QHJldHVybiAkd2VpZ2h0O1xufVxuXG4vLy9cbi8vLyBNYXAgb2YgcmVnaXN0ZXJlZCBmb250LXdlaWdodCBwbGFjZWhvbGRlcnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4kLWllOC1mb250LXdlaWdodC1wbGFjZWhvbGRlcnM6ICgpO1xuXG4vLy9cbi8vLyBPdXRwdXQgZm9udC13ZWlnaHQgd2l0aCBpZTggc3VwcG9ydCBmb3IgYSBzcGVjaWZpYyBsb2NhbGUuXG4vLy9cbi8vLyBEb2VzIG5vdCBjYWxsIGBsb2NhbGUoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodFxuLy8vICAgVGhlIGZvbnQgd2VpZ2h0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzb1xuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayBbZGVmYXVsdF1cbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBmb250IHN0YWNrXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRub3JtYWxpemUgW3RydWVdXG4vLy8gICBSZXNldCBpZTggYGZvbnQtd2VpZ2h0YCB0byBgbm9ybWFsYFxuLy8vXG5AbWl4aW4gLWllOC1mb250LXdlaWdodC1mb3ItbG9jYWxlKCR3ZWlnaHQsICRpc28sICRzdGFjazogZGVmYXVsdCwgJG5vcm1hbGl6ZTogdHJ1ZSkge1xuXHQkd2VpZ2h0OiBmb250LXdlaWdodCgkd2VpZ2h0KTtcblxuXHRAaWYgdHlwZS1vZigkd2VpZ2h0KSAhPSBzdHJpbmcgYW5kICR3ZWlnaHQgIT0gNDAwIHtcblx0XHQkcGxhY2Vob2xkZXIta2V5OiAnI3skc3RhY2t9LSN7JGlzb30tI3skd2VpZ2h0fSc7XG5cdFx0JHBsYWNlaG9sZGVyOiAnJztcblxuXHRcdEBpZiBtYXAtaGFzLWtleSgkLWllOC1mb250LXdlaWdodC1wbGFjZWhvbGRlcnMsICRwbGFjZWhvbGRlci1rZXkpIHtcblx0XHRcdCRwbGFjZWhvbGRlcjogbWFwLWdldCgkLWllOC1mb250LXdlaWdodC1wbGFjZWhvbGRlcnMsICRwbGFjZWhvbGRlci1rZXkpO1xuXG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkcGxhY2Vob2xkZXI6ICclaWU4LWZvbnQtd2VpZ2h0LSN7dW5pcXVlLWlkKCl9Jztcblx0XHRcdCRmb250czogZm9udC1zdGFjay1mb3ItbG9jYWxlKCRpc28sICRzdGFjaywgdHJ1ZSk7XG5cdFx0XHQkb3V0cHV0OiBmYWxzZTtcblxuXHRcdFx0Ly8gb25seSBoYW5kbGUgaWU4IGZvbnQgd2VpZ2h0IGZvciB3ZWIgZm9udHNcblx0XHRcdEBlYWNoICR3ZWJmb250IGluICQtd2ViZm9udHMge1xuXHRcdFx0XHQkaW5kZXg6IGluZGV4KCRmb250cywgJHdlYmZvbnQpO1xuXG5cdFx0XHRcdEBpZiAkaW5kZXgge1xuXHRcdFx0XHRcdCRvdXRwdXQ6IHRydWU7XG5cdFx0XHRcdFx0JGZvbnRzOiBsaXN0LWluc2VydCgkZm9udHMsICRpbmRleCwgbnRoKCRmb250cywgJGluZGV4KSArICcgJyArICR3ZWlnaHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuXHRcdFx0XHQjeyRwbGFjZWhvbGRlcn0ge1xuXHRcdFx0XHRcdEBpZiAkb3V0cHV0IHtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udHM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCQtaWU4LWZvbnQtd2VpZ2h0LXBsYWNlaG9sZGVyczogbWFwLXNldCgkLWllOC1mb250LXdlaWdodC1wbGFjZWhvbGRlcnMsICRwbGFjZWhvbGRlci1rZXksICRwbGFjZWhvbGRlcikgIWdsb2JhbDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBpZTgoKSB7XG5cdFx0XHRAZXh0ZW5kICN7JHBsYWNlaG9sZGVyfTtcblxuXHRcdFx0QGlmICRub3JtYWxpemUge1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgc3R5bGVzIGZvciBjb25zaXN0ZW50IGNyb3NzLWJyb3dzZXIgZm9udCByZW5kZXJpbmdcbi8vL1xuQG1peGluIGZvbnQtcmVuZGVyaW5nKCkge1xuXHRmb250LXN5bnRoZXNpczogbm9uZTtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYScsICdrZXJuJztcblxuXHRAaW5jbHVkZSBsb2NhbGUodHItVFIpIHtcblx0XHRmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzO1xuXHRcdC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiAna2Vybic7XG5cdH1cbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIENvcmUgLyBUeXBvZ3JhcGh5XG4vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuLy8vL1xuXG5AaW1wb3J0ICdhYy1zYXNza2l0L2NvcmUvdHlwb2dyYXBoeS9zcGVjcyc7XG5cbi8vL1xuLy8vIFVzZWQgdG8gY2FsY3VsYXRlIGBlbSgpYHMgYW5kIHRvIHNldCB0aGUgYGZvbnQtc2l6ZWAgb24gYGh0bWxgLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtYmFzZS1mb250LXNpemU6IDE4cHg7XG5cbi8vL1xuLy8vIFR5cG9ncmFwaHkgRGljdGlvbmFyeVxuLy8vXG4vLy8gRWFjaCB0eXBvZ3JhcGh5IGRlZmludGlvbiBpcyBhIG1hcCBvZiBzdXBwb3J0ZWQgdmlld3BvcnRzIGZvciB0aGF0IHR5cG9ncmFwaHkga2V5LiBFYWNoIG9mIHRob3NlIG1hcHMgY29udGFpbiB0aGUgcHJvcGVydGllcyBmb3IgdGhhdCB0eXBlIHN0eWxlIChlYWNoIHByb3BlcnR5IG1hcHMgdG8gYSBDU1MgcHJvcGVydHkuKVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbiQtdHlwb2dyYXBoeTogKCBlbi1XVzogKCkgKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gUXVvdGUgdmFyaWFudHMgYnkgbGFuZ3VhZ2UgYW5kL29yIGxvY2FsZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbiQtcXVvdGVzOiAoXG5cdGRlZmF1bHQ6IChcIuKAnFwiIFwi4oCdXCIpLFxuXHRkZTogKFwi4oCeXCIgXCLigJxcIiksXG5cdGZyOiAoXCLCq8KgXCIgXCLCoMK7XCIpLFxuXHRlcy1FUzogKFwiwqtcIiBcIsK7XCIpLFxuXHRqYS1KUDogKFwi44CMXCIgXCLjgI1cIiksXG5cdG5vLU5POiAoXCLCq1wiIFwiwrtcIiksXG5cdHpoOiAoXCLjgIxcIiBcIuOAjVwiKSxcblx0emgtQ046IChcIuKAnFwiIFwi4oCdXCIpXG4pO1xuXG4vLy9cbi8vLyBJZ25vcmUgbG9jYWxlLXNwZWNpZmljIHR5cG9ncmFwaHkuXG4vLy9cbi8vLyBXaGVuIGB0cnVlYCwgbm8gbG9jYWxlLXNwZWNpZmljIHR5cG9ncmFwaHkgd2lsbCBiZSBvdXRwdXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy9cbiR0eXBvZ3JhcGh5LWlnbm9yZS1pc28tYWx0czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENvbnZlcnQgYSBOdW1iZXIgdG8gYGVtYCB1bml0c1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vICAgQSBgcHhgIHZhbHVlIHRvIGJlIGNhbGN1bGF0ZWQgYWdhaW5zdCBgJGNvbnRleHRgLCBvclxuLy8vICAgYSBwZXJjZW50YWdlIChlLmcuLCBgMTAlYCksIG9yXG4vLy8gICBhIHVuaXRsZXNzIHZhbHVlIChlLmcuIGAwLjFgKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb250ZXh0IFskLWJhc2UtZm9udC1zaXplXVxuLy8vICAgVGhlIGBmb250LXNpemVgIHRoZSBgZW1gIHdpbGwgYmUgY2FsY3VsYXRlZCBhZ2FpbnN0XG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gZW0oJHZhbHVlLCAkY29udGV4dDogJC1iYXNlLWZvbnQtc2l6ZSkge1xuXHQkdW5pdHM6IHVuaXQoJHZhbHVlKTtcblxuXHRAaWYgJHVuaXRzID09ICdweCcge1xuXHRcdCR2YWx1ZTogJHZhbHVlIC8gJGNvbnRleHQ7XG5cdH0gQGVsc2UgaWYgJHVuaXRzID09ICclJyB7XG5cdFx0JHZhbHVlOiAkdmFsdWUgLyAxMDA7XG5cdH1cblxuXHRAcmV0dXJuIHVuaXQtc2V0KCR2YWx1ZSwgZW0pO1xufVxuXG4vLy9cbi8vLyBDb252ZXJ0IGEgTnVtYmVyIHRvIGByZW1gIHVuaXRzXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy8gICBBIGBweGAgdmFsdWUgdG8gYmUgY2FsY3VsYXRlZCBhZ2FpbnN0IGAkY29udGV4dGAsIG9yXG4vLy8gICBhIHBlcmNlbnRhZ2UgKGUuZy4sIGAxMCVgKSwgb3Jcbi8vLyAgIGEgdW5pdGxlc3MgdmFsdWUgKGUuZy4gYDAuMWApXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gcmVtKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHVuaXQtc2V0KGVtKCR2YWx1ZSksIHJlbSk7XG59XG5cbi8vL1xuLy8vIENvbnZlcnQgXCJ0cmFja2luZ1wiIGZyb20gUGhvdG9zaG9wIHRvIGFuIGBlbWAgdmFsdWUgZm9yIGBsZXR0ZXItc3BhY2luZ2Bcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIFRyYWNraW5nIGZyb20gUGhvdG9zaG9wXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vICAgVGhlIGNvcnJlc3BvbmRpbmcgYGVtYCB2YWx1ZSBmb3IgYGxldHRlci1zcGFjaW5nYFxuLy8vXG5AZnVuY3Rpb24gdHJhY2tpbmcoJHZhbHVlKSB7XG5cdEByZXR1cm4gJHZhbHVlIC8gMTAwMCAqIDFlbTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgbGlzdCBvZiBhbGwgdHlwb2dyYXBoeSBuYW1lcyBmb3IgYSBnaXZlbiBsb2NhbGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFtlbi1XV11cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fVxuLy8vICAgQWxsIHR5cG9ncmFwaHkgbmFtZXMgLyBtYXAga2V5cyBmb3IgYCRpc29gXG4vLy9cbkBmdW5jdGlvbiB0eXBvZ3JhcGh5LWxpc3QoJGlzbzogZW4tV1cpIHtcblx0QGlmIG1hcC1oYXMta2V5KCQtdHlwb2dyYXBoeSwgJGlzbykge1xuXHRcdEByZXR1cm4gbWFwLWtleXMobWFwLWdldCgkLXR5cG9ncmFwaHksICRpc28pKTtcblx0fVxuXG5cdEByZXR1cm4gKCk7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIHR5cG9ncmFwaHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBkZWZpbmVkIGZvciBhIHNwZWNpZmllZCBsb2NhbGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHR5cG9ncmFwaHkgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFtlbi1XV11cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufVxuLy8vICAgYHRydWVgIGlmIHRoZSB0eXBvZ3JhcGh5IGlzIGRlZmluZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiB0eXBvZ3JhcGh5LWV4aXN0cygkbmFtZSwgJGlzbzogZW4tV1cpIHtcblx0QGlmICR0eXBvZ3JhcGh5LWlnbm9yZS1pc28tYWx0cyBhbmQgJGlzbyAhPSBlbi1XVyB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEByZXR1cm4gbWFwLWhhcy1rZXkoJC10eXBvZ3JhcGh5LCAkaXNvKSBhbmQgbWFwLWhhcy1rZXkobWFwLWdldCgkLXR5cG9ncmFwaHksICRpc28pLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIHR5cG9ncmFwaHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBkZWZpbmVkIGZvciBhIHNwZWNpZmllZCBsb2NhbGUgYW5kIHZpZXdwb3J0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB0eXBvZ3JhcGh5IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZpZXdwb3J0XG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59XG4vLy8gICBgdHJ1ZWAgaWYgdGhlIHR5cG9ncmFwaHkgaXMgZGVmaW5lZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbi8vL1xuQGZ1bmN0aW9uIHR5cG9ncmFwaHktZXhpc3RzLWZvcigkbmFtZSwgJHZpZXdwb3J0LCAkaXNvOiBlbi1XVykge1xuXHRAaWYgJHR5cG9ncmFwaHktaWdub3JlLWlzby1hbHRzIGFuZCAkaXNvICE9IGVuLVdXIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0QGlmIG1hcC1oYXMta2V5KCQtdHlwb2dyYXBoeSwgJGlzbykgYW5kIG1hcC1oYXMta2V5KG1hcC1nZXQoJC10eXBvZ3JhcGh5LCAkaXNvKSwgJG5hbWUpIHtcblx0XHRAcmV0dXJuIG1hcC1oYXMta2V5KHR5cG9ncmFwaHktZ2V0KCRuYW1lLCAkaXNvKSwgJHZpZXdwb3J0KTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxufVxuXG4vLy9cbi8vLyBHZXQgdHlwb2dyYXBoeSBkYXRhIGZvciBhIGdpdmVuIG5hbWUgYW5kIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdHlwb2dyYXBoeSBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHJldHVybnMge01hcH1cbi8vLyAgIEEgdHlwb2dyYXBoeSBNYXAsIG9yIGBudWxsYCBpZiB1bmRlZmluZWRcbi8vL1xuXG5AZnVuY3Rpb24gdHlwb2dyYXBoeS1nZXQoJG5hbWUsICRpc286IGVuLVdXKSB7XG5cdEBpZiB0eXBvZ3JhcGh5LWV4aXN0cygkbmFtZSwgJGlzbykge1xuXHRcdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCQtdHlwb2dyYXBoeSwgJGlzbyksICRuYW1lKTtcblx0fVxuXG5cdEByZXR1cm4gd2Fybi11bmRlZmluZWQodHlwb2dyYXBoeSwgJG5hbWUsICdUaGUgdHlwb2dyYXBoeSBgI3skbmFtZX1gIGlzIG5vdCBkZWZpbmVkIGZvciBgI3skaXNvfWAuJyk7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIGEgcHJvcGVydHkgaXMgZGVmaW5lZCBmb3IgYSBnaXZlbiB0eXBvZ3JhcGh5IG5hbWUsIHZpZXdwb3J0LCBhbmQgbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB0eXBvZ3JhcGh5IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBUaGUgcHJvcGVydHkga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZpZXdwb3J0XG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59XG4vLy8gICBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGRlZmluZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiB0eXBvZ3JhcGh5LWhhcy1wcm9wZXJ0eS1mb3IoJG5hbWUsICRwcm9wZXJ0eSwgJHZpZXdwb3J0LCAkaXNvOiBlbi1XVykge1xuXHRAaWYgbm90IHR5cG9ncmFwaHktZXhpc3RzLWZvcigkbmFtZSwgJHZpZXdwb3J0LCAkaXNvKSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxuXG5cdCRwcm9wZXJ0aWVzOiBtYXAtbmVzdGVkLWdldCgkLXR5cG9ncmFwaHksICgkaXNvLCAkbmFtZSwgJHZpZXdwb3J0KSk7XG5cblx0QHJldHVybiBtYXAtaGFzLWtleSgkcHJvcGVydGllcywgJHByb3BlcnR5KTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgcHJvcGVydHkgZm9yIGEgZ2l2ZW4gdHlwb2dyYXBoeSBuYW1lLCB2aWV3cG9ydCwgYW5kIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdHlwb2dyYXBoeSBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgVGhlIHByb3BlcnR5IGtleVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2aWV3cG9ydFxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFtlbi1XV11cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuLy8vIEByZXR1cm5zIHsqfVxuLy8vICAgVGhlIHByb3BlcnR5J3MgdmFsdWUsIG9yIGBudWxsYCBpZiB1bmRlZmluZWRcbi8vL1xuQGZ1bmN0aW9uIHR5cG9ncmFwaHktZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgJHByb3BlcnR5LCAkdmlld3BvcnQsICRpc286IGVuLVdXKSB7XG5cdEByZXR1cm4gbWFwLW5lc3RlZC1nZXQoJC10eXBvZ3JhcGh5LCAoJGlzbywgJG5hbWUsICR2aWV3cG9ydCwgJHByb3BlcnR5KSk7XG59XG5cbi8vL1xuLy8vIEdldCBhIG5ldyBUeXBvZ3JhcGh5IERpY3Rpb25hcnkgd2l0aCB0aGUgYWRkaXRpb25hbCBkYXRhIHNldCBmb3IgdGhlIGdpdmVuIG5hbWUsIGxvY2FsZSwgYW5kIHZpZXdwb3J0LlxuLy8vXG4vLy8gTWVyZ2VzIG9uIHRvcCBvZiBleGlzdGluZyBkYXRhLiBEb2VzIG5vdCB1cGRhdGUgdGhlIGdsb2JhbCBgJC10eXBvZ3JhcGh5YC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHR5cG9ncmFwaHkgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmlld3BvcnRcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHN0eWxlc1xuLy8vICAgVGhlIHR5cG9ncmFwaHkgZGF0YVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy8gQHRvZG8gVXNlIGB0eXBvZ3JhcGh5LWdldC1mb3Itdmlld3BvcnRgIGluc3RlYWQgb2YgYG1hcC1nZXQodHlwb2dyYXBoeS1nZXQoJG5hbWUpLCAkdmlld3BvcnQpYFxuLy8vXG4vLy8gQHJldHVybnMge01hcH1cbi8vLyAgIEFuZCB1cGRhdGVkIFR5cG9ncmFwaHkgRGljdGlvbmFyeVxuLy8vXG5AZnVuY3Rpb24gLXR5cG9ncmFwaHktYWRkLXRvLXZpZXdwb3J0KCRuYW1lLCAkdmlld3BvcnQsICRzdHlsZXMsICRpc286IGVuLVdXKSB7XG5cblx0JHR5cG9ncmFwaHktZm9yLWxvY2FsZTogKCk7XG5cdCR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQ6ICgpO1xuXHQkdHlwb2dyYXBoeS1zdHlsZXM6ICgpO1xuXG5cdC8vIENoZWNrIGZvciBleGlzdGluZyBzdHlsZSBkZWZpbml0aW9uc1xuXHRAaWYgdHlwb2dyYXBoeS1leGlzdHMtZm9yKCRuYW1lLCB2aWV3cG9ydCwgJGlzbykgIT0gZmFsc2Uge1xuXHRcdCR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQ6IG1hcC1nZXQodHlwb2dyYXBoeS1nZXQoJG5hbWUsICRpc28pLCAkdmlld3BvcnQpO1xuXHR9XG5cdEBpZiB0eXBvZ3JhcGh5LWV4aXN0cygkbmFtZSwgJGlzbykgIT0gZmFsc2Uge1xuXHRcdCR0eXBvZ3JhcGh5LXN0eWxlczogdHlwb2dyYXBoeS1nZXQoJG5hbWUsICRpc28pO1xuXHR9XG5cblx0Ly8gTWVyZ2UgbmV3IHN0eWxlcyB3aXRoIGV4aXN0aW5nIHN0eWxlcyBmb3Igdmlld3BvcnRcblx0JHR5cG9ncmFwaHktc3R5bGVzLWZvci12aWV3cG9ydDogbWFwLW1lcmdlKCR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQsICRzdHlsZXMpO1xuXG5cdC8vIFNldCB2aWV3cG9ydCBzdHlsZXMgZm9yIHZpZXdwb3J0IGluIHRoZSBzdHlsZSBkZWZpbml0aW9uXG5cdCR0eXBvZ3JhcGh5LXN0eWxlczogbWFwLXNldCgkdHlwb2dyYXBoeS1zdHlsZXMsICR2aWV3cG9ydCwgJHR5cG9ncmFwaHktc3R5bGVzLWZvci12aWV3cG9ydCk7XG5cblx0QGlmIG1hcC1oYXMta2V5KCQtdHlwb2dyYXBoeSwgJGlzbykge1xuXHRcdCR0eXBvZ3JhcGh5LWZvci1sb2NhbGU6IG1hcC1nZXQoJC10eXBvZ3JhcGh5LCAkaXNvKTtcblx0fVxuXG5cdC8vIEFkZCBuZXcgc3R5bGUgZGVmaXRpb24gdG8gZGljdGlvbmFyeSBieSBuYW1lXG5cdCQtdHlwb2dyYXBoeS1mb3ItbG9jYWxlOiBtYXAtc2V0KCR0eXBvZ3JhcGh5LWZvci1sb2NhbGUsICRuYW1lLCAkdHlwb2dyYXBoeS1zdHlsZXMpICFnbG9iYWw7XG5cblx0JC10eXBvZ3JhcGh5OiBtYXAtc2V0KCQtdHlwb2dyYXBoeSwgJGlzbywgJC10eXBvZ3JhcGh5LWZvci1sb2NhbGUpO1xuXG5cdEByZXR1cm4gJC10eXBvZ3JhcGh5O1xufVxuXG4vLy9cbi8vLyBBZGQgdHlwb2dyYXBoeSBkYXRhIHRvIHRoZSBUeXBvZ3JhcGh5IERpY3Rpb25hcnkuXG4vLy8gTWVyZ2VzIG9uIHRvcCBvZiBleGlzdGluZyB0eXBvaHJhcGh5IHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB0eXBvZ3JhcGh5IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHN0eWxlc1xuLy8vICAgVGhlIHR5cG9ncmFwaHkgZGF0YVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGVmYXVsdCBbZmFsc2VdXG4vLy8gICBUcmVhdCBsaWtlIGEgYCFkZWZhdWx0YCBkZWZpbml0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkaXNvIFtlbi1XV11cbi8vLyAgIE9uZSBvciBtb3JlIGxvY2FsZXMgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG4vLy9cbkBtaXhpbiB0eXBvZ3JhcGh5LXNldCgkbmFtZSwgJHN0eWxlcywgJGRlZmF1bHQ6IGZhbHNlLCAkaXNvOiBlbi1XVykge1xuXHRAZWFjaCAkLWlzbyBpbiAkaXNvIHtcblx0XHQgQGluY2x1ZGUgLXR5cG9ncmFwaHktc2V0LWZvci1sb2NhbGUoJG5hbWUsICRzdHlsZXMsICRkZWZhdWx0LCAkLWlzbyk7XG5cdH1cbn1cblxuLy8vXG4vLy8gQWRkIGEgdHlwb2dyYXBoeSBzdHlsZSB0byB0aGUgVHlwb2dyYXBoeSBEaWN0aW9uYXJ5IGZvciBhIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgdHlwb2dyYXBoeSBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRzdHlsZXNcbi8vLyAgIEEgTWFwIG9mIHZpZXdwb3J0cywgZWFjaCBjb250YWluaW5nIG9uZSBvZiB0aGUgZm9sbG93aW5nOlxuLy8vICAgMS4gVGhlIGtleSBmb3IgYSBUeXBvZ3JhcGh5IFNwZWMgYXMgYSBTdHJpbmdcbi8vLyAgIDIuIEEgbGlzdCBpbiB0aGUgZm9ybSBvZiBgKHBvaW50IHNpemUsIGxlYWRpbmcsIHdlaWdodCwgdHJhY2tpbmcpYFxuLy8vICAgMy4gQSBtYXAgb2YgY3NzIHByb3BlcnRpZXNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRlZmF1bHQgW2ZhbHNlXVxuLy8vICAgVHJlYXQgbGlrZSBhIGAhZGVmYXVsdGAgZGVmaW5pdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gW2VuLVdXXVxuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG5AbWl4aW4gLXR5cG9ncmFwaHktc2V0LWZvci1sb2NhbGUoJG5hbWUsICRzdHlsZXMsICRkZWZhdWx0OiBmYWxzZSwgJGlzbzogZW4tV1cpIHtcblxuXHQvLyBEb27igJl0IGFkZCB0eXBvZ3JhcGh5IHN0eWxlIGlmIGl04oCZcyBhIGRlZmF1bHQgc3R5bGUgdGhhdCBoYXMgYWxyZWFkeSBiZWVuIHNldC5cblxuXHRAaWYgKCRkZWZhdWx0ID09IGZhbHNlIG9yIHR5cG9ncmFwaHktZXhpc3RzKCRuYW1lLCAkaXNvKSA9PSBmYWxzZSkge1xuXG5cdFx0QGVhY2ggJHZpZXdwb3J0LCAkcHJvcGVydGllcyBpbiAkc3R5bGVzIHtcblx0XHRcdCR0eXBlOiB0eXBlLW9mKCRwcm9wZXJ0aWVzKTtcblx0XHRcdCRzcGVjczogKCk7XG5cblx0XHRcdEBpZiAkdHlwZSA9PSBzdHJpbmcgb3IgJHR5cGUgPT0gbnVtYmVyIHtcblx0XHRcdFx0Ly8gZS5nLiwgYGxhcmdlOiA4MF84OGBcblx0XHRcdFx0JHByb3BlcnRpZXM6IChzcGVjczogJHByb3BlcnRpZXMpO1xuXHRcdFx0fSBAZWxzZSBpZiAkdHlwZSA9PSBsaXN0IHtcblx0XHRcdFx0Ly8gZS5nLiwgYGxhcmdlOiAoODAsIDg4LCB0aGluLCAtOClgXG5cblx0XHRcdFx0QGlmICRpc28gPT0gZW4tV1cgYW5kIGxlbmd0aCgkcHJvcGVydGllcykgPCA0IHtcblx0XHRcdFx0XHQvLyBlbnN1cmUgdHJhY2tpbmcgLyBsZXR0ZXItc3BhY2luZyBpcyBzZXRcblx0XHRcdFx0XHQkcHJvcGVydGllczogbGlzdC1zZXQoJHByb3BlcnRpZXMsIDQsIDApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JHByb3BlcnRpZXM6IC10eXBvZ3JhcGh5LXNwZWNzLWZyb20tbGlzdCgkcHJvcGVydGllcyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGV2YWx1YXRlIHNwZWNzXG5cdFx0XHRAaWYgbWFwLWhhcy1rZXkoJHByb3BlcnRpZXMsIHNwZWNzKSB7XG5cdFx0XHRcdCRzcGVjczogbWFwLWdldCgkcHJvcGVydGllcywgc3BlY3MpO1xuXHRcdFx0XHQkcHJvcGVydGllczogbWFwLXJlbW92ZSgkcHJvcGVydGllcywgc3BlY3MpO1xuXG5cdFx0XHRcdEBpZiAkaXNvID09IGVuLVdXIHtcblx0XHRcdFx0XHQkc3BlY3M6IHR5cG9ncmFwaHktc3BlY3MoJHNwZWNzKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JHNwZWNzOiAoJGlzbzogdHlwb2dyYXBoeS1zcGVjcy1mb3ItbG9jYWxlKCRzcGVjcywgJGlzbywgdHJ1ZSkpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGlmICRzcGVjcyBhbmQgbWFwLWhhcy1rZXkoJHNwZWNzLCAkaXNvKSB7XG5cdFx0XHRcdFx0JHByb3BlcnRpZXM6IG1hcC1tZXJnZSgkcHJvcGVydGllcywgbWFwLWdldCgkc3BlY3MsICRpc28pKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBldmFsdWF0ZSB0cmFja2luZ1xuXHRcdFx0QGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0aWVzLCB0cmFja2luZykge1xuXHRcdFx0XHQkdHJhY2tpbmc6IG1hcC1nZXQoJHByb3BlcnRpZXMsIHRyYWNraW5nKTtcblx0XHRcdFx0JHByb3BlcnRpZXM6IG1hcC1yZW1vdmUoJHByb3BlcnRpZXMsIHRyYWNraW5nKTtcblx0XHRcdFx0JHByb3BlcnRpZXM6IG1hcC1zZXQoJHByb3BlcnRpZXMsIGxldHRlci1zcGFjaW5nLCB0cmFja2luZygkdHJhY2tpbmcpKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gc2V0IHZpZXdwb3J0IHN0eWxlc1xuXHRcdFx0JC10eXBvZ3JhcGh5OiAtdHlwb2dyYXBoeS1hZGQtdG8tdmlld3BvcnQoJG5hbWUsICR2aWV3cG9ydCwgJHByb3BlcnRpZXMsICRpc28pICFnbG9iYWw7XG5cblx0XHRcdC8vIHNldCBsb2NhbGUgYWx0cyAoZnJvbSBzcGVjcylcblx0XHRcdEBlYWNoICRzcGVjcy1pc28gaW4gbWFwLWtleXMoJHNwZWNzKSB7XG5cdFx0XHRcdEBpZiAkc3BlY3MtaXNvICE9ICRpc28ge1xuXHRcdFx0XHRcdCRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCRzcGVjcywgJHNwZWNzLWlzbyk7XG5cdFx0XHRcdFx0JC10eXBvZ3JhcGh5OiAtdHlwb2dyYXBoeS1hZGQtdG8tdmlld3BvcnQoJG5hbWUsICR2aWV3cG9ydCwgJHByb3BlcnRpZXMsICRzcGVjcy1pc28pICFnbG9iYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxufVxuXG4vLy9cbi8vLyBPdXRwdXQgdHlwb2dyYXBoeSBzdHlsZXMgZm9yIGVhY2ggdmlld3BvcnQgYW5kIGEgZ2l2ZW4gbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB0eXBvZ3JhcGh5IG5hbWVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvIFtlbi1XV11cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuLy8vIEB0b2RvIFVzZSBgdHlwb2dyYXBoeS1nZXQtZm9yLXZpZXdwb3J0YCBpbnN0ZWFkIG9mIGBtYXAtZ2V0KCR0eXBvZ3JhcGh5LXN0eWxlcywgJHZpZXdwb3J0LW5hbWUpYFxuLy8vXG5AbWl4aW4gdHlwb2dyYXBoeS1mb3ItbG9jYWxlKCRuYW1lLCAkaXNvOiBlbi1XVykge1xuXG5cdCR0eXBvZ3JhcGh5LXN0eWxlczogdHlwb2dyYXBoeS1nZXQoJG5hbWUsICRpc28pO1xuXG5cdC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIHZpZXdwb3J0cyB0aGF0IGV4aXN0XG5cdEBlYWNoICR2aWV3cG9ydC1uYW1lIGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cblx0XHQkdmlld3BvcnQtb3B0aW9uczogdmlld3BvcnQtZ2V0KCR2aWV3cG9ydC1uYW1lKTtcblxuXHRcdC8vIENoZWNrIGlmIHR5cG9ncmFwaHkgc3R5bGVzIGV4aXN0IGZvciBlYWNoIHZpZXdwb3J0XG5cdFx0QGlmIHR5cG9ncmFwaHktZXhpc3RzLWZvcigkbmFtZSwgJHZpZXdwb3J0LW5hbWUsICRpc28pIHtcblxuXHRcdFx0Ly8gR2V0IFN0eWxlcyBmb3IgdGhhdCB2aWV3cG9ydCBhcyBhIGxpc3Rcblx0XHRcdCR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQ6IG1hcC1nZXQoJHR5cG9ncmFwaHktc3R5bGVzLCAkdmlld3BvcnQtbmFtZSk7XG5cdFx0XHQvLyBAZGVidWcgJHR5cG9ncmFwaHktc3R5bGVzLWZvci12aWV3cG9ydDtcblxuXHRcdFx0Ly8gT3V0cHV0IHRob3NlIHN0eWxlcyBmb3IgdGhhdCB2aWV3cG9ydFxuXG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQtbmFtZSkge1xuXG5cdFx0XHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQge1xuXG5cdFx0XHRcdFx0QGlmICRwcm9wZXJ0eSA9PSBmb250LXdlaWdodCB7XG5cdFx0XHRcdFx0XHRAaWYgbWFwLWdldCgkdmlld3BvcnQtb3B0aW9ucywgaWU4KSB7XG5cdFx0XHRcdFx0XHRcdCRmb250LXN0YWNrOiBkZWZhdWx0O1xuXHRcdFx0XHRcdFx0XHRAaWYgKG1hcC1oYXMta2V5KCR0eXBvZ3JhcGh5LXN0eWxlcy1mb3Itdmlld3BvcnQsIGZvbnQtc3RhY2spKSB7XG5cdFx0XHRcdFx0XHRcdFx0JGZvbnQtc3RhY2s6IG1hcC1nZXQoJHR5cG9ncmFwaHktc3R5bGVzLWZvci12aWV3cG9ydCwgZm9udC1zdGFjaylcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdEBpZiAkaXNvID09IGVuLVdXIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBmb250LXdlaWdodCgkdmFsdWUsICRmb250LXN0YWNrKTtcblx0XHRcdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KCR2YWx1ZSk7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgLWllOC1mb250LXdlaWdodC1mb3ItbG9jYWxlKCR2YWx1ZSwgJGlzbywgJGZvbnQtc3RhY2spO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGZvbnQtd2VpZ2h0KCR2YWx1ZSk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9IEBlbHNlIGlmICRwcm9wZXJ0eSA9PSBmb250LXN0YWNrIHtcblx0XHRcdFx0XHRcdEBpZiAkaXNvID09IGVuLVdXIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgZm9udC1mYW1pbHkoJHZhbHVlKTtcblx0XHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogZm9udC1zdGFjay1mb3ItbG9jYWxlKCRpc28sICR2YWx1ZSwgdHJ1ZSk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9IEBlbHNlIGlmICRwcm9wZXJ0eSA9PSBzd2F0Y2ggYW5kIC1zd2F0Y2gtZXhpc3RzKCR2YWx1ZSkge1xuXHRcdFx0XHRcdFx0Y29sb3I6IHN3YXRjaCgkdmFsdWUpO1xuXG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHQjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblx0fVxufVxuXG5cbi8vL1xuLy8vIE91dHB1dCB0eXBvZ3JhcGh5IHN0eWxlcyBmb3IgZWFjaCB2aWV3cG9ydCBhbmQgYWxsIGxvY2FsZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHR5cG9ncmFwaHkgbmFtZVxuLy8vXG4vLy8gQHRvZG8gVXNlIGB0eXBvZ3JhcGh5LWdldC1mb3Itdmlld3BvcnRgIGluc3RlYWQgb2YgYG1hcC1nZXQoJHR5cG9ncmFwaHktc3R5bGVzLCAkdmlld3BvcnQtbmFtZSlgXG4vLy9cbkBtaXhpbiB0eXBvZ3JhcGh5KCRuYW1lKSB7XG5cdCRleGlzdHM6IGZhbHNlO1xuXG5cdEBlYWNoICRpc28sICR0eXBvZ3JhcGh5LXN0eWxlcyBpbiAkLXR5cG9ncmFwaHkge1xuXHRcdEBpZiB0eXBvZ3JhcGh5LWV4aXN0cygkbmFtZSwgJGlzbykge1xuXHRcdFx0JGV4aXN0czogdHJ1ZTtcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxlKCRpc28pIHtcblx0XHRcdFx0QGluY2x1ZGUgdHlwb2dyYXBoeS1mb3ItbG9jYWxlKCRuYW1lLCAkaXNvKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgbm90ICRleGlzdHMge1xuXHRcdEBpbmNsdWRlIHdhcm4tdW5kZWZpbmVkKHR5cG9ncmFwaHksICRuYW1lKTtcblx0fVxufVxuXG4vLy9cbi8vLyBBZGQgaGFuZ2luZyBxdW90ZXMgdG8gdGhlIGNoaWxkcmVuIG9mIHRoZSBjdXJyZW50IHNlbGVjdG9yXG4vLy9cbkBtaXhpbiBxdW90ZXMoKSB7XG5cdCRxdW90ZS13aWR0aDogMmVtO1xuXG5cdD4gOmJlZm9yZSxcblx0PiA6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogJHF1b3RlLXdpZHRoO1xuXHR9XG5cblx0PiA6YmVmb3JlIHtcblx0XHRjb250ZW50OiBvcGVuLXF1b3RlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtKCRxdW90ZS13aWR0aCk7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQ+IDphZnRlciB7XG5cdFx0Y29udGVudDogY2xvc2UtcXVvdGU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtKCRxdW90ZS13aWR0aCk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQ+IDpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBTZXQgdGhlIHRvcCBtYXJnaW4gb2YgdGhlIGZpcnN0IGVsZW1lbnQgYW5kIHRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBsYXN0IGVsZW1lbnQgdG8gMC5cbi8vL1xuQG1peGluIHR5cG9ncmFwaHktY29udGFpbmVyLXJlc2V0KCkge1xuXHQ+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdD4gOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgZWxldmF0ZWQtaGVhZGxpbmVcbi8vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoZWxldmF0ZWQtaGVhZGxpbmUsIChcblx0bGFyZ2U6IDE2MF8xODQsXG5cdG1lZGl1bTogMTI4XzEzNixcblx0c21hbGw6IDEwNF8xMTJcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgZWxldmF0ZWQtc3ViaGVhZFxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChlbGV2YXRlZC1zdWJoZWFkLCAoXG5cdGxhcmdlOiA4OF85Nixcblx0bWVkaXVtOiA4MF84OCxcblx0c21hbGw6IDY0XzcyXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IGVsZXZhdGVkLWludHJvXG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGVsZXZhdGVkLWludHJvLCAoXG5cdGxhcmdlOiA1Nl83Mixcblx0bWVkaXVtOiA0OF82NFxuKSwgJGRlZmF1bHQ6IHRydWUpO1xuXG4vLy9cbi8vLyBAdHlwb2dyYXBoeSBoZXJvLWhlYWRsaW5lXG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGhlcm8taGVhZGxpbmUsIChcblx0bGFyZ2U6IDEyOF8xMzYsXG5cdG1lZGl1bTogMTA0XzExMixcblx0c21hbGw6IDgwXzg4XG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IGhlcm8tc3ViaGVhZFxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChoZXJvLXN1YmhlYWQsIChcblx0bGFyZ2U6IDgwXzg4LFxuXHRtZWRpdW06IDY0XzcyLFxuXHRzbWFsbDogNTZfNjRcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgc2VjdGlvbi1oZWFkbGluZVxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChzZWN0aW9uLWhlYWRsaW5lLCAoXG5cdGxhcmdlOiAxMDRfMTEyLFxuXHRtZWRpdW06IDgwXzg4LFxuXHRzbWFsbDogNjRfNzJcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgc3Vic2VjdGlvbi1oZWFkbGluZVxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChzdWJzZWN0aW9uLWhlYWRsaW5lLCAoXG5cdGxhcmdlOiA4MF84OCxcblx0bWVkaXVtOiA2NF83Mixcblx0c21hbGw6IDU2XzY0XG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IHN1YnNlY3Rpb24tc3ViaGVhZGxpbmVcbi8vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoc3Vic2VjdGlvbi1zdWJoZWFkbGluZSwgKFxuXHRsYXJnZTogNjRfNzIsXG5cdG1lZGl1bTogNTZfNjQsXG5cdHNtYWxsOiA0OF81NlxuKSwgJGRlZmF1bHQ6IHRydWUpO1xuXG4vLy9cbi8vLyBAdHlwb2dyYXBoeSB0YWJsZS1sYWJlbFxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldCh0YWJsZS1sYWJlbCwgKFxuXHRsYXJnZTogNTZfNjQsXG5cdG1lZGl1bTogNDhfNTZcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgaW50cm9cbi8vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoaW50cm8sIChcblx0bGFyZ2U6IDQ4XzY0LFxuXHRzbWFsbDogNDBfNTZcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgYm9keS1jb3B5XG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGJvZHktY29weSwgKFxuXHRsYXJnZTogMzZfNTJcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgc21hbGxibG9jay1oZWFkbGluZVxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChzbWFsbGJsb2NrLWhlYWRsaW5lLCAoXG5cdGxhcmdlOiAzMl80OF9zZW1pYm9sZFxuKSwgJGRlZmF1bHQ6IHRydWUpO1xuXG4vLy9cbi8vLyBAdHlwb2dyYXBoeSBzbWFsbGJsb2NrLWNvcHlcbi8vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoc21hbGxibG9jay1jb3B5LCAoXG5cdGxhcmdlOiAzMl80OFxuKSwgJGRlZmF1bHQ6IHRydWUpO1xuXG4vLy9cbi8vLyBAdHlwb2dyYXBoeSBjYXB0aW9uLWhlYWRsaW5lXG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGNhcHRpb24taGVhZGxpbmUsIChcblx0bGFyZ2U6IDI4XzM2X3NlbWlib2xkXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IGNhcHRpb24tY29weVxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChjYXB0aW9uLWNvcHksIChcblx0bGFyZ2U6IDI4XzM2XG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy9cbi8vLyBUeXBvZ3JhcGh5IFNwZWNzIERpY3Rpb25hcnlcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3Age01hcH0gJHNpemVfbGVhZGluZ1xuLy8vICAgQSBtYXAgb2Ygc3BlY3MgYnkgbG9jYWxlXG4vLy9cbi8vLyBAcHJvcCB7TGlzdH0gJHNpemVfbGVhZGluZy4kaXNvXG4vLy8gICBBIGxpc3QgaW4gdGhlIGZvcm0gb2YgYChzaXplLCBsZWFkaW5nLCB3ZWlnaHQsIHRyYWNraW5nKWAuXG4vLy8gICBgZmFsc2VgLCBgbnVsbGAsIG9yIGBfYCBkZW5vdGVzIGFuIHVudXNlZCB2YWx1ZS5cbi8vL1xuJC10eXBvZ3JhcGh5LXNwZWNzOiAoXG5cdDE2MF8xODQ6IChcblx0XHRlbi1XVzogKDE2MCwgMTg0LCBleHRyYXRoaW4sIC0yNCksXG5cdFx0amE6IChfLCBfLCBfLCAwKSxcblx0XHRrbzogKF8sIF8sIF8sIDApLFxuXHRcdHRoOiAoXywgMjAwLCBfLCAwKSxcblx0XHR6aDogKDE1MCwgMTc2LCBfLCAwKSxcblx0KSxcblx0MTI4XzEzNjogKFxuXHRcdGVuLVdXOiAoMTI4LCAxMzYsIGV4dHJhdGhpbiwgLTIwKSxcblx0XHRqYTogKF8sIF8sIF8sIDApLFxuXHRcdGtvOiAoXywgXywgXywgMCksXG5cdFx0dGg6IChfLCAxNTAsIF8sIDApLFxuXHRcdHpoOiAoMTIwLCAxMjgsIF8sIDApXG5cdCksXG5cdDEwNF8xMTI6IChcblx0XHRlbi1XVzogKDEwNCwgMTEyLCBleHRyYXRoaW4sIC0xNiksXG5cdFx0amE6IChfLCBfLCBfLCAwKSxcblx0XHRrbzogKF8sIF8sIF8sIDApLFxuXHRcdHRoOiAoXywgMTIyLCBfLCAwKSxcblx0XHR6aDogKDk2LCAxMDQsIF8sIDApXG5cdCksXG5cdDg4Xzk2OiAoXG5cdFx0ZW4tV1c6ICg4OCwgOTYsIHRoaW4sIC0xMCksXG5cdFx0amE6IChfLCBfLCBfLCAwKSxcblx0XHRrbzogKF8sIF8sIF8sIDApLFxuXHRcdHRoOiAoXywgMTA2LCBfLCAwKSxcblx0XHR6aDogKDg0LCBfLCBfLCAwKVxuXHQpLFxuXHQ4MF84ODogKFxuXHRcdGVuLVdXOiAoODAsIDg4LCB0aGluLCAtOCksXG5cdFx0amE6IChfLCBfLCBfLCAwKSxcblx0XHRrbzogKF8sIF8sIF8sIDApLFxuXHRcdHRoOiAoXywgOTYsIF8sIDApLFxuXHRcdHpoOiAoNzYsIF8sIF8sIDApXG5cdCksXG5cdDY0XzcyOiAoXG5cdFx0ZW4tV1c6ICg2NCwgNzIsIHRoaW4sIDApLFxuXHRcdGphOiAoXywgXywgXywgXyksXG5cdFx0a286IChfLCBfLCBfLCBfKSxcblx0XHR0aDogKF8sIDc4LCBfLCBfKSxcblx0XHR6aDogKDYwLCBfLCBfLCBfKVxuXHQpLFxuXHQ1Nl83MjogKFxuXHRcdGVuLVdXOiAoNTYsIDcyLCB0aGluLCAwKSxcblx0XHRqYTogKF8sIF8sIF8sIF8pLFxuXHRcdGtvOiAoXywgXywgXywgXyksXG5cdFx0dGg6IChfLCA3OCwgXywgXyksXG5cdFx0emg6ICg1MiwgXywgXywgXylcblx0KSxcblx0NTZfNjQ6IChcblx0XHRlbi1XVzogKDU2LCA2NCwgdGhpbiwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgNzAsIF8sIF8pLFxuXHRcdHpoOiAoNTIsIF8sIF8sIF8pIC8vIFBTRDogIDUyLzYyXG5cdCksXG5cdDQ4XzY0OiAoXG5cdFx0ZW4tV1c6ICg0OCwgNjQsIHRoaW4sIDApLFxuXHRcdGphOiAoXywgXywgXywgXyksXG5cdFx0a286IChfLCBfLCBfLCBfKSxcblx0XHR0aDogKF8sIF8sIF8sIF8pLFxuXHRcdHpoOiAoNDQsIF8sIF8sIF8pIC8vIFBTRDogNDQvNjhcblx0KSxcblx0NDhfNTY6IChcblx0XHRlbi1XVzogKDQ4LCA1NiwgdGhpbiwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgNjIsIF8sIF8pLFxuXHRcdHpoOiAoNDQsIF8sIF8sIF8pXG5cdCksXG5cdDQwXzU2OiAoXG5cdFx0ZW4tV1c6ICg0MCwgNTYsIHRoaW4sIDApLFxuXHRcdGphOiAoXywgXywgXywgXyksXG5cdFx0a286IChfLCBfLCBfLCBfKSxcblx0XHR0aDogKF8sIF8sIF8sIF8pLFxuXHRcdHpoOiAoMzYsIF8sIF8sIF8pXG5cdCksXG5cdDQwXzQ4OiAoXG5cdFx0ZW4tV1c6ICg0MCwgNDgsIHRoaW4sIDApLFxuXHRcdGphOiAoXywgXywgXywgXyksXG5cdFx0a286IChfLCBfLCBfLCBfKSxcblx0XHR0aDogKF8sIF8sIF8sIF8pLFxuXHRcdHpoOiAoMzYsIF8sIF8sIF8pIC8vIFBTRDogMzYvNDRcblx0KSxcblx0MzZfNTI6IChcblx0XHRlbi1XVzogKDM2LCA1MiwgdGV4dCwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgXywgXywgXyksXG5cdFx0emg6ICgzMiwgXywgXywgXykgLy8gUFNEOiAzMi81NlxuXHQpLFxuXHQzMl80ODogKFxuXHRcdGVuLVdXOiAoMzIsIDQ4LCB0ZXh0LCAwKSxcblx0XHRqYTogKF8sIF8sIF8sIF8pLFxuXHRcdGtvOiAoXywgXywgXywgXyksXG5cdFx0dGg6IChfLCBfLCBfLCBfKSxcblx0XHR6aDogKDI4LCBfLCBfLCBfKVxuXHQpLFxuXHQzMl80OF9zZW1pYm9sZDogKFxuXHRcdGVuLVdXOiAoMzIsIDQ4LCBzZW1pYm9sZCwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgXywgXywgXyksXG5cdFx0emg6ICgyOCwgXywgXywgXylcblx0KSxcblx0MjhfMzY6IChcblx0XHRlbi1XVzogKDI4LCAzNiwgdGV4dCwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgXywgXywgXyksXG5cdFx0emg6ICgyNCwgXywgXywgXykgLy8gUFNEOiAyNC80MFxuXHQpLFxuXHQyOF8zNl9zZW1pYm9sZDogKFxuXHRcdGVuLVdXOiAoMjgsIDM2LCBzZW1pYm9sZCwgMCksXG5cdFx0amE6IChfLCBfLCBfLCBfKSxcblx0XHRrbzogKF8sIF8sIF8sIF8pLFxuXHRcdHRoOiAoXywgXywgXywgXyksXG5cdFx0emg6ICgyNCwgXywgXywgXykgLy8gUFNEOiAyNC80MFxuXHQpXG4pO1xuXG4vLy9cbi8vLyBHZXQgc3R5bGVzIGZvciBhIFR5cG9ncmFwaHkgU3BlY1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlcbi8vLyAgIFRoZSBzcGVjIGtleSwgaW4gdGhlIGZvcm0gb2YgMnggYHNpemVfbGVhZGluZ2AgKGUuZy4sIGA4MF84OGApLlxuLy8vICAgTm90ZTogU29tZSBzcGVjIGtleXMgaW5jbHVkZSBhIHdlaWdodCAoZS5nLiwgYDMyXzQ4X3NlbWlib2xkYCkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzbyBbbnVsbF1cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuQGZ1bmN0aW9uIHR5cG9ncmFwaHktc3BlY3MoJGtleSkge1xuXHQkcHJvcGVydGllczogKCk7XG5cdCRzcGVjczogbWFwLWdldCgkLXR5cG9ncmFwaHktc3BlY3MsICRrZXkpO1xuXG5cdEBpZiBub3QgJHNwZWNzIHtcblx0XHRAcmV0dXJuICRwcm9wZXJ0aWVzO1xuXHR9XG5cblx0QGVhY2ggJGlzbyBpbiBtYXAta2V5cygkc3BlY3MpIHtcblx0XHQkaXNvLXByb3BlcnRpZXM6IHR5cG9ncmFwaHktc3BlY3MtZm9yLWxvY2FsZSgka2V5LCAkaXNvKTtcblxuXHRcdEBpZiBsZW5ndGgoJGlzby1wcm9wZXJ0aWVzKSB7XG5cdFx0XHQkcHJvcGVydGllczogbWFwLXNldCgkcHJvcGVydGllcywgJGlzbywgJGlzby1wcm9wZXJ0aWVzKTtcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICRwcm9wZXJ0aWVzO1xufVxuXG4vLy9cbi8vLyBHZXQgc3R5bGVzIGZvciBhIHNwZWNpZmljIGxvY2FsZSdzIFR5cG9ncmFwaHkgU3BlY1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlcbi8vLyAgIFRoZSBzcGVjIGtleSwgaW4gdGhlIGZvcm0gb2YgMnggYHNpemVfbGVhZGluZ2AgKGUuZy4sIGA4MF84OGApXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzbyBbZW4tV1ddXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmhlcml0IFtmYWxzZV1cbi8vLyAgIEluaGVyaXQgZnJvbSBgZW4tV1dgIGlmIGxvY2FsZS1zcGVjaWZpYyBzcGVjcyBhcmUgbm90IHNldFxuLy8vXG5AZnVuY3Rpb24gdHlwb2dyYXBoeS1zcGVjcy1mb3ItbG9jYWxlKCRrZXksICRpc286IGVuLVdXLCAkaW5oZXJpdDogZmFsc2UpIHtcblx0JHByb3BlcnRpZXM6ICgpO1xuXHQkc3BlY3M6IG1hcC1nZXQoJC10eXBvZ3JhcGh5LXNwZWNzLCAka2V5KTtcblxuXHRAaWYgbm90ICRzcGVjcyB7XG5cdFx0QHJldHVybiAkcHJvcGVydGllcztcblx0fVxuXG5cdEBpZiBtYXAtaGFzLWtleSgkc3BlY3MsICRpc28pIHtcblx0XHQkcHJvcGVydGllczogbWFwLWdldCgkc3BlY3MsICRpc28pO1xuXHR9IEBlbHNlIGlmIG5vdCAkaW5oZXJpdCB7XG5cdFx0QHJldHVybiAkcHJvcGVydGllcztcblx0fVxuXG5cdCRmYWxsYmFjazogbnVsbDtcblxuXHRAaWYgJGlzbyAhPSBlbi1XVyB7XG5cdFx0JGZhbGxiYWNrOiBtYXAtZ2V0KCRzcGVjcywgZW4tV1cpO1xuXG5cdFx0QGlmICRpbmhlcml0IHtcblx0XHRcdEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggNCB7XG5cdFx0XHRcdCRzcGVjOiBsaXN0LWdldCgkcHJvcGVydGllcywgJG4pO1xuXG5cdFx0XHRcdEBpZiBub3QgJHNwZWMgb3IgJHNwZWMgPT0gJ18nIHtcblx0XHRcdFx0XHQkcHJvcGVydGllczogbGlzdC1zZXQoJHByb3BlcnRpZXMsICRuLCBsaXN0LWdldCgkZmFsbGJhY2ssICRuKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JGZhbGxiYWNrOiBudWxsO1xuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gLXR5cG9ncmFwaHktc3BlY3MtZnJvbS1saXN0KCRwcm9wZXJ0aWVzLCAkZmFsbGJhY2spO1xufVxuXG4vLy9cbi8vLyBHZXQgc3R5bGVzIGZyb20gYSBUeXBvZ3JhcGh5IFNwZWMgbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzcGVjc1xuLy8vICAgQSBsaXN0IGluIHRoZSBmb3JtIG9mIGAoc2l6ZSwgbGVhZGluZywgd2VpZ2h0LCB0cmFja2luZylgLlxuLy8vICAgYGZhbHNlYCwgYG51bGxgLCBvciBgX2AgZGVub3RlcyBhbiB1bnVzZWQgdmFsdWUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZhbGxiYWNrXG4vLy8gICBBbiBhZGRpdGlvbmFsIHNwZWMgbGlzdCB0byBmYWxsYmFjayB0byBhcyBuZWVkZWRcbi8vL1xuQGZ1bmN0aW9uIC10eXBvZ3JhcGh5LXNwZWNzLWZyb20tbGlzdCgkc3BlY3MsICRmYWxsYmFjazogbnVsbCkge1xuXHQkcHJvcGVydGllczogKCk7XG5cblx0Ly8gdW5kZXJzY29yZSBzaG9ydGhhbmQgZm9yIGBmYWxzZWBcblx0QGZvciAkbiBmcm9tIDEgdGhyb3VnaCA0IHtcblx0XHQkc3BlYzogbGlzdC1nZXQoJHNwZWNzLCAkbik7XG5cblx0XHRAaWYgbm90ICRzcGVjIG9yICRzcGVjID09ICdfJyB7XG5cdFx0XHQkc3BlY3M6IGxpc3Qtc2V0KCRzcGVjcywgJG4sIGZhbHNlKTtcblx0XHR9XG5cdH1cblxuXHQvLyBmb250LXNpemVcblx0JHNpemU6IGxpc3QtZ2V0KCRzcGVjcywgMSk7XG5cblx0QGlmICRzaXplIHtcblx0XHQkdmFsdWU6ICRzaXplICogMXB4IC8gMjtcblx0XHQkcHJvcGVydGllczogbWFwLXNldCgkcHJvcGVydGllcywgZm9udC1zaXplLCAkdmFsdWUpO1xuXHR9XG5cblx0Ly8gbGluZS1oZWlnaHRcblx0JGxlYWRpbmc6IGxpc3QtZ2V0KCRzcGVjcywgMik7XG5cblx0QGlmICRsZWFkaW5nIGFuZCAoJHNpemUgb3IgJGZhbGxiYWNrKSB7XG5cdFx0QGlmIG5vdCAkc2l6ZSB7XG5cdFx0XHQvLyBmYWxsYmFjayB0byBlbi1XV1xuXHRcdFx0JHNpemU6IG50aCgkZmFsbGJhY2ssIDEpO1xuXHRcdH1cblxuXHRcdCR2YWx1ZTogLXR5cG9ncmFwaHktc3BlY3MtbGluZS1oZWlnaHQoJHNpemUsICRsZWFkaW5nKTtcblx0XHQkcHJvcGVydGllczogbWFwLXNldCgkcHJvcGVydGllcywgbGluZS1oZWlnaHQsICR2YWx1ZSk7XG5cdH1cblxuXHQvLyBmb250LXdlaWdodFxuXHQkd2VpZ2h0OiBsaXN0LWdldCgkc3BlY3MsIDMpO1xuXG5cdEBpZiAkd2VpZ2h0IHtcblx0XHQkcHJvcGVydGllczogbWFwLXNldCgkcHJvcGVydGllcywgZm9udC13ZWlnaHQsICR3ZWlnaHQpO1xuXHR9XG5cblx0Ly8gbGV0dGVyLXNwYWNpbmdcblx0JHRyYWNraW5nOiBsaXN0LWdldCgkc3BlY3MsIDQpO1xuXG5cdEBpZiAkdHJhY2tpbmcge1xuXHRcdCR2YWx1ZTogdHJhY2tpbmcoJHRyYWNraW5nKTtcblx0XHQkcHJvcGVydGllczogbWFwLXNldCgkcHJvcGVydGllcywgbGV0dGVyLXNwYWNpbmcsICR2YWx1ZSk7XG5cdH1cblxuXHRAcmV0dXJuICRwcm9wZXJ0aWVzO1xufVxuXG4vLy9cbi8vLyBDYWxjdWxhdGUgYGxpbmUtaGVpZ2h0YCBmcm9tIHNpemUgYW5kIGxlYWRpbmcuXG4vLy8gQWNjb3VudHMgZm9yIHBvdGVudGlhbCByb3VuZGluZyBlcnJvcnMgaW4gU2FmYXJpLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplXG4vLy8gICBUaGUgMnggZm9udCBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlYWRpbmdcbi8vLyAgIFRoZSAyeCBsZWFkaW5nXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gLXR5cG9ncmFwaHktc3BlY3MtbGluZS1oZWlnaHQoJHNpemUsICRsZWFkaW5nKSB7XG5cdC8vIGNhbGN1bGF0ZSBsaW5lLWhlaWdodCB3aXRoIHByZWNpc2lvbiBvZiBTYXNzIG91dHB1dFxuXHQkcHJlY2lzaW9uOiAxMDAwMDA7XG5cdCRjYWxjdWxhdGVkOiByb3VuZCgkbGVhZGluZyAvICRzaXplICogJHByZWNpc2lvbikgLyAkcHJlY2lzaW9uICogJHNpemU7XG5cblx0Ly8gU2FmYXJpIGFsd2F5cyByb3VuZHMgbGluZS1oZWlnaHQgZG93blxuXHQvLyBzbyB3ZSBuZWVkIHRvIGluY3JlYXNlIHRoaXMgYSBiaXRcblx0QGlmICRjYWxjdWxhdGVkIDwgJGxlYWRpbmcge1xuXHRcdCRsZWFkaW5nOiAkbGVhZGluZyArICgkbGVhZGluZyAtICRjYWxjdWxhdGVkKSAqICRzaXplO1xuXHR9XG5cblx0QHJldHVybiAkbGVhZGluZyAvICRzaXplO1xufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQ29yZSAvIENvbG9yc1xuLy8vXG4vLy8gQGdyb3VwIGNvbG9yc1xuLy8vL1xuXG4vLy9cbi8vLyBHZXQgYSBjb2xvciB2YWx1ZSBmcm9tIGEgU3dhdGNoIG9yIENvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtTd2F0Y2h8Q29sb3J9ICRjb2xvclxuLy8vICAgQSBTd2F0Y2ggb3IgQ29sb3IuXG4vLy8gICBTdHJpbmdzIHRoYXQgY2FuIGJlIGEgU3dhdGNoIG9yIENvbG9yIChlLmcuLCBgYmx1ZWApIHdpbGwgYmUgdHJlYXRlZCBhcyBhIFN3YXRjaC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn1cbi8vLyAgIFRoZSByZXNvbHZlZCBTd2F0Y2gsIG9yIHRoZSBDb2xvclxuLy8vXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XG5cdEBpZiAtc3dhdGNoLWV4aXN0cygkY29sb3IpIHtcblx0XHRAcmV0dXJuIHN3YXRjaCgkY29sb3IpO1xuXHR9XG5cblx0QGlmIHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvciB7XG5cdFx0JHdhcm46IHdhcm4tdW5kZWZpbmVkKCRtZXNzYWdlOiAnXCIjeyRjb2xvcn1cIiBpcyBub3QgYSBzd2F0Y2ggb3IgYSB2YWxpZCBjb2xvcicpO1xuXHR9XG5cblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8vL1xuLy8vIENvbnZlcnRzIHJnYmEvaHNsYSB0byBhbiBvcGFxdWUgY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkY29sb3Jcbi8vLyAgIFRoZSBjb2xvciB0byBtYWtlIG9wYXF1ZVxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1peCBbbnVsbF1cbi8vLyAgIE9wdGlvbmFsIGNvbG9yIHRvIG1peCB3aXRoXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9XG4vLy8gICBBbiBvcGFxdWUgY29sb3Jcbi8vL1xuQGZ1bmN0aW9uIGNvbG9yLW9wYXF1ZSgkY29sb3IsICRtaXg6IG51bGwpIHtcblx0JGNvbG9yOiBjb2xvcigkY29sb3IpO1xuXHQkb3BhcXVlOiByZ2IocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSk7XG5cblx0QGlmICRtaXgge1xuXHRcdCRtaXg6IGNvbG9yKCRtaXgpO1xuXHRcdCRtaXg6IGNvbG9yLW9wYXF1ZSgkbWl4KTtcblx0XHQkd2VpZ2h0OiBwZXJjZW50YWdlKGFscGhhKCRjb2xvcikpO1xuXHRcdCRvcGFxdWU6IG1peCgkb3BhcXVlLCAkbWl4LCAkd2VpZ2h0KTtcblx0fVxuXG5cdEByZXR1cm4gJG9wYXF1ZTtcbn1cblxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdXNlIGBjb2xvci1vcGFxdWVgXG4vLy9cbi8vLyBAYWxpYXMgY29sb3Itb3BhcXVlXG4vLy9cbkBmdW5jdGlvbiBuby1hbHBoYSgkYWxwaGEsICRtaXg6IG51bGwpIHtcblx0JHdhcm46IHdhcm4tZGVwcmVjYXRlZChtaXhpbiwgbm8tYWxwaGEsIGNvbG9yLW9wYXF1ZSk7XG5cdEByZXR1cm4gY29sb3Itb3BhcXVlKCRhbHBoYSwgJG1peCk7XG59XG5cbi8vL1xuLy8vIEFkanVzdCBhIGNvbG9yJ3MgYWxwaGEgdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkY29sb3Jcbi8vLyAgIFRoZSBjb2xvciB0byBhZGp1c3Rcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIFRoZSBhbW91bnQgdG8gYWRqdXN0IGFscGhhIGJ5LlxuLy8vICAgUG9zaXRpdmUgdmFsdWVzIHJlc3VsdCBpbiBhIG1vcmUgb3BhcXVlIGNvbG9yLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfVxuLy8vICAgQSBuZXcgY29sb3Igd2l0aCBhbHBoYSBhZGp1c3RlZFxuLy8vXG5AZnVuY3Rpb24gY29sb3ItYWRqdXN0LWFscGhhKCRjb2xvciwgJHZhbHVlKSB7XG5cdCRjb2xvcjogY29sb3IoJGNvbG9yKTtcblx0QHJldHVybiBhZGp1c3QtY29sb3IoJGNvbG9yLCAkYWxwaGE6ICR2YWx1ZSk7XG59XG5cbi8vL1xuLy8vIENoYW5nZSBhIGNvbG9yJ3MgYWxwaGEgdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkY29sb3Jcbi8vLyAgIFRoZSBjb2xvciB0byBhZGp1c3Rcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIFRoZSBuZXcgYWxwaGEgdmFsdWVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn1cbi8vLyAgIEEgbmV3IGNvbG9yIHdpdGggYWxwaGEgc2V0IHRvIGAkdmFsdWVgXG4vLy9cbkBmdW5jdGlvbiBjb2xvci1zZXQtYWxwaGEoJGNvbG9yLCAkdmFsdWUpIHtcblx0JGNvbG9yOiBjb2xvcigkY29sb3IpO1xuXHRAcmV0dXJuIGNoYW5nZS1jb2xvcigkY29sb3IsICRhbHBoYTogJHZhbHVlKTtcbn1cblxuLy8vXG4vLy8gQWRkL3JlbW92ZSB3aGl0ZSBmcm9tIGEgY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkY29sb3Jcbi8vLyAgIFRoZSBjb2xvciB0byBhZGp1c3Rcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50XG4vLy8gICBUaGUgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhZGQgKHBvc2l0aXZlKSBvciByZW1vdmUgKG5lZ2F0aXZlKVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfVxuLy8vICAgQSBuZXcgY29sb3Igd2l0aCB3aGl0ZSBhZGp1c3RlZFxuLy8vXG5AZnVuY3Rpb24gY29sb3ItYWRqdXN0LXdoaXRlKCRjb2xvciwgJGFtb3VudCkge1xuXHQkY29sb3I6IGNvbG9yKCRjb2xvcik7XG5cdCRjb2xvci1taXg6IGlmKCRhbW91bnQgPCAwLCAjMDAwLCAjZmZmKTtcblxuXHRAcmV0dXJuIG1peCgkY29sb3ItbWl4LCAkY29sb3IsIGFicygkYW1vdW50KSk7XG59XG5cbi8vL1xuLy8vIEFkZC9yZW1vdmUgYmxhY2sgZnJvbSBhIGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N3YXRjaHxDb2xvcn0gJGNvbG9yXG4vLy8gICBUaGUgY29sb3IgdG8gYWRqdXN0XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudFxuLy8vICAgVGhlIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYWRkIChwb3NpdGl2ZSkgb3IgcmVtb3ZlIChuZWdhdGl2ZSlcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn1cbi8vLyAgIEEgbmV3IGNvbG9yIHdpdGggd2hpdGUgYWRqdXN0ZWRcbi8vL1xuQGZ1bmN0aW9uIGNvbG9yLWFkanVzdC1ibGFjaygkY29sb3IsICRhbW91bnQpIHtcblx0QHJldHVybiBjb2xvci1hZGp1c3Qtd2hpdGUoJGNvbG9yLCAkYW1vdW50ICogLTEpO1xufVxuXG4vLy9cbi8vLyBTZXQgYSBwcm9wZXJ0eSB0byBhIGNvbG9yIHdpdGggYW4gb3BhcXVlIGZhbGxiYWNrIGZvciBJRSA4XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBBIENTUyBwcm9wZXJ0eSAoZS5nLiwgYGNvbG9yYClcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkY29sb3Jcbi8vLyAgIEEgU3dhdGNoIG9yIENvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N3YXRjaHxDb2xvcn0gJGNvbG9yLWllOCBbJGNvbG9yXVxuLy8vICAgQSBTd2F0Y2ggb3IgQ29sb3IgZm9yIElFIDhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBjb2xvci1mb3ItY3NzLXByb3BlcnR5KGJhY2tncm91bmQtY29sb3IsIHJnYmEoc3dhdGNoKGtleWxpbmUpLCAwLjUpKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLy8gb3V0cHV0OlxuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjgsIDY4LCA2OCwgMC41KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaHRtbC5pZTggLmV4YW1wbGUge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkNmQ2O1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gY29sb3ItZm9yLWNzcy1wcm9wZXJ0eSgkcHJvcGVydHksICRjb2xvciwgJGNvbG9yLWllODogJGNvbG9yKSB7XG5cdCN7JHByb3BlcnR5fTogY29sb3IoJGNvbG9yKTtcblxuXHRAaW5jbHVkZSBpZTgge1xuXHRcdCN7JHByb3BlcnR5fTogY29sb3Itb3BhcXVlKCRjb2xvci1pZTgpO1xuXHR9XG59XG5cbi8vL1xuLy8vIFRoZSBkZWZhdWx0IHN3YXRjaCBib29rXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJHN3YXRjaC1kZWZhdWx0Ym9vazogbGlnaHQgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFRoZSBjdXJyZW50IHN3YXRjaCBib29rXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJHN3YXRjaC1ib29rOiAkc3dhdGNoLWRlZmF1bHRib29rICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTd2F0Y2ggRGljdGlvbmFyeVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TWFwfSAkbmFtZVxuLy8vICAgQSBNYXAgb2YgY29sb3JzIGJ5IGJvb2sgZm9yIHRoZSBuYW1lZCBzd2F0Y2hcbi8vL1xuLy8vIEBwcm9wIHtDb2xvcn0gJG5hbWUuJGJvb2tcbi8vLyAgIFRoZSBjb2xvciBmb3Igc3dhdGNoIGAkbmFtZWAgZm9yIHRoYXQgYm9va1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAkLXN3YXRjaGVzOiAoXG4vLy8gICAgIHN3YXRjaDE6IChcbi8vLyAgICAgICBib29rMToge0NvbG9yfSxcbi8vLyAgICAgICBib29rMjoge0NvbG9yfVxuLy8vICAgICApLFxuLy8vICAgICBzd2F0Y2gyOiB7TWFwfVxuLy8vICAgKTtcbi8vL1xuJC1zd2F0Y2hlczogKCk7XG5cbi8vL1xuLy8vIENoZWNrIGlmIGEgc3dhdGNoIGlzIGRlZmluZWRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIG5hbWUgb2YgdGhlIHN3YXRjaFxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59XG4vLy8gICBgdHJ1ZWAgaWYgdGhlIHN3YXRjaCBpcyBkZWZpbmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AZnVuY3Rpb24gLXN3YXRjaC1leGlzdHMoJG5hbWUpIHtcblx0QHJldHVybiBtYXAtaGFzLWtleSgkLXN3YXRjaGVzLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEdldCBzd2F0Y2ggZGF0YVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgc3dhdGNoXG4vLy9cbi8vLyBAcmV0dXJucyB7TWFwfVxuLy8vICAgQSBNYXAgb2YgY29sb3JzIGJ5IGJvb2ssIG9yIGBudWxsYCBpZiBub3QgZGVmaW5lZFxuLy8vXG5AZnVuY3Rpb24gLXN3YXRjaC1nZXQoJG5hbWUpIHtcblx0QGlmIC1zd2F0Y2gtZXhpc3RzKCRuYW1lKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCQtc3dhdGNoZXMsICRuYW1lKTtcblx0fVxuXG5cdEByZXR1cm4gd2Fybi11bmRlZmluZWQoc3dhdGNoLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIGEgc3dhdGNoIGlzIGRlZmluZWQgZm9yIGEgc3BlY2lmaWMgYm9va1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgc3dhdGNoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJvb2tcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBib29rXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn1cbi8vLyAgIGB0cnVlYCBpZiB0aGUgc3dhdGNoIGlzIGRlZmluZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiAtc3dhdGNoLWV4aXN0cy1mb3IoJG5hbWUsICRib29rKSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkLXN3YXRjaGVzLCAkbmFtZSkge1xuXHRcdEByZXR1cm4gbWFwLWhhcy1rZXkoLXN3YXRjaC1nZXQoJG5hbWUpLCAkYm9vayk7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cbn1cblxuLy8vXG4vLy8gR2V0IHN3YXRjaCBjb2xvciBmb3IgYSBzcGVjaWZpYyBib29rXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBzd2F0Y2hcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm9va1xuLy8vICAgVGhlIG5hbWUgb2YgdGhlIGJvb2tcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn1cbi8vLyAgIFRoZSBjb2xvciBmb3IgdGhlIHN3YXRjaCBpbiBgJGJvb2tgLCBvciBgbnVsbGAgaWYgbm90IGRlZmluZWRcbi8vL1xuQGZ1bmN0aW9uIC1zd2F0Y2gtZ2V0LWZvcigkbmFtZSwgJGJvb2spIHtcblx0QGlmIC1zd2F0Y2gtZXhpc3RzLWZvcigkbmFtZSwgJGJvb2spIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQoLXN3YXRjaC1nZXQoJG5hbWUpLCAkYm9vayk7XG5cdH1cblxuXHRAcmV0dXJuIG51bGxcbn1cblxuLy8vXG4vLy8gR2V0IHN3YXRjaCBjb2xvciBmb3IgYSBzcGVjaWZpYyBib29rXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBzd2F0Y2hcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm9vayBbJHN3YXRjaC1ib29rXVxuLy8vICAgVGhlIG5hbWUgb2YgdGhlIGJvb2tcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn1cbi8vLyAgIFRoZSBjb2xvciBmb3IgdGhlIHN3YXRjaCBpbiBgJGJvb2tgLCBvciBgbnVsbGAgaWYgbm90IGRlZmluZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLm1vZHVsZSB7XG4vLy8gICAgIGNvbG9yOiBzd2F0Y2goYmx1ZSk7IC8vICMwOGNcbi8vLyAgICAgY29sb3I6IHN3YXRjaChibHVlLCBkYXJrKTsgLy8gIzVjYzNmNlxuLy8vICAgfVxuLy8vXG5AZnVuY3Rpb24gc3dhdGNoKCRuYW1lLCAkYm9vazogJHN3YXRjaC1ib29rKSB7XG5cdEBpZiAtc3dhdGNoLWV4aXN0cygkbmFtZSkge1xuXHRcdEBpZiBpbmRleCgkLXN3YXRjaGVzLWRlcHJlY2F0ZWQsICRuYW1lKSB7XG5cdFx0XHQkd2Fybjogd2Fybi1kZXByZWNhdGVkKHN3YXRjaCwgJG5hbWUpO1xuXHRcdH1cblxuXHRcdEBpZiAtc3dhdGNoLWV4aXN0cy1mb3IoJG5hbWUsICRib29rKSB7XG5cdFx0XHRAcmV0dXJuIC1zd2F0Y2gtZ2V0LWZvcigkbmFtZSwgJGJvb2spO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QHJldHVybiAtc3dhdGNoLWdldC1mb3IoJG5hbWUsICRzd2F0Y2gtZGVmYXVsdGJvb2spO1xuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gd2Fybi11bmRlZmluZWQoc3dhdGNoLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEFkZCBhIHN3YXRjaCBmb3IgYSBzcGVjaWZpYyBib29rXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBzd2F0Y2hcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vICAgVGhlIGNvbG9yIG9mIHRoZSBzd2F0Y2hcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm9vayBbJHN3YXRjaC1ib29rZGVmYXVsdF1cbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBib29rXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkZWZhdWx0IFtmYWxzZV1cbi8vLyAgIFRyZWF0IGxpa2UgYSBgIWRlZmF1bHRgIGRlZmluaXRpb25cbi8vL1xuLy8vIEByZXR1cm5zIHtNYXB9XG4vLy8gICBUaGUgbW9kaWZpZWQgU3dhdGNoIERpY3Rpb25hcnlcbi8vL1xuQGZ1bmN0aW9uIC1zd2F0Y2gtYWRkLXRvLWJvb2soJG5hbWUsICRjb2xvciwgJGJvb2s6ICRzd2F0Y2gtYm9va2RlZmF1bHQsICRkZWZhdWx0OiBmYWxzZSkge1xuXG5cdCRib29rcy1pbi1uYW1lOiAoKTtcblxuXHQvLyBDaGVjayBmb3IgZXhpc3Rpbmcgc3dhdGNoIGRlZmluaXRpb25zXG5cdEBpZiAtc3dhdGNoLWV4aXN0cygkbmFtZSkgIT0gZmFsc2Uge1xuXHRcdCRib29rcy1pbi1uYW1lOiAtc3dhdGNoLWdldCgkbmFtZSk7XG5cdH1cblxuXHRAaWYgJGRlZmF1bHQgPT0gZmFsc2Ugb3IgLXN3YXRjaC1leGlzdHMtZm9yKCRuYW1lLCAkYm9vaykgPT0gZmFsc2Uge1xuXG5cdFx0Ly8gU2V0IGJvb2sgc3R5bGVzIGZvciBib29rIGluIHRoZSBzdHlsZSBkZWZpbml0aW9uXG5cdFx0JGJvb2tzLWluLW5hbWU6IG1hcC1zZXQoJGJvb2tzLWluLW5hbWUsICRib29rLCAkY29sb3IpO1xuXG5cdFx0Ly8gQWRkIG5ldyBjb2xvciBkZWZpdGlvbiB0byBkaWN0aW9uYXJ5IGJ5IG5hbWVcblx0XHQkLXN3YXRjaGVzOiBtYXAtc2V0KCQtc3dhdGNoZXMsICRuYW1lLCAkYm9va3MtaW4tbmFtZSkgIWdsb2JhbDtcblx0fVxuXG5cdEByZXR1cm4gJC1zd2F0Y2hlcztcblxufVxuXG4vLy9cbi8vLyBBZGQgb3IgY2hhbmdlIGEgc3dhdGNoIGZvciBvbmUgb3IgbW9yZSBib29rc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgbmFtZSBvZiB0aGUgc3dhdGNoXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGJvb2tzXG4vLy8gICBBIG1hcCBvZiBjb2xvcnMgYnkgYm9va1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGVmYXVsdCBbZmFsc2VdXG4vLy8gICBUcmVhdCBsaWtlIGEgYCFkZWZhdWx0YCBkZWZpbml0aW9uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIEBpbmNsdWRlIHN3YXRjaC1zZXQoc3dhdGNobmFtZSwgKFxuLy8vICAgICBib29rMToge0NvbG9yfSxcbi8vLyAgICAgYm9vazI6IHtDb2xvcn1cbi8vLyAgICkpO1xuLy8vXG5AbWl4aW4gc3dhdGNoLXNldCgkbmFtZSwgJGJvb2tzLCAkZGVmYXVsdDogZmFsc2UpIHtcblx0QGVhY2ggJGJvb2ssICRjb2xvciBpbiAkYm9va3Mge1xuXHRcdCQtc3dhdGNoZXM6IC1zd2F0Y2gtYWRkLXRvLWJvb2soJG5hbWUsICRjb2xvciwgJGJvb2ssICRkZWZhdWx0KSAhZ2xvYmFsO1xuXHR9XG59XG5cbi8vL1xuLy8vIEFkZCBvciBjaGFuZ2Ugb25lIG9yIG1vcmUgc3dhdGNoZXMgaW4gYSBzcGVjaWZpYyBib29rXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJvb2tcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBib29rXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHN3YXRjaGVzXG4vLy8gICBBIG1hcCBvZiBjb2xvcnMgYnkgc3dhdGNoIG5hbWVcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRlZmF1bHQgW2ZhbHNlXVxuLy8vICAgVHJlYXQgbGlrZSBhIGAhZGVmYXVsdGAgZGVmaW5pdGlvblxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy9cdFx0QGluY2x1ZGUgc3dhdGNoLWJvb2stc2V0KGJvb2tuYW1lLCAoXG4vLy9cdFx0XHRzd2F0Y2gxOiB7Q29sb3J9LFxuLy8vXHRcdFx0c3dhdGNoMjoge0NvbG9yfVxuLy8vXHRcdCkpO1xuLy8vXG5AbWl4aW4gc3dhdGNoLWJvb2stc2V0KCRib29rLCAkc3dhdGNoZXMsICRkZWZhdWx0OiBmYWxzZSkge1xuXHRAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRzd2F0Y2hlcyB7XG5cdFx0JC1zd2F0Y2hlczogLXN3YXRjaC1hZGQtdG8tYm9vaygkbmFtZSwgJGNvbG9yLCAkYm9vaywgJGRlZmF1bHQpICFnbG9iYWw7XG5cdH1cbn1cblxuLy8vXG4vLy8gRGVwcmVjYXRlZCBTd2F0Y2ggbmFtZXNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuJC1zd2F0Y2hlcy1kZXByZWNhdGVkOiAoaG9saWRheXJlZCwgZ3JhcGhncmF5LCBncmFwaG9yYW5nZSk7XG5cbi8vL1xuLy8vIERlZmF1bHQgU3dhdGNoZXNcbi8vL1xuQGluY2x1ZGUgc3dhdGNoLWJvb2stc2V0KGxpZ2h0LCAoXG5cdHBhZ2U6IHJnYigyNTUsIDI1NSwgMjU1KSxcblx0dGl0bGU6IHJnYig1MSwgNTEsIDUxKSxcblx0Y29weTogcmdiKDUxLCA1MSwgNTEpLFxuXHRjYXB0aW9uOiByZ2IoMTAyLCAxMDIsIDEwMiksXG5cdHNtYWxsY3RhOiByZ2IoMTAyLCAxMDIsIDEwMiksXG5cdHNtYWxsOiByZ2IoMTUzLCAxNTMsIDE1MyksXG5cdGljb246IHJnYigxMzYsIDEzNiwgMTM2KSxcblx0YmFja2dyb3VuZDogcmdiKDI1MCwgMjUwLCAyNTApLFxuXHRiYWNrZ3JvdW5kZm9vdGVyOiByZ2IoMjQyLCAyNDIsIDI0MiksXG5cdGJhY2tncm91bmRpbWFnZTogcmdiKDIwNCwgMjA0LCAyMDQpLFxuXHRmcmFtaW5nOiByZ2IoMjI3LCAyMjcsIDIyNyksXG5cdGtleWxpbmU6IHJnYigyMTQsIDIxNCwgMjE0KSxcblx0Ymx1ZTogcmdiKDAsIDExMiwgMjAxKSxcblx0Jy1ibHVlJzogcmdiKDAsIDExMiwgMjAxKSwgLy8gQGRlcHJlY2F0ZWRcblx0b3JhbmdlOiByZ2IoMjQ0LCAxMDgsIDE0KSxcblx0aG9saWRheXJlZDogcmdiKDIwNCwgMCwgMCksIC8vIEBkZXByZWNhdGVkXG5cdGNyZWFtOiByZ2IoMjQ2LCAyNDYsIDIzOCksXG5cdHNlYWdyZWVuOiByZ2IoMTE4LCAyMDIsIDE4MCksXG5cdHRlYWw6IHJnYig4NCwgMTQwLCAxNDApLFxuXHRkZWVwdGVhbDogcmdiKDU5LCA5NSwgOTgpLFxuXHR3aGVhdDogcmdiKDE3NSwgMTQ3LCA4KSxcblx0a2VsbHlncmVlbjogcmdiKDEyMSwgMTYyLCAyOCksXG5cdGdyZWVuOiByZ2IoMTIwLCAxNjAsIDk3KSxcblx0Z3JhcGhvcmFuZ2U6IHJnYigyNDQsIDEwOCwgMTQpLCAvLyBAZGVwcmVjYXRlZFxuXHRncmFwaGdyYXk6IHJnYigxNTMsIDE1MywgMTUzKSwgLy8gQGRlcHJlY2F0ZWRcblx0Z3JhZGllbnQtdGVhbGdyZWVuLXN0YXJ0OiByZ2IoNDksIDIwNiwgMTk3KSxcblx0Z3JhZGllbnQtdGVhbGdyZWVuLWVuZDogcmdiKDQwLCAxNjMsIDYzKSxcblx0Zm9ybWVycm9yOiByZ2IoMjM4LCAwLCAwKSxcblx0Zm9ybXZhbGlkOiByZ2IoNTEsIDE1MywgMCksXG5cdGZvcm1pY29uOiByZ2IoMTg0LCAxODQsIDE4NCksXG5cdHByb2R1Y3RyZWQ6IHJnYigxNzUsIDMwLCA0NSksXG5cdGdvbGQ6IHJnYigxNjQsIDE0MiwgMTE3KSxcbiBcdHJvc2Vnb2xkOiByZ2IoMTg5LCAxMzEsIDEyNSlcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuQGluY2x1ZGUgc3dhdGNoLWJvb2stc2V0KGRhcmssIChcblx0cGFnZTogcmdiKDAsIDAsIDApLFxuXHR0aXRsZTogcmdiKDI1NSwgMjU1LCAyNTUpLFxuXHRjb3B5OiByZ2IoMjA0LCAyMDQsIDIwNCksXG5cdGNhcHRpb246IHJnYigxNTMsIDE1MywgMTUzKSxcblx0c21hbGxjdGE6IHJnYigxNTMsIDE1MywgMTUzKSxcblx0c21hbGw6IHJnYigxMDIsIDEwMiwgMTAyKSxcblx0aWNvbjogcmdiKDE1MywgMTUzLCAxNTMpLFxuXHRiYWNrZ3JvdW5kOiByZ2IoMTcsIDE3LCAxNyksXG5cdGJhY2tncm91bmRmb290ZXI6IHJnYigzNCwgMzQsIDM0KSxcblx0YmFja2dyb3VuZGltYWdlOiByZ2IoNTEsIDUxLCA1MSksXG5cdGZyYW1pbmc6IHJnYig1MSwgNTEsIDUxKSxcblx0a2V5bGluZTogcmdiKDY4LCA2OCwgNjgpLFxuXHRibHVlOiByZ2IoMTAyLCAxODcsIDI1NSksXG5cdCctYmx1ZSc6IHJnYigxMDIsIDE4NywgMjU1KSwgLy8gQGRlcHJlY2F0ZWRcblx0Z3JhcGhncmF5OiByZ2IoMTAyLCAxMDIsIDEwMiksXG5cdGZvcm1lcnJvcjogcmdiKDI1NSwgNTEsIDUxKSxcblx0Zm9ybWljb246IHJnYig4NSwgODUsIDg1KSxcblx0Z29sZDogcmdiKDE4MiwgMTYxLCAxMzgpLFxuIFx0cm9zZWdvbGQ6IHJnYigyMDIsIDE2MCwgMTU1KVxuKSwgJGRlZmF1bHQ6IHRydWUpO1xuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQ29yZSAvIExvY2FsZVxuLy8vXG4vLy8gMS4gbXVzdCBjb21lIGFmdGVyIGBsb2NhbGUtZGlyZWN0aW9uKClgIGlzIGRlZmluZWRcbi8vL1xuLy8vIEBncm91cCBsb2NhbGVcbi8vLy9cblxuLy8vXG4vLy8gVGhlIHRhcmdldCBlbGVtZW50L3NlbGVjdG9yIGZvciBsb2NhbGUtYmFzZWQgc2VsZWN0b3JzXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy9cbiRsb2NhbGUtdGFyZ2V0OiBodG1sICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBUaGUgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGAsIG9yXG4vLy8gYGZhbHNlYCB0byBvdXRwdXQgc3R5bGVzIGZvciBhbGwgbG9jYWxlcy5cbi8vL1xuLy8vIGBlbi1XV2AgaXMgYWx3YXlzIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmcgfCBCb29sZWFuXG4vLy9cbiRsb2NhbGU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBSaWdodC10by1sZWZ0IGxhbmd1YWdlc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4kLXJ0bC1sYW5ndWFnZXM6IChhcik7XG5cbi8vL1xuLy8vIEdldCB0aGUgbGFuZ3VhZ2UgcGFydCBvZiBhIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gWyRsb2NhbGVdXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfEJvb2xlYW59XG4vLy8gICBUaGUgMi1jaGFyYWN0ZXIgbGFuZ3VhZ2UgY29kZSwgb3IgYGZhbHNlYCBpZiBubyBsb2NhbGUgaXMgc2V0XG4vLy9cbkBmdW5jdGlvbiBsb2NhbGUtbGFuZ3VhZ2UoJGlzbzogJGxvY2FsZSkge1xuXHRAaWYgJGlzbyA9PSBmYWxzZSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEByZXR1cm4gc3RyLXNsaWNlKCRpc28sIDEsIDIpO1xufVxuXG4vLy9cbi8vLyBHZXQgdGhlIGNvdW50cnkgcGFydCBvZiBhIGxvY2FsZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpc28gWyRsb2NhbGVdXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfEJvb2xlYW59XG4vLy8gICBUaGUgMi1jaGFyYWN0ZXIgY291bnRyeSBjb2RlLCBvciBgZmFsc2VgIGlmIG5vIGxvY2FsZSBpcyBzZXRcbi8vL1xuQGZ1bmN0aW9uIGxvY2FsZS1jb3VudHJ5KCRpc286ICRsb2NhbGUpIHtcblx0QGlmICRpc28gPT0gZmFsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRAcmV0dXJuIHN0ci1zbGljZSgkaXNvLCAtMik7XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgdGV4dCBkaXJlY3Rpb24gZm9yIGEgbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzbyBbJGxvY2FsZV1cbi8vLyAgIEEgbG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd8Qm9vbGVhbn1cbi8vLyAgIGBsdHJgLCBgcnRsYCwgb3IgYGZhbHNlYCBpZiBubyBsb2NhbGUgaXMgc2V0XG4vLy9cbkBmdW5jdGlvbiBsb2NhbGUtZGlyZWN0aW9uKCRpc286ICRsb2NhbGUpIHtcblx0QGlmICRpc28gPT0gZmFsc2Uge1xuXHRcdEByZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRAaWYgaW5kZXgoJC1ydGwtbGFuZ3VhZ2VzLCBsb2NhbGUtbGFuZ3VhZ2UoJGlzbykpIHtcblx0XHRAcmV0dXJuIHJ0bDtcblx0fVxuXG5cdEByZXR1cm4gbHRyO1xufVxuXG4vLy9cbi8vLyBUaGUgZGlyZWN0aW9uIHRvIG91dHB1dCBzdHlsZXMgZm9yOlxuLy8vIGBsdHJgLCBgcnRsYCwgb3IgYGZhbHNlYCBmb3IgYm90aFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nIHwgQm9vbGVhblxuLy8vXG4kZGlyZWN0aW9uOiBsb2NhbGUtZGlyZWN0aW9uKCkgIWRlZmF1bHQ7IC8vIDFcblxuLy8vXG4vLy8gTm9ybWFsaXplIGEgbG9jYWxlJ3MgSVNPIGNvZGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuLy8vICAgTG9jYWxlIGluIHRoZSBmb3JtIG9mIGB4eC1YWGBcbi8vL1xuQGZ1bmN0aW9uIGxvY2FsZS1ub3JtYWxpemUoJGlzbykge1xuXHQkaXNvOiB0by1sb3dlci1jYXNlKHN0ci1yZXBsYWNlKCRpc28sICdfJywgJy0nKSk7XG5cblx0QGlmICRpc28gPT0gZGVmYXVsdCB7XG5cdFx0QHJldHVybiBlbi1XVztcblx0fVxuXG5cdCRkYXNoOiBzdHItaW5kZXgoJGlzbywgJy0nKTtcblxuXHRAaWYgJGRhc2gge1xuXHRcdCRpc286IHN0ci1zbGljZSgkaXNvLCAxLCAkZGFzaCAtIDEpICsgJy0nICsgdG8tdXBwZXItY2FzZShzdHItc2xpY2UoJGlzbywgJGRhc2ggKyAxKSk7XG5cdH1cblxuXHRAcmV0dXJuICRpc287XG59XG5cbi8vL1xuLy8vIERldGVybWluZSB3aGV0aGVyIGEgbG9jYWxlIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LlxuLy8vXG4vLy8gQHNlZSAkbG9jYWxlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzb1xuLy8vICAgQSBsb2NhbGUgaW4gdGhlIGZvcm0gb2YgYHh4LVhYYFxuLy8vXG5AZnVuY3Rpb24gLWxvY2FsZS1ndWFyZCgkaXNvKSB7XG5cdEBpZiBub3QgJGxvY2FsZSB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9XG5cblx0JGlzbzogbG9jYWxlLW5vcm1hbGl6ZSgkaXNvKTtcblx0JGlzby1jdXJyZW50OiBsb2NhbGUtbm9ybWFsaXplKCRsb2NhbGUpO1xuXG5cdEByZXR1cm5cblx0XHQoJGlzbyA9PSAkaXNvLWN1cnJlbnQpIG9yXG5cdFx0KCRpc28gPT0gbG9jYWxlLWxhbmd1YWdlKCRpc28tY3VycmVudCkpIG9yXG5cdFx0KCRpc28gPT0gJyotJyArIGxvY2FsZS1jb3VudHJ5KCRpc28tY3VycmVudCkpO1xufVxuXG4vLy9cbi8vLyBBZGQgYSBsb2NhbGUtc3BlY2lmaWMgc2VsZWN0b3IgdXNpbmcgdGhlIGA6bGFuZ2AgcHNldWRvLWNsYXNzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGlzby4uLlxuLy8vICAgT25lIG9yIG1vcmUgbG9jYWxlcyBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgLlxuLy8vICAgYHh4YCBjYW4gYmUgdXNlZCB0byBtYXRjaCBhIGxhbmd1YWdlIGluIGFueSBjb3VudHJ5LlxuLy8vICAgYCotWFhgIGNhbiBiZSB1c2VkIHRvIG1hdGNoIGEgY291bnRyeSBpbiBhbnkgbGFuZ3VhZ2UuXG4vLy9cbkBtaXhpbiBsb2NhbGUoJGlzby4uLikge1xuXHQkc2VsZWN0b3I6ICcnO1xuXG5cdEBlYWNoICRjb2RlIGluICRpc28ge1xuXHRcdCRjb2RlOiBsb2NhbGUtbm9ybWFsaXplKCRjb2RlKTtcblxuXHRcdEBpZiAkY29kZSA9PSBlbi1XVyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9IEBlbHNlIGlmIC1sb2NhbGUtZ3VhcmQoJGNvZGUpIHtcblx0XHRcdEBpZiAkc2VsZWN0b3IgIT0gJycge1xuXHRcdFx0XHQkc2VsZWN0b3I6ICRzZWxlY3RvciArICcsICc7XG5cdFx0XHR9XG5cblx0XHRcdEBpZiBzdHItaW5kZXgoJGNvZGUsICcqJykge1xuXHRcdFx0XHQvLyBgKi1YWGAgbmVlZHMgcXVvdGVzXG5cdFx0XHRcdCRjb2RlOiBcIicjeyRjb2RlfSdcIjtcblx0XHRcdH1cblxuXHRcdFx0JHNlbGVjdG9yOiAkc2VsZWN0b3IgKyAnJjpsYW5nKCN7JGNvZGV9KSc7XG5cdFx0fVxuXHR9XG5cblx0QGlmICRzZWxlY3RvciAhPSAnJyB7XG5cdFx0I3skc2VsZWN0b3J9IHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBHZXQgYW4gaXRlbSBmcm9tIGEgbWFwIGJ5IGxvY2FsZSBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwXG4vLy8gICBBIG1hcCB3aXRoIGtleXMgaW4gdGhlIGZvcm0gb2Zcbi8vLyAgIGB4eC1YWGAgKHNwZWNpZmljIGxhbmd1YWdlIGFuZCBjb3VudHJ5KSxcbi8vLyAgIGB4eGAgKHNwZWNpZmljIGxhbmd1YWdlLCBhbnkgY291bnRyeSksIG9yXG4vLy8gICBgKi1YWGAgKHNwZWNpZmljIGNvdW50cnksIGFueSBsYW5ndWFnZSlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaXNvXG4vLy8gICBBIGxvY2FsZSBpbiB0aGUgZm9ybSBvZiBgeHgtWFhgLCBgeHhgLCBvciBgKi1YWGBcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW5oZXJpdCBbdHJ1ZV1cbi8vLyAgIFdoZXRoZXIgb3Igbm90IGBlbi1XV2Agc2hvdWxkIGJlIGNoZWNrZWQgYXMgYSBmaW5hbCBmYWxsYmFja1xuLy8vXG4vLy8gQHJldHVybnMgeyp9XG4vLy8gICBUaGUgbWFwIGl0ZW0gYXQgYSBrZXkgbWF0Y2hpbmcsIGluIG9yZGVyLFxuLy8vICAgMS4gdGhlIGZ1bGwgYCRpc29gXG4vLy8gICAyLiB0aGUgbGFuZ3VhZ2UgZnJvbSBgJGlzb2Bcbi8vLyAgIDMuIHRoZSBjb3VudHJ5IGZyb20gYCRpc29gXG4vLy8gICA0LiBgZW4tV1dgLCBpZiBgJGluaGVyaXQgPT0gdHJ1ZWBcbi8vL1xuQGZ1bmN0aW9uIGxvY2FsZS1tYXAtZ2V0KCRtYXAsICRpc28sICRpbmhlcml0OiB0cnVlKSB7XG4gICAgJGlzbzogbG9jYWxlLW5vcm1hbGl6ZSgkaXNvKTtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAkaXNvKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkaXNvKTtcbiAgICB9XG5cbiAgICAkbGFuZ3VhZ2U6IGxvY2FsZS1sYW5ndWFnZSgkaXNvKTtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAkbGFuZ3VhZ2UpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRsYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgJGNvdW50cnk6ICcqLScgKyBsb2NhbGUtY291bnRyeSgkaXNvKTtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAkY291bnRyeSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGNvdW50cnkpO1xuICAgIH1cblxuICAgIEBpZiAkaW5oZXJpdCBhbmQgbWFwLWhhcy1rZXkoJG1hcCwgZW4tV1cpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIGVuLVdXKVxuICAgIH1cblxuICAgIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBjdXJyZW50IGRlZmF1bHQgZGlyZWN0aW9uIGtleXdvcmRcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBgcnRsYCBpZiBgJGRpcmVjdGlvbmAgaXMgZXhwbGljaXRseSBzZXQgdG8gYHJ0bGAsIGBvdGhlcndpc2UgYGx0cmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBkaXJlY3Rpb246IGRpcmVjdGlvbigpO1xuLy8vICAgfVxuLy8vXG5AZnVuY3Rpb24gZGlyZWN0aW9uKCkge1xuXHRAcmV0dXJuIGlmKCRkaXJlY3Rpb24gPT0gcnRsLCBydGwsIGx0cik7XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgb3Bwb3NpdGUgb2YgdGhlIGN1cnJlbnQgZGVmYXVsdCBkaXJlY3Rpb25cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBgbHRyYCBpZiBgJGRpcmVjdGlvbmAgaXMgZXhwbGljaXRseSBzZXQgdG8gYHJ0bGAsIGBvdGhlcndpc2UgYHJ0bGBcbi8vL1xuQGZ1bmN0aW9uIGRpcmVjdGlvbi1yZXZlcnNlZCgpIHtcblx0QHJldHVybiBrZXl3b3JkLXJldmVyc2VkKGRpcmVjdGlvbigpKTtcbn1cblxuLy8vXG4vLy8gQWRkIHJpZ2h0LXRvLWxlZnQgc2VsZWN0b3Igb24gdGhlIGBkaXJgIGF0dHJpYnV0ZS5cbi8vL1xuLy8vIE5vdGU6IGBpbmxpbmUtKmAgbWV0aG9kcyBhcmUgdGhlIHByZWZlcmVkIG1ldGhvZCBmb3IgaGFuZGxpbmcgcmlnaHQtdG8tbGVmdC5cbi8vL1xuQG1peGluIHJ0bCgpIHtcblx0QGlmICRkaXJlY3Rpb24gPT0gZmFsc2Ugb3IgJGRpcmVjdGlvbiA9PSBydGwge1xuXHRcdEBpbmNsdWRlIHNlbGVjdG9yLXVuaWZ5LXRhcmdldCgkbG9jYWxlLXRhcmdldCwgJ1tkaXI9cnRsXScpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBHZXQgdGhlIHBoeXNpY2FsIGtleXdvcmQgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHN0YXJ0XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5mbG9hdC1leGFtcGxlIHtcbi8vLyAgICAgZmxvYXQ6IGlubGluZS1zdGFydCgpO1xuLy8vICAgICAvLyBmbG9hdDogbGVmdDsgKGx0cilcbi8vLyAgICAgLy8gZmxvYXQ6IHJpZ2h0OyAocnRsKVxuLy8vICAgfVxuLy8vXG5AZnVuY3Rpb24gaW5saW5lLXN0YXJ0KCkge1xuXHRAcmV0dXJuIGlmKCRkaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgcGh5c2ljYWwga2V5d29yZCBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5mbG9hdC1leGFtcGxlIHtcbi8vLyAgICAgZmxvYXQ6IGlubGluZS1lbmQoKTtcbi8vLyAgICAgLy8gZmxvYXQ6IHJpZ2h0OyAobHRyKVxuLy8vICAgICAvLyBmbG9hdDogbGVmdDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQGZ1bmN0aW9uIGlubGluZS1lbmQoKSB7XG5cdEByZXR1cm4gaWYoJGRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHBlcmNlbnRhZ2UgKGAwJWAgZm9yIGxlZnQsIGAxMDAlYCBmb3IgcmlnaHQpXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy8gICBBIHBlcmNlbnRhZ2UgKGUuZy4sIGAxMCVgKSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gYmUgY29udmVydGVkIHRvIGEgcGVyY2VudGFnZSAoZS5nLiBgMC4xYClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmxpbmUtcGVyY2VudGFnZSgxMCUpIDUwJTtcbi8vLyAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDUwJTsgKGx0cilcbi8vLyAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJTsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQGZ1bmN0aW9uIGlubGluZS1wZXJjZW50YWdlKCR2YWx1ZSkge1xuXHRAaWYgdW5pdGxlc3MoJHZhbHVlKSB7XG5cdFx0JHZhbHVlOiBwZXJjZW50YWdlKCR2YWx1ZSk7XG5cdH1cblxuXHRAaWYgJGRpcmVjdGlvbiA9PSBydGwge1xuXHRcdCR2YWx1ZTogMTAwJSAtICR2YWx1ZTtcblx0fVxuXG5cdEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIG1hcmdpbiBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBtYXJnaW4tbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lLXN0YXJ0KDEwcHgpO1xuLy8vICAgICAvLyBtYXJnaW4tbGVmdDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4OyAocnRsKVxuLy8vICAgfVxuLy8vXG5AbWl4aW4gbWFyZ2luLWlubGluZS1zdGFydCgkdmFsdWUpIHtcblx0bWFyZ2luLSN7aW5saW5lLXN0YXJ0KCl9OiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgbWFyZ2luIGZvciB0aGUgZGlyZWN0aW9uLWRlcGVuZGVudCBlbmRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBtYXJnaW4tbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4taW5saW5lLWVuZCgxMHB4KTtcbi8vLyAgICAgLy8gbWFyZ2luLXJpZ2h0OiAxMHB4OyAobHRyKVxuLy8vICAgICAvLyBtYXJnaW4tbGVmdDogMTBweDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQG1peGluIG1hcmdpbi1pbmxpbmUtZW5kKCR2YWx1ZSkge1xuXHRtYXJnaW4tI3tpbmxpbmUtZW5kKCl9OiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgcGFkZGluZyBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gJHZhbHVlXG4vLy8gICBBbnkgdmFsaWQgdmFsdWUgZm9yIGBwYWRkaW5nLWxlZnQvcmlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZy1pbmxpbmUtc3RhcnQoMTBweCk7XG4vLy8gICAgIC8vIHBhZGRpbmctbGVmdDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gcGFkZGluZy1yaWdodDogMTBweDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQG1peGluIHBhZGRpbmctaW5saW5lLXN0YXJ0KCR2YWx1ZSkge1xuXHRwYWRkaW5nLSN7aW5saW5lLXN0YXJ0KCl9OiAjeyR2YWx1ZX07XG59XG5cbi8vL1xuLy8vIFNldCB0aGUgcGFkZGluZyBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgcGFkZGluZy1sZWZ0L3JpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmctaW5saW5lLWVuZCgxMHB4KTtcbi8vLyAgICAgLy8gcGFkZGluZy1yaWdodDogMTBweDsgKGx0cilcbi8vLyAgICAgLy8gcGFkZGluZy1sZWZ0OiAxMHB4OyAocnRsKVxuLy8vICAgfVxuLy8vXG5AbWl4aW4gcGFkZGluZy1pbmxpbmUtZW5kKCR2YWx1ZSkge1xuXHRwYWRkaW5nLSN7aW5saW5lLWVuZCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGxlZnQvcmlnaHQgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHN0YXJ0XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxTdHJpbmd9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgbGVmdC9yaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbi1pbmxpbmUtc3RhcnQoMTBweCk7XG4vLy8gICAgIC8vIGxlZnQ6IDEwcHg7IChsdHIpXG4vLy8gICAgIC8vIHJpZ2h0OiAxMHB4OyAocnRsKVxuLy8vICAgfVxuLy8vXG5AbWl4aW4gcG9zaXRpb24taW5saW5lLXN0YXJ0KCR2YWx1ZSkge1xuXHQje2lubGluZS1zdGFydCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGxlZnQvcmlnaHQgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGxlZnQvcmlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24taW5saW5lLWVuZCgxMHB4KTtcbi8vLyAgICAgLy8gcmlnaHQ6IDEwcHg7IChsdHIpXG4vLy8gICAgIC8vIGxlZnQ6IDEwcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBwb3NpdGlvbi1pbmxpbmUtZW5kKCR2YWx1ZSkge1xuXHQje2lubGluZS1lbmQoKX06ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXIgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IHN0YXJ0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1zdGFydCgxcHggc29saWQgIzAwMCk7XG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQG1peGluIGJvcmRlci1pbmxpbmUtc3RhcnQoJHZhbHVlKSB7XG5cdGJvcmRlci0je2lubGluZS1zdGFydCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlciBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgZW5kXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHRgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1lbmQoMXB4IHNvbGlkICMwMDApO1xuLy8vICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLWVuZCgkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLWVuZCgpfTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlci13aWR0aCBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0LXdpZHRoYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGgoMXB4KTtcbi8vLyAgICAgLy8gYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoKCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtc3RhcnQoKX0td2lkdGg6ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXItd2lkdGggZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHQtd2lkdGhgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1lbmQtd2lkdGgoMXB4KTtcbi8vLyAgICAgLy8gYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLWVuZC13aWR0aCgkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLWVuZCgpfS13aWR0aDogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlci1zdHlsZSBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0LXN0eWxlYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGUoc29saWQpO1xuLy8vICAgICAvLyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLXN0YXJ0LXN0eWxlKCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtc3RhcnQoKX0tc3R5bGU6ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXItc3R5bGUgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHQtc3R5bGVgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1lbmQtc3R5bGUoc29saWQpO1xuLy8vICAgICAvLyBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLWVuZC1zdHlsZSgkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLWVuZCgpfS1zdHlsZTogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBTZXQgdGhlIGJvcmRlci1jb2xvciBmb3IgdGhlIGRpcmVjdGlvbi1kZXBlbmRlbnQgc3RhcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vLyAgIEFueSB2YWxpZCB2YWx1ZSBmb3IgYGJvcmRlci1sZWZ0L3JpZ2h0LWNvbG9yYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZXhhbXBsZSB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3IoIzAwMCk7XG4vLy8gICAgIC8vIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yKCR2YWx1ZSkge1xuXHRib3JkZXItI3tpbmxpbmUtc3RhcnQoKX0tY29sb3I6ICN7JHZhbHVlfTtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSBib3JkZXItY29sb3IgZm9yIHRoZSBkaXJlY3Rpb24tZGVwZW5kZW50IGVuZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHZhbHVlIGZvciBgYm9yZGVyLWxlZnQvcmlnaHQtY29sb3JgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWlubGluZS1lbmQtY29sb3IoIzAwMCk7XG4vLy8gICAgIC8vIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IChydGwpXG4vLy8gICB9XG4vLy9cbkBtaXhpbiBib3JkZXItaW5saW5lLWVuZC1jb2xvcigkdmFsdWUpIHtcblx0Ym9yZGVyLSN7aW5saW5lLWVuZCgpfS1jb2xvcjogI3skdmFsdWV9O1xufVxuXG4vLy9cbi8vLyBHZXQgYSBkaXJlY3Rpb25hbCBzaG9ydGhhbmQgbGlzdCB3aXRoIGxlZnQvcmlnaHQgdmFsdWVzIHN3aXRjaGVkIGZvciByaWdodC10by1sZWZ0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZVxuLy8vICAgQW55IHZhbGlkIHNob3J0aGFuZCB2YWx1ZSBmb3IgYG1hcmdpbmAsIGBwYWRkaW5nYCxcbi8vLyAgIGBib3JkZXItY29sb3JgLCBgYm9yZGVyLXN0eWxlYCwgb3IgYGJvcmRlci13aWR0aGBcbi8vLyAgIHdpdGggdGhlIGNvbW1vbiBmb3VyIGFyZ3VtZW50IG9yZGVyaW5nIG9mOlxuLy8vICAgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0XG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfExpc3R9XG4vLy8gICBWYWxpZCBzaG9ydGhhbmQgdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUtbWFyZ2luIHtcbi8vLyAgICAgbWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgxcHggMnB4IDNweCA0cHgpO1xuLy8vICAgICAvLyBtYXJnaW46IDFweCAycHggM3B4IDRweDsgKGx0cilcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHggNHB4IDNweCAycHg7IChydGwpXG4vLy9cbi8vLyAgICAgbWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgxcHggMnB4IDNweCk7XG4vLy8gICAgIC8vIG1hcmdpbjogMXB4IDJweCAzcHg7IChsdHIpXG4vLy8gICAgIC8vIG1hcmdpbjogMXB4IDJweCAzcHg7IChydGwpXG4vLy9cbi8vLyAgICAgbWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgxcHggMnB4KTtcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHggMnB4OyAobHRyKVxuLy8vICAgICAvLyBtYXJnaW46IDFweCAycHg7IChydGwpXG4vLy9cbi8vLyAgICAgbWFyZ2luOiBsb2dpY2FsLXNob3J0aGFuZCgxcHgpO1xuLy8vICAgICAvLyBtYXJnaW46IDFweDsgKGx0cilcbi8vLyAgICAgLy8gbWFyZ2luOiAxcHg7IChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyAgIC5leGFtcGxlLWJvcmRlci1jb2xvciB7XG4vLy8gICAgIGJvcmRlci1jb2xvcjogbG9naWNhbC1zaG9ydGhhbmQoI2YwMCBvcmFuZ2UgeWVsbG93IHJnYigwLCAwLCAyNTUpKTtcbi8vLyAgICAgLy8gYm9yZGVyLWNvbG9yOiAjZjAwIG9yYW5nZSB5ZWxsb3cgcmdiKDAsIDAsIDI1NSk7IChsdHIpXG4vLy8gICAgIC8vIGJvcmRlci1jb2xvcjogI2YwMCByZ2IoMCwgMCwgMjU1KSB5ZWxsb3cgb3JhbmdlOyAocnRsKVxuLy8vICAgfVxuLy8vXG4vLy8gICAuZXhhbXBsZS1ib3JkZXItc3R5bGUge1xuLy8vICAgICBib3JkZXItc3R5bGU6IGxvZ2ljYWwtc2hvcnRoYW5kKG5vbmUgZG90dGVkIGRhc2hlZCBzb2xpZCk7XG4vLy8gICAgIC8vIGJvcmRlci1zdHlsZTogbm9uZSBkb3R0ZWQgZGFzaGVkIHNvbGlkOyAobHRyKVxuLy8vICAgICAvLyBib3JkZXItc3R5bGU6IG5vbmUgc29saWQgZGFzaGVkIGRvdHRlZDsgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmV4YW1wbGUtYm9yZGVyLXdpZHRoIHtcbi8vLyAgICAgYm9yZGVyLXdpZHRoOiBsb2dpY2FsLXNob3J0aGFuZCg1cHggdGhpbiBtZWRpdW0gdGhpY2spO1xuLy8vICAgICAvLyBib3JkZXItd2lkdGg6IDVweCB0aGluIG1lZGl1bSB0aGljazsgKGx0cilcbi8vLyAgICAgLy8gYm9yZGVyLXdpZHRoOiA1cHggdGhpY2sgbWVkaXVtIHRoaW47IChydGwpXG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiBsb2dpY2FsLXNob3J0aGFuZCgkdmFsdWUpIHtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBydGwgYW5kIGxlbmd0aCgkdmFsdWUpID09IDQge1xuICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWUsIDEpIG50aCgkdmFsdWUsIDQpIG50aCgkdmFsdWUsIDMpIG50aCgkdmFsdWUsIDIpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBBIHRyYW5zbGF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBgeGAgdmFsdWUgcmV2ZXJzZWQgZm9yIHJpZ2h0LXRvLWxlZnQuXG4vLy9cbi8vLyBTdXBwb3J0cyB0cmFuc2xhdGVYKHgpYCwgYHRyYW5zbGF0ZSh4LCB5KWAsIGFuZCBgdHJhbnNsYXRlM2QoeCwgeSwgeilgXG4vLy9cbi8vLyBAcGFyYW0gJHhcbi8vL1xuLy8vIEBwYXJhbSAkeSBbbnVsbF1cbi8vL1xuLy8vIEBwYXJhbSAkeiBbbnVsbF1cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy8gICBgdHJhbnNsYXRlWCh4KWAsIGB0cmFuc2xhdGUoeCwgeSlgLCBvciBgdHJhbnNsYXRlM2QoeCwgeSwgeilgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlLXgge1xuLy8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZUxvZ2ljYWwoMTBweCk7XG4vLy8gICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCkgKGx0cilcbi8vLyAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpIChydGwpXG4vLy8gICB9XG4vLy9cbi8vLyAgIC5leGFtcGxlLXh5IHtcbi8vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVMb2dpY2FsKDEwcHgsIDIwcHgpO1xuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwgMjBweCkgKGx0cilcbi8vLyAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCwgMjBweCkgKHJ0bClcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmV4YW1wbGUteHl6IHtcbi8vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVMb2dpY2FsKDEwcHgsIDIwcHgsIDMwcHgpO1xuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAyMHB4LCAzMHB4KSAobHRyKVxuLy8vICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDIwcHgsIDMwcHgpIChydGwpXG4vLy8gICB9XG4vLy9cbkBmdW5jdGlvbiB0cmFuc2xhdGVMb2dpY2FsKCR4LCAkeTogbnVsbCwgJHo6IG51bGwpIHtcblx0JHg6ICR4ICogaWYoJGRpcmVjdGlvbiA9PSBydGwsIC0xLCAxKTtcblxuXHRAaWYgJHkgPT0gbnVsbCB7XG5cdFx0QHJldHVybiB0cmFuc2xhdGVYKCR4KTtcblx0fVxuXG5cdEBpZiAkeiA9PSBudWxsIHtcblx0XHRAcmV0dXJuIHRyYW5zbGF0ZSgkeCwgJHkpO1xuXHR9XG5cblx0QHJldHVybiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuLy8vXG4vLy8gQSByb3RhdGUgZnVuY3Rpb24gd2l0aCB0aGUgYGFuZ2xlYCByZXZlcnNlZCBmb3IgcmlnaHQtdG8tbGVmdFxuLy8vXG4vLy8gQHBhcmFtICRhbmdsZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vICAgYHJvdGF0ZShhbmdsZSlgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5leGFtcGxlIHtcbi8vLyAgICAgdHJhbnNmb3JtOiByb3RhdGVMb2dpY2FsKDQ1ZGVnKTtcbi8vLyAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIChsdHIpXG4vLy8gICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgKHJ0bClcbi8vLyAgIH1cbi8vL1xuQGZ1bmN0aW9uIHJvdGF0ZUxvZ2ljYWwoJGFuZ2xlKSB7XG5cdCRhbmdsZTogJGFuZ2xlICogaWYoJGRpcmVjdGlvbiA9PSBydGwsIC0xLCAxKTtcblxuXHRAcmV0dXJuIHJvdGF0ZSgkYW5nbGUpO1xufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQ29yZSAvIFNlbGVjdG9yc1xuLy8vXG4vLy8gQGdyb3VwIHNlbGVjdG9yc1xuLy8vL1xuXG4vLy9cbi8vLyBUaGUgXCJjdXJyZW50XCIgY2xhc3NOYW1lIGZvciBtb2R1bGVzLCBzdWNoIGFzIERvdCBOYXZcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kc3RhdGUtY3VycmVudC1jbGFzc25hbWU6ICdjdXJyZW50JyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gVGhlIFwiZGlzYWJsZWRcIiBjbGFzc05hbWUgZm9yIG1vZHVsZXMsIHN1Y2ggYXMgUGFkZGxlIE5hdlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRzdGF0ZS1kaXNhYmxlZC1jbGFzc25hbWU6ICdkaXNhYmxlZCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFRoZSB0YXJnZXQgZWxlbWVudC9zZWxlY3RvciBmb3IgZmVhdHVyZSBkZXRlY3Rpb25cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kZmVhdHVyZS1kZXRlY3QtdGFyZ2V0OiBodG1sICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDaGVjayBpZiBhIHNlbGVjdG9yIGNvbnRhaW5zIGFub3RoZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3Jcbi8vLyAgIFRoZSBzZWxlY3RvciB0byBjaGVja1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWJzZWxlY3RvclxuLy8vICAgQSBzaW5nbGUgc2VsZWN0b3IgdG8gZmluZFxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59XG4vLy8gICBgdHJ1ZWAgaWYgYCRzZWxlY3RvcmAgY29udGFpbnMgYCRzdWJzZWxlY3RvcmAsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiBzZWxlY3Rvci1jb250YWlucygkc2VsZWN0b3IsICRzdWJzZWxlY3Rvcikge1xuXHQkc3RyOiAnI3skc2VsZWN0b3J9JztcblxuXHRAcmV0dXJuIG5vdCBub3QgKFxuXHRcdHN0ci1pbmRleCgkc3RyLCAkc3Vic2VsZWN0b3IgKyAnICcpIG9yXG5cdFx0c3RyLWluZGV4KCRzdHIsICRzdWJzZWxlY3RvciArICcsJykgb3Jcblx0XHRzdHItaW5kZXgoJHN0ciwgJHN1YnNlbGVjdG9yICsgJy4nKSBvclxuXHRcdHN0ci1pbmRleCgkc3RyLCAkc3Vic2VsZWN0b3IgKyAnIycpIG9yXG5cdFx0c3RyLWluZGV4KCRzdHIsICRzdWJzZWxlY3RvciArICdbJykgb3Jcblx0XHRzdHItaW5kZXgoJHN0ciwgJHN1YnNlbGVjdG9yKSA9PSBzdHItbGVuZ3RoKCRzdHIpIC0gc3RyLWxlbmd0aCgkc3Vic2VsZWN0b3IpICsgMVxuXHQpO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBzZWxlY3RvciB1bmlmaWVkIG9uIGEgc3BlY2lmaWMgdGFyZ2V0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRhcmdldFxuLy8vXHQgIFRoZSB0YXJnZXQgc2VsZWN0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRzZWxlY3RvclxuLy8vICAgVGhlIHNlbGVjdG9yKHMpIHRvIGFwcGVuZFxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9XG4vLy8gICBUaGUgdW5pZmllZCBzZWxlY3RvclxuLy8vXG5AZnVuY3Rpb24gc2VsZWN0b3ItdW5pZnktdGFyZ2V0KCR0YXJnZXQsICRzZWxlY3Rvcikge1xuXHRAaWYgJHNlbGVjdG9yID09ICcnIHtcblx0XHQkc2VsZWN0b3I6IHNlbGVjdG9yLXBhcnNlKCR0YXJnZXQpO1xuXHR9IEBlbHNlIHtcblx0XHQkc2VsZWN0b3I6IHNlbGVjdG9yLXBhcnNlKCN7JHNlbGVjdG9yfSk7XG5cdFx0JHNlbGVjdG9yOiBzZWxlY3Rvci11bmlmeSgkdGFyZ2V0LCAkc2VsZWN0b3IpO1xuXHR9XG5cblx0QGlmIG5vdCAmIHtcblx0XHRAcmV0dXJuICRzZWxlY3Rvcjtcblx0fVxuXG5cdCRvdXRwdXQ6ICgpO1xuXG5cdC8vIEB0b2RvOiBsaWJzYXNzIGlzbid0IHRoZSBiZXN0dHR0dHQuIFRoaXMgc2hvdWxkIGJlIHJldHVybmVkIGFzXG5cdC8vICAgICAgICBhIGxpc3QgYW5kIGluc3RlYWQgaXQgaXMgYSBzdHJpbmcuXG5cblx0JHBhcmVudDogc2VsZWN0b3ItcGFyc2UoJik7XG5cblx0Ly8gRXh0ZW5kIGVhY2ggcGFzc2VkIHNlbGVjdG9yIGludG8gZWFjaCBzZWxlY3RvciBpbiAmXG5cblx0QGVhY2ggJHNlbCBpbiAkcGFyZW50IHtcblxuXHRcdEBpZiBub3Qgc2VsZWN0b3ItY29udGFpbnMoJHNlbCwgJHRhcmdldCkge1xuXHRcdFx0JHNlbDogc2VsZWN0b3ItbmVzdCgkc2VsZWN0b3IsICRzZWwpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JHNlbDogc2VsZWN0b3ItcmVwbGFjZSgkc2VsLCAkdGFyZ2V0LCAkc2VsZWN0b3IpO1xuXHRcdH1cblxuXHRcdCRvdXRwdXQ6IGpvaW4oJG91dHB1dCwgJHNlbCwgY29tbWEpO1xuXHR9XG5cblx0QHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBzZWxlY3RvciB1bmlmaWVkIG9uIGEgc3BlY2lmaWMgdGFyZ2V0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRhcmdldFxuLy8vICAgVGhlIHRhcmdldCBzZWxlY3RvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHNlbGVjdG9yXG4vLy8gICBTZWxlY3RvcihzKSB0byBhcHBlbmRcbi8vL1xuQG1peGluIHNlbGVjdG9yLXVuaWZ5LXRhcmdldCgkdGFyZ2V0LCAkc2VsZWN0b3IpIHtcblx0QGF0LXJvb3QgI3tzZWxlY3Rvci11bmlmeS10YXJnZXQoJHRhcmdldCwgJHNlbGVjdG9yKX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIHNlbGVjdG9yIG9uIHRoZSBgaHRtbGAgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvclxuLy8vICAgVGhlIHNlbGVjdG9yIHRvIGFwcGVuZCB0byB0aGUgSFRNTCBlbGVtZW50XG4vLy9cbkBtaXhpbiBodG1sLXNlbGVjdG9yKCRzZWxlY3Rvcikge1xuXHRAaW5jbHVkZSBzZWxlY3Rvci11bmlmeS10YXJnZXQoaHRtbCwgJHNlbGVjdG9yKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgZmVhdHVyZSBkZXRlY3Qgc2VsZWN0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmVhdHVyZXMuLi5cbi8vLyAgIE9uZSBvciBtb3JlIGZlYXR1cmUgY2xhc3NOYW1lcyAoZS5nLiwgYHN2Z2AsIGBuby1qc2ApXG4vLy9cbkBtaXhpbiBmZWF0dXJlLWRldGVjdCgkZmVhdHVyZXMuLi4pIHtcblx0QGZvciAkbiBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGZlYXR1cmVzKSB7XG5cdFx0JGZlYXR1cmU6ICcuJyArIG50aCgkZmVhdHVyZXMsICRuKTtcblx0XHQkZmVhdHVyZXM6IHNldC1udGgoJGZlYXR1cmVzLCAkbiwgJGZlYXR1cmUpO1xuXHR9XG5cblx0Ly8gQHRvZG8gbGlic2FzcyBpcyB2ZXJ5IGNvbmZ1c2VkIGFib3V0IGxpc3RzIG9mIHN0cmluZ3Ncblx0Ly8gc28gd2UncmUgbWFraW5nIHRoaXMgYSBzdHJpbmdcblx0JGZlYXR1cmVzOiAjeyRmZWF0dXJlc307XG5cblx0QGluY2x1ZGUgc2VsZWN0b3ItdW5pZnktdGFyZ2V0KCRmZWF0dXJlLWRldGVjdC10YXJnZXQsICRmZWF0dXJlcykge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIGBAc3VwcG9ydHNgIHF1ZXJ5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBBIENTUyBwcm9wZXJ0eVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZSBbaW5pdGlhbF1cbi8vLyAgIEEgQ1NTIHZhbHVlXG4vLy9cbkBtaXhpbiBzdXBwb3J0cygkcHJvcGVydHksICR2YWx1ZTogaW5pdGlhbCkge1xuXHQkcXVlcnk6ICcoI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0pJztcblxuXHRAc3VwcG9ydHMgI3skcXVlcnl9IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBVc2UgYCY6aG92ZXJgXG4vLy9cbkBtaXhpbiBtb3VzZS1ob3ZlcigpIHtcblx0QGluY2x1ZGUgd2Fybi1kZXByZWNhdGVkKG1peGluLCBtb3VzZS1ob3ZlciwgJyY6aG92ZXInKTtcblxuXHQmOmhvdmVyIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQmFzZSAvIEhlbHBlcnNcbi8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi5zZWxmY2xlYXIge1xuXHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcbn1cblxuLnZpc3VhbGx5aGlkZGVuIHtcblx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcbn1cblxuLmltYWdlcmVwbGFjZSB7XG5cdEBpbmNsdWRlIGltYWdlcmVwbGFjZSgpO1xufVxuXG4ubm93cmFwIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jbGVhciB7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4jdG9wIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG59XG5cbi5jdXJzb3ItZ3JhYiB7XG5cdEBpbmNsdWRlIGN1cnNvcihncmFiKTtcbn1cblxuLmN1cnNvci1ncmFiYmluZyB7XG5cdEBpbmNsdWRlIGN1cnNvcihncmFiYmluZyk7XG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBCYXNlIC8gR3JpZFxuLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vXG4vLy8gbW9kdWxlOiAucm93XG4vLy9cbi4jeyRncmlkLXJvdy1jbGFzc25hbWV9IHtcblx0QGluY2x1ZGUgcm93O1xufVxuXG4vLy9cbi8vLyBtb2R1bGU6IC5jb2x1bW5cbi8vL1xuLiN7JGdyaWQtY29sdW1uLWNsYXNzbmFtZX0ge1xuXHRAaW5jbHVkZSBjb2x1bW4tcmVzZXQ7XG59XG5cbkBlYWNoICR2aWV3cG9ydC1uYW1lIGluIHZpZXdwb3J0LWxpc3QoZGVmYXVsdCkge1xuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydC1uYW1lKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZChcblx0XHRcdCRjbGFzczogJHZpZXdwb3J0LW5hbWUsXG5cdFx0XHQkZGlyZWN0aW9uOiAkZ3JpZC1jb2x1bW4tZGlyZWN0aW9uLFxuXHRcdFx0JGllODogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkdmlld3BvcnQtbmFtZSwgaWU4KVxuXHRcdCk7XG5cdH1cblxufVxuXG5cbkBpZiAkZGlyZWN0aW9uID09IHJ0bCB7XG5cblx0Ly8vXG5cdC8vLyBzdWJtb2R1bGU6IC5yb3ctbG9naWNhbFxuXHQvLy9cblx0LiN7JGdyaWQtcm93LWNsYXNzbmFtZX0tbG9naWNhbCB7XG5cblx0XHQuI3skZ3JpZC1jb2x1bW4tY2xhc3NuYW1lfSB7XG5cdFx0XHRAaW5jbHVkZSBjb2x1bW4tcmVzZXQoa2V5d29yZC1yZXZlcnNlZCgkZ3JpZC1jb2x1bW4tZGlyZWN0aW9uKSk7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJHZpZXdwb3J0LW5hbWUgaW4gdmlld3BvcnQtbGlzdChkZWZhdWx0KSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQtbmFtZSkge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkKFxuXHRcdFx0XHRcdCRjbGFzczogJHZpZXdwb3J0LW5hbWUsXG5cdFx0XHRcdFx0JGRpcmVjdGlvbjoga2V5d29yZC1yZXZlcnNlZCgkZ3JpZC1jb2x1bW4tZGlyZWN0aW9uKSxcblx0XHRcdFx0XHQkaWU4OiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCR2aWV3cG9ydC1uYW1lLCBpZTgpXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQ29yZSAvIEdyaWRcbi8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vL1xuLy8vIFRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBkZWZhdWx0IEdyaWRcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRmxvYXQgZGlyZWN0aW9uIGZvciBjb2x1bW5zIGluIHRoZSBkZWZhdWx0IEdyaWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kZ3JpZC1jb2x1bW4tZGlyZWN0aW9uOiBsZWZ0ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBGbG9hdCBkaXJlY3Rpb24gZm9yIHRoZSBsYXN0IGNvbHVtbiBpbiB0aGUgZGVmYXVsdCBHcmlkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGdyaWQtY29sdW1uLWRpcmVjdGlvbi1sYXN0OiBrZXl3b3JkLXJldmVyc2VkKCRncmlkLWNvbHVtbi1kaXJlY3Rpb24pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBSb3cgY2xhc3MgbmFtZSBmb3IgdGhlIGRlZmF1bHQgR3JpZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRncmlkLXJvdy1jbGFzc25hbWU6ICdyb3cnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDb2x1bW4gY2xhc3MgbmFtZSBmb3IgdGhlIGRlZmF1bHQgR3JpZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRncmlkLWNvbHVtbi1jbGFzc25hbWU6ICdjb2x1bW4nICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBHcmlkIHJvdyB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtZ3JpZC1mdWxsLXdpZHRoOiAxMDAlO1xuXG4vLy9cbi8vLyBHcmlkIHJvdyB3aWR0aCBmb3IgSUUgOFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtZ3JpZC1mdWxsLXdpZHRoLWllODogOTkuOSU7XG5cbi8vL1xuLy8vIENyZWF0ZSBhIG5ldyBHcmlkIHJvd1xuLy8vXG5AbWl4aW4gcm93KCkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBjb2x1bW4gY2xhc3NlcyBmb3IgYSBncmlkXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICBUb3RhbCBudW1iZXIgb2YgY29sdW1uc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzcyBbJGdyaWQtY29sdW1uLWNsYXNzbmFtZV1cbi8vLyAgIENvbHVtbiBjbGFzcyBuYW1lICh0aGUgcHJlZml4IGZvciBhbGwgY2xhc3Nlcylcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFskZ3JpZC1jb2x1bW4tZGlyZWN0aW9uXVxuLy8vICAgRmxvYXQgZGlyZWN0aW9uIGZvciBjb2x1bW5zXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpZTggW2ZhbHNlXVxuLy8vICAgQWNjb3VudCBmb3Igcm91bmRpbmcgZXJyb3JzIGluIElFIDhcbi8vL1xuQG1peGluIGdyaWQoJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRjbGFzczogJGdyaWQtY29sdW1uLWNsYXNzbmFtZSwgJGRpcmVjdGlvbjogJGdyaWQtY29sdW1uLWRpcmVjdGlvbiwgJGllODogZmFsc2UpIHtcblxuXHQkaTogMDtcblx0QHdoaWxlICRpIDwgJHRvdGFsLWNvbHVtbnMgKyAxIHtcblxuXHRcdC4jeyRjbGFzc30tI3skaX0ge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbi1jb3VudDogJGksICR0b3RhbC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucywgJGllODogJGllOCk7XG5cdFx0fVxuXG5cdFx0LiN7JGNsYXNzfS1vZmZzZXQtI3skaX0ge1xuXHRcdFx0QGluY2x1ZGUgLWdyaWQtY29sdW1uLW9mZnNldCgkY29sdW1uLWNvdW50OiAkaSwgJHRvdGFsLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zLCAkZGlyZWN0aW9uOiAkZGlyZWN0aW9uLCAkaWU4OiAkaWU4KTtcblx0XHR9XG5cblx0XHQuI3skY2xhc3N9LXB1c2gtI3skaX0ge1xuXHRcdFx0QGluY2x1ZGUgLWdyaWQtY29sdW1uLXNoaWZ0KCRjb2x1bW4tY291bnQ6ICRpLCAkdG90YWwtY29sdW1uczogJHRvdGFsLWNvbHVtbnMsICRzaGlmdDogcHVzaCwgJGRpcmVjdGlvbjogJGRpcmVjdGlvbik7XG5cdFx0fVxuXG5cdFx0LiN7JGNsYXNzfS1wdWxsLSN7JGl9IHtcblx0XHRcdEBpbmNsdWRlIC1ncmlkLWNvbHVtbi1zaGlmdCgkY29sdW1uLWNvdW50OiAkaSwgJHRvdGFsLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zLCAkc2hpZnQ6IHB1bGwsICRkaXJlY3Rpb246ICRkaXJlY3Rpb24pO1xuXHRcdH1cblxuXHRcdCRpOiAkaSArIDE7XG5cdH1cblxuXHQuI3skY2xhc3N9LWNlbnRlcmVkIHtcblx0XHRAaW5jbHVkZSAtZ3JpZC1jb2x1bW4tY2VudGVyZWQodHJ1ZSk7XG5cdH1cblxuXHQuI3skY2xhc3N9LXVuY2VudGVyZWQge1xuXHRcdEBpbmNsdWRlIC1ncmlkLWNvbHVtbi1jZW50ZXJlZChmYWxzZSk7XG5cdH1cblxuXHQuI3skY2xhc3N9LWxhc3Qge1xuXHRcdEBpbmNsdWRlIC1ncmlkLWNvbHVtbi1sYXN0KHRydWUpO1xuXHR9XG5cblx0LiN7JGNsYXNzfS1ub3RsYXN0IHtcblx0XHRAaW5jbHVkZSAtZ3JpZC1jb2x1bW4tbGFzdChmYWxzZSk7XG5cdH1cblxufVxuXG4vLy9cbi8vLyBPdXRwdXQgdGhlIHdpZHRoIGZvciBhIHNwYW4gb2Ygb25lIG9yIG1vcmUgY29sdW1uc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4tY291bnQgWyRncmlkLWNvbHVtbnNdXG4vLy8gICBOdW1iZXIgb2YgY29sdW1ucyB0byBzcGFuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICBUb3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaWU4IFtmYWxzZV1cbi8vLyAgIEFjY291bnQgZm9yIHJvdW5kaW5nIGVycm9ycyBpbiBJRSA4XG4vLy9cbkBtaXhpbiBncmlkLWNvbHVtbigkY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucywgJGllODogZmFsc2UpIHtcblx0QGlmICRjb2x1bW4tY291bnQgIT0gMCB7XG5cdFx0d2lkdGg6ICgkY29sdW1uLWNvdW50LyR0b3RhbC1jb2x1bW5zKSAqICQtZ3JpZC1mdWxsLXdpZHRoO1xuXHRcdEBpZiAkaWU4ID09IHRydWUge1xuXHRcdFx0QGluY2x1ZGUgaWU4IHtcblx0XHRcdFx0d2lkdGg6ICgkY29sdW1uLWNvdW50LyR0b3RhbC1jb2x1bW5zKSAqICQtZ3JpZC1mdWxsLXdpZHRoLWllODtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGFuIG9mZnNldCBvZiBvbmUgb3IgbW9yZSBjb2x1bW5zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbi1jb3VudCBbJGdyaWQtY29sdW1uc11cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIHRvIG9mZnNldCBieVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgVG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFskZ3JpZC1jb2x1bW4tZGlyZWN0aW9uXVxuLy8vICAgU3RhcnQgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXRcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGllOCBbZmFsc2VdXG4vLy8gICBBY2NvdW50IGZvciByb3VuZGluZyBlcnJvcnMgaW4gSUUgOFxuLy8vXG5AbWl4aW4gLWdyaWQtY29sdW1uLW9mZnNldCgkY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucywgJGRpcmVjdGlvbjogJGdyaWQtY29sdW1uLWRpcmVjdGlvbiwgJGllODogZmFsc2UpIHtcblx0QGlmICRjb2x1bW4tY291bnQgIT0gMCB7XG5cdFx0bWFyZ2luLSN7JGRpcmVjdGlvbn06ICgkY29sdW1uLWNvdW50LyR0b3RhbC1jb2x1bW5zKSAqICQtZ3JpZC1mdWxsLXdpZHRoO1xuXHRcdEBpZiAkaWU4ID09IHRydWUge1xuXHRcdFx0QGluY2x1ZGUgaWU4IHtcblx0XHRcdFx0bWFyZ2luLSN7JGRpcmVjdGlvbn06ICgkY29sdW1uLWNvdW50LyR0b3RhbC1jb2x1bW5zKSAqICQtZ3JpZC1mdWxsLXdpZHRoLWllODtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuXHR9XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgZGlyZWN0aW9uIGtleXdvcmQgZm9yIFwicHVzaFwiIG9yIFwicHVsbFwiXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNoaWZ0XG4vLy8gICBgcHVzaGAgdG8gc2hpZnQgZm9yd2FyZCwgb3Jcbi8vLyAgIGBwdWxsYCB0byBzaGlmdCBiYWNrd2FyZFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gWyRncmlkLWNvbHVtbi1kaXJlY3Rpb25dXG4vLy8gICBTdGFydCBkaXJlY3Rpb24gb2YgYSBcInB1c2hcIiBzaGlmdFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIGBsZWZ0YCBvciBgcmlnaHRgXG4vLy9cbkBmdW5jdGlvbiAtZ3JpZC1zaGlmdCgkc2hpZnQsICRkaXJlY3Rpb246ICRncmlkLWNvbHVtbi1kaXJlY3Rpb24pIHtcblx0JHBvc2l0aW9uOiAnJztcblxuXHRAaWYgJHNoaWZ0ID09ICdwdXNoJyB7XG5cdFx0JHBvc2l0aW9uOiAkZGlyZWN0aW9uO1xuXHR9IEBlbHNlaWYgJHNoaWZ0ID09ICdwdWxsJyB7XG5cdFx0JHBvc2l0aW9uOiBrZXl3b3JkLXJldmVyc2VkKCRkaXJlY3Rpb24pO1xuXHR9XG5cblx0QHJldHVybiAkcG9zaXRpb247XG59XG5cbi8vL1xuLy8vIE91dHB1dCBzdHlsZXMgZm9yIGEgc2hpZnQgb2Ygb25lIG9yIG1vcmUgY29sdW1uc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzaGlmdCBbcHVzaF1cbi8vLyAgIGBwdXNoYCB0byBzaGlmdCBmb3J3YXJkLCBvclxuLy8vICAgYHB1bGxgIHRvIHNoaWZ0IGJhY2t3YXJkXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbi1jb3VudCBbJGdyaWQtY29sdW1uc11cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIHRvIHNoaWZ0IGJ5XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICBUb3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gWyRncmlkLWNvbHVtbi1kaXJlY3Rpb25dXG4vLy8gICBTdGFydCBkaXJlY3Rpb24gb2YgdGhlIHNoaWZ0XG4vLy9cbkBtaXhpbiAtZ3JpZC1jb2x1bW4tc2hpZnQoJHNoaWZ0OiBwdXNoLCAkY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucywgJGRpcmVjdGlvbjogJGdyaWQtY29sdW1uLWRpcmVjdGlvbikge1xuXHQkcG9zaXRpb246IC1ncmlkLXNoaWZ0KCRzaGlmdCwgJGRpcmVjdGlvbjogJGRpcmVjdGlvbik7XG5cdCRwb3NpdGlvbi1vcHBvc2l0ZToga2V5d29yZC1yZXZlcnNlZCgkcG9zaXRpb24pO1xuXG5cdEBpZiAkY29sdW1uLWNvdW50ICE9IDAge1xuXHRcdCN7JHBvc2l0aW9ufTogKCRjb2x1bW4tY291bnQvJHRvdGFsLWNvbHVtbnMpICogJC1ncmlkLWZ1bGwtd2lkdGg7XG5cdH0gQGVsc2Uge1xuXHRcdCN7JHBvc2l0aW9ufTogYXV0bztcblx0fVxuXG5cdCN7JHBvc2l0aW9uLW9wcG9zaXRlfTogYXV0bztcbn1cblxuLy8vXG4vLy8gT3V0cHV0IHN0eWxlcyB0byBjZW50ZXIgb3IgdW5jZW50ZXIgYSBjb2x1bW5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNlbnRlcmVkIFt0cnVlXVxuLy8vICAgYHRydWVgIHRvIGNlbnRlciwgb3IgYGZhbHNlYCB0byB1bmNlbnRlclxuLy8vXG5AbWl4aW4gLWdyaWQtY29sdW1uLWNlbnRlcmVkKCRjZW50ZXJlZDogdHJ1ZSkge1xuXHRAaWYgJGNlbnRlcmVkIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdH0gQGVsc2Uge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgdGhlIGZsb2F0IGZvciBhIGNvbHVtblxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaXMtbGFzdCBbdHJ1ZV1cbi8vLyAgIGB0cnVlYCBmb3IgdGhlIGxhc3QgY29sdW1uLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AbWl4aW4gLWdyaWQtY29sdW1uLWxhc3QoJGlzLWxhc3Q6IHRydWUpIHtcblx0QGlmICRpcy1sYXN0IHtcblx0XHRmbG9hdDogJGdyaWQtY29sdW1uLWRpcmVjdGlvbi1sYXN0O1xuXHR9IEBlbHNlIHtcblx0XHRmbG9hdDogJGdyaWQtY29sdW1uLWRpcmVjdGlvbjtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYmFzZSBzdHlsZXMgZm9yIGEgY29sdW1uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbJGdyaWQtY29sdW1uLXNoaWZ0XVxuLy8vICAgRmxvYXQgZGlyZWN0aW9uXG4vLy9cbkBtaXhpbiBjb2x1bW4tcmVzZXQoJGRpcmVjdGlvbjogJGdyaWQtY29sdW1uLWRpcmVjdGlvbikge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0ZmxvYXQ6ICRkaXJlY3Rpb247XG5cblx0Ly8gem9vbWluZyBvdXQgaW4gU2FmYXJpIHJvdW5kcyAxcHggZG93biB0byAwLCBzbyB3ZSB1c2UgMnB4LlxuXHRtaW4taGVpZ2h0OiAycHg7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBzdHlsZXMgZm9yIGEgY29sdW1uIHdpdGggb3B0aW9uYWwgb2Zmc2V0LCBwdXNoL3B1bGwsIGFuZCBjZW50ZXIvdW5jZW50ZXIgYWRkaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHZpZXdwb3J0c1xuLy8vICAgQSBtYXAgb2YgY29sdW1uIG9wdGlvbnMgYnkgdmlld3BvcnQuXG4vLy8gICBBbGwgb3B0aW9ucyBhcmUgb3B0aW9uYWwuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbJGdyaWQtY29sdW1uLWRpcmVjdGlvbl1cbi8vLyAgIEZsb2F0IGRpcmVjdGlvblxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAuZGVmYXVsdHMtZ3JpZC1jbGFzcyB7XG4vLy8gICAgIEBpbmNsdWRlIGNvbHVtbigoXG4vLy8gICAgICAgdmlld3BvcnQtbmFtZTogKFxuLy8vICAgICAgICAgY29sdW1uOiB7TnVtYmVyfSwgIC8vIG51bWJlciBvZiBjb2x1bW5zIHRvIHNwYW5cbi8vLyAgICAgICAgIG9mZnNldDoge051bWJlcn0sIC8vIG51bWJlciBvZiBjb2x1bW5zIHRvIG9mZnNldCBieVxuLy8vICAgICAgICAgcHVzaDoge051bWJlcn0sIC8vIG51bWJlciBvZiBjb2x1bW5zIHRvIHB1c2ggYnlcbi8vLyAgICAgICAgIHB1bGw6IHtOdW1iZXJ9LCAvLyBudW1iZXIgb2YgY29sdW1ucyB0byBwdWxsIGJ5XG4vLy8gICAgICAgICBjZW50ZXJlZDoge0Jvb2xlYW59LCAvLyBgdHJ1ZWAgdG8gY2VudGVyIHRoZSBjb2x1bW5cbi8vLyAgICAgICAgIHVuY2VudGVyZWQ6IHtCb29sZWFufSwgLy8gYHRydWVgIHRvIHVuY2VudGVyIHRoZSBjb2x1bW5cbi8vLyAgICAgICAgIGxhc3Q6IHtCb29sZWFufSwgLy8gYHRydWVgIGZvciB0aGUgbGFzdCBjb2x1bW5cbi8vLyAgICAgICAgIGdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucyAvLyB0b3RhbCBudW1iZXIgb2YgY29sdW1uc1xuLy8vICAgICAgIClcbi8vLyAgICAgKSwgJGRpcmVjdGlvbik7XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBjb2x1bW4oJHZpZXdwb3J0cywgJGRpcmVjdGlvbjogJGdyaWQtY29sdW1uLWRpcmVjdGlvbikge1xuXHRAaW5jbHVkZSBjb2x1bW4tcmVzZXQoJGRpcmVjdGlvbik7XG5cblx0QGVhY2ggJG5hbWUsICRvcHRpb25zIGluICR2aWV3cG9ydHMge1xuXG5cdFx0JC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG5cblx0XHRAaWYgbWFwLWhhcy1rZXkoJG9wdGlvbnMsIGdyaWQtY29sdW1ucykge1xuXHRcdFx0JC1ncmlkLWNvbHVtbnM6IG1hcC1nZXQoJG9wdGlvbnMsIGdyaWQtY29sdW1ucyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblxuXHRcdFx0JHZpZXdwb3J0LW9wdGlvbnM6IHZpZXdwb3J0LWdldCgkbmFtZSk7XG5cblx0XHRcdCRvdXRwdXQtaWU4OiBmYWxzZTtcblx0XHRcdEBpZiBtYXAtZ2V0KCR2aWV3cG9ydC1vcHRpb25zLCBpZTgpID09IHRydWUge1xuXHRcdFx0XHQkb3V0cHV0LWllODogdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0QGVhY2ggJHNldHRpbmcsICR2YWx1ZSBpbiAkb3B0aW9ucyB7XG5cblx0XHRcdFx0QGlmICRzZXR0aW5nID09ICdjb2x1bW4nIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uLWNvdW50OiAkdmFsdWUsICR0b3RhbC1jb2x1bW5zOiAkLWdyaWQtY29sdW1ucywgJGllODogJG91dHB1dC1pZTgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpZiAkc2V0dGluZyA9PSAnb2Zmc2V0JyB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgLWdyaWQtY29sdW1uLW9mZnNldCgkY29sdW1uLWNvdW50OiAkdmFsdWUsICR0b3RhbC1jb2x1bW5zOiAkLWdyaWQtY29sdW1ucywgJGRpcmVjdGlvbjogJGRpcmVjdGlvbiwgJGllODogJG91dHB1dC1pZTgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpZiAkc2V0dGluZyA9PSAncHVzaCcge1xuXHRcdFx0XHRcdEBpbmNsdWRlIC1ncmlkLWNvbHVtbi1zaGlmdCgkc2hpZnQ6IHB1c2gsICRjb2x1bW4tY291bnQ6ICR2YWx1ZSwgJHRvdGFsLWNvbHVtbnM6ICQtZ3JpZC1jb2x1bW5zLCAkZGlyZWN0aW9uOiAkZGlyZWN0aW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJHNldHRpbmcgPT0gJ3B1bGwnIHtcblx0XHRcdFx0XHRAaW5jbHVkZSAtZ3JpZC1jb2x1bW4tc2hpZnQoJHNoaWZ0OiBwdWxsLCAkY29sdW1uLWNvdW50OiAkdmFsdWUsICR0b3RhbC1jb2x1bW5zOiAkLWdyaWQtY29sdW1ucywgJGRpcmVjdGlvbjogJGRpcmVjdGlvbik7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGlmICRzZXR0aW5nID09ICdjZW50ZXJlZCcge1xuXHRcdFx0XHRcdEBpbmNsdWRlIC1ncmlkLWNvbHVtbi1jZW50ZXJlZDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJHNldHRpbmcgPT0gJ3VuY2VudGVyZWQnIHtcblx0XHRcdFx0XHRAaW5jbHVkZSAtZ3JpZC1jb2x1bW4tdW5jZW50ZXJlZDtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJHNldHRpbmcgPT0gJ2xhc3QnIHtcblx0XHRcdFx0XHRAaW5jbHVkZSAtZ3JpZC1jb2x1bW4tbGFzdCgkdmFsdWUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBDb3JlIC8gTWVkaWFcbi8vL1xuLy8vIEBncm91cCBtZWRpYVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgYSBgbWluLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1pbi13aWR0aCgkd2lkdGgpIHtcblx0QHJldHVybiAnKG1pbi13aWR0aDogI3skd2lkdGh9KSc7XG59XG5cbi8vL1xuLy8vIEdldCBhIGBtaW4tZGV2aWNlLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1pbi1kZXZpY2Utd2lkdGgoJHdpZHRoKSB7XG5cdEByZXR1cm4gJyhtaW4tZGV2aWNlLXdpZHRoOiAjeyR3aWR0aH0pJztcbn1cblxuLy8vXG4vLy8gR2V0IGEgYG1heC13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtYXgtd2lkdGgoJHdpZHRoKSB7XG5cdEByZXR1cm4gJyhtYXgtd2lkdGg6ICN7JHdpZHRofSknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBgbWF4LWRldmljZS13aWR0aGAgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWxcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtYXgtZGV2aWNlLXdpZHRoKCR3aWR0aCkge1xuXHRAcmV0dXJuICcobWF4LWRldmljZS13aWR0aDogI3skd2lkdGh9KSc7XG59XG5cbi8vL1xuLy8vIEdldCBhIGBtaW4taGVpZ2h0YCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBtaW4taGVpZ2h0KCRoZWlnaHQpIHtcblx0QHJldHVybiAnKG1pbi1oZWlnaHQ6ICN7JGhlaWdodH0pJztcbn1cblxuLy8vXG4vLy8gR2V0IGEgYG1heC1oZWlnaHRgIG1lZGlhIHF1ZXJ5IGNvbmRpdGlvbmFsXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vL1xuQGZ1bmN0aW9uIG1heC1oZWlnaHQoJGhlaWdodCkge1xuXHRAcmV0dXJuICcobWF4LWhlaWdodDogI3skaGVpZ2h0fSknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbCBmb3IgcG9ydHJhaXQgb3JpZW50YXRpb25cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9XG4vLy9cbkBmdW5jdGlvbiBwb3J0cmFpdCgpIHtcblx0QHJldHVybiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknO1xufVxuXG4vLy9cbi8vLyBHZXQgYSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbCBmb3IgbGFuZHNjYXBlIG9yaWVudGF0aW9uXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfVxuLy8vXG5AZnVuY3Rpb24gbGFuZHNjYXBlKCkge1xuXHRAcmV0dXJuICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknO1xufVxuXG4vLy9cbi8vLyBUaGUgdmFsdWUgZm9yIGEgYG1pbi1kZXZpY2Utd2lkdGhgIHRoYXQgaXMgdXNlZCBieSB0aGUgcmV0aW5hIGZ1bmN0aW9uXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJHJldGluYS1taW4tZGV2aWNlLXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gR2V0IGEgcmVzb2x1dGlvbiAvIGRlbnNpdHkgbWVkaWEgcXVlcnkgY29uZGl0aW9uYWwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbi1kZXZpY2Utd2lkdGggWyRyZXRpbmEtbWluLWRldmljZS13aWR0aF1cbi8vLyAgIFRoZSBgbWluLWRldmljZS13aWR0aGAsIGZvciBzaW11bGF0aW5nIGFjLXJldGluYSBmdW5jdGlvbmFsaXR5IChyZXRpbmEgb24gbGFyZ2Ugb25seSlcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVuc2l0eSBbMl1cbi8vLyAgIFRoZSBkZXZpY2UtcGl4ZWwtcmF0aW9cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fVxuLy8vXG5AZnVuY3Rpb24gcmV0aW5hKCRtaW4tZGV2aWNlLXdpZHRoOiAkcmV0aW5hLW1pbi1kZXZpY2Utd2lkdGgsICRkZW5zaXR5OiAyKSB7XG5cdEBpZiAkZGVuc2l0eSA9PSAxIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0JGRlbnNpdHk6ICRkZW5zaXR5IC0gMC41O1xuXG5cdCRkcHB4OiB1bml0LXNldCgkZGVuc2l0eSwgZHBweCk7XG5cdCRkcGk6IHVuaXQtY29udmVydCgkZHBweCwgZHBpKTtcblxuXHRAaWYgJG1pbi1kZXZpY2Utd2lkdGggPT0gZmFsc2Uge1xuXHRcdEByZXR1cm4gKCcobWluLXJlc29sdXRpb246ICN7JGRwcHh9KScsICcobWluLXJlc29sdXRpb246ICN7JGRwaX0pJyk7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gKCcobWluLXJlc29sdXRpb246ICN7JGRwcHh9KSBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6I3skbWluLWRldmljZS13aWR0aH0pJywgJyhtaW4tcmVzb2x1dGlvbjogI3skZHBpfSkgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiN7JG1pbi1kZXZpY2Utd2lkdGh9KScpO1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIG1lZGlhIHF1ZXJ5IHdpdGggdGhlIHNwZWNpZmllZCBjb25kaXRpb25hbHNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcXVlcnlcbi8vLyAgIFRoZSBtZWRpYSBxdWVyeSBjb25kaXRpb25hbHNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNjcmVlbiBbdHJ1ZV1cbi8vLyAgIEFkZCBgb25seSBzY3JlZW5gIGNvbmRpdGlvblxuLy8vXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5LCAkc2NyZWVuOiB0cnVlKSB7XG5cblx0QGlmICRxdWVyeSA9PSBmYWxzZSB7XG5cblx0XHRAY29udGVudDtcblxuXHR9IEBlbHNlIHtcblxuXHRcdCRvdXRwdXQtcXVlcnk6ICcnO1xuXG5cdFx0QGlmICRzY3JlZW4ge1xuXHRcdFx0JG91dHB1dC1xdWVyeTogJ29ubHkgc2NyZWVuIGFuZCAjeyRxdWVyeX0nO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAjeyRvdXRwdXQtcXVlcnl9IHtcblxuXHRcdFx0QGNvbnRlbnQ7XG5cblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgYG1heC13aWR0aGAgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhcbi8vL1xuQG1peGluIG1heC13aWR0aCgkd2lkdGgpIHtcblx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoKCR3aWR0aCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBgbWluLXdpZHRoYCBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFxuLy8vXG5AbWl4aW4gbWluLXdpZHRoKCR3aWR0aCkge1xuXHRAaW5jbHVkZSBtZWRpYShtaW4td2lkdGgoJHdpZHRoKSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIGBtYXgtaGVpZ2h0YCBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vL1xuQG1peGluIG1heC1oZWlnaHQoJGhlaWdodCkge1xuXHRAaW5jbHVkZSBtZWRpYShtYXgtaGVpZ2h0KCRoZWlnaHQpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgYG1pbi1oZWlnaHRgIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vXG5AbWl4aW4gbWluLWhlaWdodCgkaGVpZ2h0KSB7XG5cdEBpbmNsdWRlIG1lZGlhKG1pbi1oZWlnaHQoJGhlaWdodCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSByZXNvbHV0aW9uIC8gZGVuc2l0eSBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vL1xuQG1peGluIHJldGluYSgkZGVuc2l0eTogMikge1xuXHRAaW5jbHVkZSBtZWRpYShyZXRpbmEoJGRlbnNpdHk6ICRkZW5zaXR5KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIG1lZGlhIHF1ZXJ5IGZvciBwb3J0cmFpdCBvcmllbnRhdGlvblxuLy8vXG5AbWl4aW4gcG9ydHJhaXQoKSB7XG5cdEBpbmNsdWRlIG1lZGlhKHBvcnRyYWl0KCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYSBtZWRpYSBxdWVyeSBmb3IgbGFuZHNjYXBlIG9yaWVudGF0aW9uXG4vLy9cbkBtaXhpbiBsYW5kc2NhcGUoKSB7XG5cdEBpbmNsdWRlIG1lZGlhKGxhbmRzY2FwZSgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIENvcmUgLyBJY29uc1xuLy8vXG4vLy8gMS4gZml4IGFsaWdubWVudCBpc3N1ZXMgZHVlIHRvIGljb24gZ2x5cGhzIHZhcnlpbmcgaW4gaGVpZ2h0XG4vLy9cbi8vLyAyLiBJRSA4LTExIG5lZWRzIGB0ZXh0LWRlY29yYXRpb246IG5vbmVgIGZvciBwc2V1ZG8gZWxlbWVudHNcbi8vLyAgICBzZXQgYWZ0ZXIgaXRzIHNldCB0byBhbnl0aGluZyBvdGhlciB0aGFuIGBub25lYFxuLy8vXG4vLy8gQGdyb3VwIGljb25zXG4vLy8vXG5cbi8vL1xuLy8vIEljb24gRGljdGlvbmFyeVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIGNoYXJhY3RlciBjb2RlIChlLmcuLCBgJ1xcRjAwMCdgKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAkLWljb25zOiAoXG4vLy8gICAgIGNoYXIxOiAnXFxGMDAxJyxcbi8vLyAgICAgY2hhcjI6ICdcXEYwMDInXG4vLy8gICApO1xuLy8vXG4kLWljb25zOiAoKTtcblxuLy8vXG4vLy8gSWNvbiBmb250IHN0YWNrIG5hbWVcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kaWNvbi1mb250LXN0YWNrOiBpY29ucyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU3BhY2UgYmV0d2VlbiBgYmVmb3JlYC9gYWZ0ZXJgIGljb25zIGFuZCB0aGVpciBpbmxpbmUgdGV4dFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRpY29uLW9mZnNldDogLjNlbSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCB2ZXJ0aWNhbCBzaGlmdCBmb3IgYGFmdGVyYCBpY29uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRpY29uLWFmdGVyLXRvcDogMCAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCB2ZXJ0aWNhbCBzaGlmdCBmb3IgYGJlZm9yZWAgaWNvbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kaWNvbi1iZWZvcmUtdG9wOiAtLjEyNWVtICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBNYWdpYyBudW1iZXIgdG8gc2ltdWxhdGUgbm93cmFwXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJC1pY29uLW5vd3JhcC1zaGlmdDogMmVtO1xuXG4vLy9cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIGF2YWlsYWJsZSBpY29uc1xuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9XG4vLy8gICBMaXN0IG9mIGF2YWlsYWJsZSBpY29uIG5hbWVzXG4vLy9cbkBmdW5jdGlvbiBpY29uLWxpc3QoKSB7XG5cdEByZXR1cm4gbWFwLWtleXMoJC1pY29ucyk7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIGFuIGljb24gaXMgZGVmaW5lZFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgaWNvbiBuYW1lXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn1cbi8vLyAgIGB0cnVlYCBpZiB0aGUgaWNvbiBpcyBkZWZpbmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AZnVuY3Rpb24gaWNvbi1leGlzdHMoJG5hbWUpIHtcblx0QHJldHVybiBtYXAtaGFzLWtleSgkLWljb25zLCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEdldCB0aGUgY2hhcmFjdGVyIGNvZGUgZm9yIGFuIGljb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIGljb24gbmFtZVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ31cbi8vLyAgIFRoZSBjaGFyYWN0ZXIgY29kZSwgb3IgYCRuYW1lYCBpZiBubyBpY29uIHdhcyBmb3VuZFxuLy8vXG5AZnVuY3Rpb24gaWNvbi1nZXQoJG5hbWUpIHtcblx0JGljb246IG1hcC1nZXQoJC1pY29ucywgJG5hbWUpO1xuXG5cdEBpZiAkaWNvbiB7XG5cdFx0QHJldHVybiAkaWNvbjtcblx0fVxuXG5cdCR3YXJuOiB3YXJuLXVuZGVmaW5lZChpY29uLCAkbmFtZSk7XG5cblx0QHJldHVybiAkbmFtZTtcbn1cblxuLy8vXG4vLy8gQWRkIGFuIGljb24gdG8gdGhlIEljb24gRGljdGlvbmFyeVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lXG4vLy8gICBUaGUgaWNvbiBuYW1lXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoYXJhY3RlclxuLy8vICAgVGhlIGNoYXJhY3RlciBjb2RlIChlLmcuLCBgJ1xcRjAwMCdgKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICBAaW5jbHVkZSBpY29uLXNldChhcHBsZSwgJ1xcRjhGRicpO1xuLy8vXG5AbWl4aW4gaWNvbi1zZXQoJG5hbWUsICRjaGFyYWN0ZXIpIHtcblx0JC1pY29uczogbWFwLXNldCgkLWljb25zLCAkbmFtZSwgJGNoYXJhY3RlcikgIWdsb2JhbDtcbn1cblxuLy8vXG4vLy8gUmVtb3ZlIGFuIGljb24gZnJvbSB0aGUgSWNvbiBEaWN0aW9uYXJ5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSBpY29uIG5hbWVcbi8vL1xuQG1peGluIGljb24tcmVtb3ZlKCRuYW1lKSB7XG5cdCQtaWNvbnM6IG1hcC1yZW1vdmUoJC1pY29ucywgJG5hbWUpICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIFNldCBwc2V1ZG8tZWxlbWVudCBgY29udGVudGAgdG8gYSBzcGVjaWZpYyBpY29uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSBpY29uIG5hbWVcbi8vL1xuQG1peGluIGljb24tY29udGVudCgkbmFtZSkge1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogaWNvbi1nZXQoJG5hbWUpO1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBiYXNlIHN0eWxlcyBmb3IgYW4gaWNvblxuLy8vXG5AbWl4aW4gLWljb24tYmFzZSgpIHtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRpY29uLWZvbnQtc3RhY2spO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOyAvLyAxXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRhbHQ6ICcnO1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLy8gMlxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IHN0eWxlcyBzcGVjaWZpYyB0byBgYmVmb3JlYCBpY29uc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRpY29uLW9mZnNldF1cbi8vLyAgIFNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRoZSBpbmxpbmUgdGV4dFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRpY29uLWJlZm9yZS10b3BdXG4vLy8gICBBbW91bnQgdG8gdmVydGljYWxseSBzaGlmdCB0aGUgaWNvblxuLy8vXG5AbWl4aW4gLWljb24tYmVmb3JlKCRvZmZzZXQ6ICRpY29uLW9mZnNldCwgJHRvcDogJGljb24tYmVmb3JlLXRvcCkge1xuXHQmOmJlZm9yZSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZy1pbmxpbmUtZW5kKCRvZmZzZXQpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0b3A6ICR0b3A7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBzdHlsZXMgc3BlY2lmaWMgdG8gYGFmdGVyYCBpY29uc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRpY29uLW9mZnNldF1cbi8vLyAgIFNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRoZSBpbmxpbmUgdGV4dFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRpY29uLWFmdGVyLXRvcF1cbi8vLyAgIEFtb3VudCB0byB2ZXJ0aWNhbGx5IHNoaWZ0IHRoZSBpY29uXG4vLy9cbkBtaXhpbiAtaWNvbi1hZnRlcigkb2Zmc2V0OiAkaWNvbi1vZmZzZXQsICR0b3A6ICRpY29uLWFmdGVyLXRvcCkge1xuXHQmOmFmdGVyIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nLWlubGluZS1zdGFydCgkb2Zmc2V0KTtcblx0XHR0b3A6ICR0b3A7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGFsbCBzdHlsZXMgZm9yIGFuIGljb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIGljb24gbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwbGFjZW1lbnQgW3N0YW5kYWxvbmVdXG4vLy8gICBgc3RhbmRhbG9uZWAsIGBhZnRlcmAsIG9yIGBiZWZvcmVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGljb24tb2Zmc2V0XVxuLy8vICAgU3BhY2UgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGhlIGlubGluZSB0ZXh0LlxuLy8vICAgSWdub3JlZCBmb3IgYHN0YW5kYWxvbmVgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRpY29uLWJlZm9yZS10b3B8JGljb24tYWZ0ZXItdG9wXVxuLy8vICAgQW1vdW50IHRvIHZlcnRpY2FsbHkgc2hpZnQgdGhlIGljb24uXG4vLy8gICBJZ25vcmVkIGZvciBgc3RhbmRhbG9uZWAuXG4vLy9cbkBtaXhpbiBpY29uKCRuYW1lLCAkcGxhY2VtZW50OiBzdGFuZGFsb25lLCAkb2Zmc2V0OiAkaWNvbi1vZmZzZXQsICR0b3A6IG51bGwpIHtcblx0QGluY2x1ZGUgLWljb24tYmFzZSgpO1xuXHRAaW5jbHVkZSBpY29uLWNvbnRlbnQoJG5hbWUpO1xuXG5cdEBpZiAkcGxhY2VtZW50ID09IGJlZm9yZSB7XG5cdFx0JHRvcDogaWYoJHRvcCwgJHRvcCwgJGljb24tYmVmb3JlLXRvcCk7XG5cdFx0QGluY2x1ZGUgLWljb24tYmVmb3JlKCRvZmZzZXQsICR0b3ApO1xuXHR9IEBlbHNlIGlmICRwbGFjZW1lbnQgPT0gYWZ0ZXIge1xuXHRcdCR0b3A6IGlmKCR0b3AsICR0b3AsICRpY29uLWFmdGVyLXRvcCk7XG5cdFx0QGluY2x1ZGUgLWljb24tYWZ0ZXIoJG9mZnNldCwgJHRvcCk7XG5cdH1cbn1cblxuXG4vLyBhcHBsZVxuQGluY2x1ZGUgaWNvbi1zZXQoYXBwbGUsICdcXEY4RkYnKTtcblxuLy8gZ2VuZXJhbFxuQGluY2x1ZGUgaWNvbi1zZXQoY2hldnJvbmRvd24sICdcXEYwMDAnKTtcbkBpbmNsdWRlIGljb24tc2V0KGNoZXZyb25kb3duY2lyY2xlLCAnXFxGMDAxJyk7XG5AaW5jbHVkZSBpY29uLXNldChjaGV2cm9ubGVmdCwgJ1xcRjAwMicpO1xuQGluY2x1ZGUgaWNvbi1zZXQoY2hldnJvbmxlZnRjaXJjbGUsICdcXEYwMDUnKTtcbkBpbmNsdWRlIGljb24tc2V0KGNoZXZyb25yaWdodCwgJ1xcRjAwNCcpO1xuQGluY2x1ZGUgaWNvbi1zZXQoY2hldnJvbnJpZ2h0Y2lyY2xlLCAnXFxGMDAzJyk7XG5AaW5jbHVkZSBpY29uLXNldChjaGV2cm9udXAsICdcXEYwMDYnKTtcbkBpbmNsdWRlIGljb24tc2V0KGNoZXZyb251cGNpcmNsZSwgJ1xcRjAwNycpO1xuQGluY2x1ZGUgaWNvbi1zZXQoZG93bmxvYWRjaXJjbGUsICdcXEYwMTAnKTtcbkBpbmNsdWRlIGljb24tc2V0KGRvd25sb2Fkc29saWQsICdcXEYwMTEnKTtcbkBpbmNsdWRlIGljb24tc2V0KGV4dGVybmFsLCAnXFxGMDEyJyk7XG5AaW5jbHVkZSBpY29uLXNldChncmlkLCAnXFxGMDI1Jyk7XG5AaW5jbHVkZSBpY29uLXNldChsaXN0Y2lyY2xlLCAnXFxGMDE0Jyk7XG5cbi8vIG1lZGlhXG5AaW5jbHVkZSBpY29uLXNldChwYXVzZWNpcmNsZSwgJ1xcRjAxOScpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGxheWNpcmNsZSwgJ1xcRjAyMCcpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGxheXNvbGlkLCAnXFxGMDIxJyk7XG5AaW5jbHVkZSBpY29uLXNldChyZXBsYXksICdcXEYwMjInKTtcbkBpbmNsdWRlIGljb24tc2V0KHJlcGxheWNpcmNsZSwgJ1xcRjAyOScpO1xuQGluY2x1ZGUgaWNvbi1zZXQoc3RvcGNpcmNsZSwgJ1xcRjAyNycpO1xuQGluY2x1ZGUgaWNvbi1zZXQoc3RvcHNvbGlkLCAnXFxGMDI4Jyk7XG5cbi8vIHNvY2lhbFxuQGluY2x1ZGUgaWNvbi1zZXQoZmF2b3JpdGUsICdcXEYwNDgnKTtcbkBpbmNsdWRlIGljb24tc2V0KHNoYXJlLCAnXFxGMDM3Jyk7XG5AaW5jbHVkZSBpY29uLXNldChmYWNlYm9vaywgJ1xcRjAzMCcpO1xuQGluY2x1ZGUgaWNvbi1zZXQoaW5zdGFncmFtLCAnXFxGMDQxJyk7XG5AaW5jbHVkZSBpY29uLXNldChsaW5rLCAnXFxGMDMxJyk7XG5AaW5jbHVkZSBpY29uLXNldChsaW5rZWRpbiwgJ1xcRjA0MycpO1xuQGluY2x1ZGUgaWNvbi1zZXQobWFpbCwgJ1xcRjAzMicpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGludGVyZXN0LCAnXFxGMDMzJyk7XG5AaW5jbHVkZSBpY29uLXNldChxcXdlaWJvLCAnXFxGMDM0Jyk7XG5AaW5jbHVkZSBpY29uLXNldChxem9uZSwgJ1xcRjAzNScpO1xuQGluY2x1ZGUgaWNvbi1zZXQocmVucmVuLCAnXFxGMDM2Jyk7XG5AaW5jbHVkZSBpY29uLXNldChzbmFwY2hhdCwgJ1xcRjA0NCcpO1xuQGluY2x1ZGUgaWNvbi1zZXQodHVtYmxyLCAnXFxGMDM4Jyk7XG5AaW5jbHVkZSBpY29uLXNldCh0d2l0dGVyLCAnXFxGMDM5Jyk7XG5AaW5jbHVkZSBpY29uLXNldCh3ZWlibywgJ1xcRjA0MCcpO1xuXG4vLyBmb3Jtc1xuQGluY2x1ZGUgaWNvbi1zZXQoY2lyY2xlLCAnXFxGMDU3Jyk7XG5AaW5jbHVkZSBpY29uLXNldChjaGVjaywgJ1xcRjA0MicpO1xuQGluY2x1ZGUgaWNvbi1zZXQoY2hlY2tjaXJjbGUsICdcXEYwMjYnKTtcbkBpbmNsdWRlIGljb24tc2V0KGNoZWNrc29saWQsICdcXEYwNTgnKTtcbkBpbmNsdWRlIGljb24tc2V0KHJlc2V0LCAnXFxGMDI0Jyk7XG5AaW5jbHVkZSBpY29uLXNldChyZXNldGNpcmNsZSwgJ1xcRjAwOCcpO1xuQGluY2x1ZGUgaWNvbi1zZXQocmVzZXRzb2xpZCwgJ1xcRjA0OScpO1xuQGluY2x1ZGUgaWNvbi1zZXQoZXhjbGFtYXRpb24sICdcXEYwNTUnKTtcbkBpbmNsdWRlIGljb24tc2V0KGV4Y2xhbWF0aW9uY2lyY2xlLCAnXFxGMDUxJyk7XG5AaW5jbHVkZSBpY29uLXNldChleGNsYW1hdGlvbnNvbGlkLCAnXFxGMDUyJyk7XG5AaW5jbHVkZSBpY29uLXNldChpbmZvY2lyY2xlLCAnXFxGMDEzJyk7XG5AaW5jbHVkZSBpY29uLXNldChxdWVzdGlvbmNpcmNsZSwgJ1xcRjA1NicpO1xuQGluY2x1ZGUgaWNvbi1zZXQocXVlc3Rpb25zb2xpZCwgJ1xcRjA1MycpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGx1cywgJ1xcRjA0NScpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGx1c2NpcmNsZSwgJ1xcRjAyMycpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGx1c3NvbGlkLCAnXFxGMDU0Jyk7XG5AaW5jbHVkZSBpY29uLXNldChtaW51cywgJ1xcRjA0NycpO1xuQGluY2x1ZGUgaWNvbi1zZXQobWludXNjaXJjbGUsICdcXEYwNDYnKTtcbkBpbmNsdWRlIGljb24tc2V0KG1pbnVzc29saWQsICdcXEYwNTAnKTtcblxuLy8gdWlcbkBpbmNsdWRlIGljb24tc2V0KGNsb3NlLCAnXFxGMDA5Jyk7XG5AaW5jbHVkZSBpY29uLXNldChwYWRkbGVkb3duLCAnXFxGMDE1Jyk7XG5AaW5jbHVkZSBpY29uLXNldChwYWRkbGVsZWZ0LCAnXFxGMDE2Jyk7XG5AaW5jbHVkZSBpY29uLXNldChwYWRkbGVyaWdodCwgJ1xcRjAxNycpO1xuQGluY2x1ZGUgaWNvbi1zZXQocGFkZGxldXAsICdcXEYwMTgnKTtcblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIEJhc2UgLyBJY29uc1xuLy8vXG4vLy8gQGdyb3VwIGljb25zXG4vLy8vXG5cbi8vL1xuLy8vIEljb24gY2xhc3MgbmFtZVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRpY29uLWNsYXNzbmFtZTogJ2ljb24nICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBMZWFybiBNb3JlIGNsYXNzIG5hbWVcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kaWNvbi1tb3JlLWNsYXNzbmFtZTogJ21vcmUnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBMZWFybiBNb3JlIGNoZXZyb24gY2hhcmFjdGVyXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEB0b2RvIHN3aXRjaCB0byBjaGFyYWN0ZXIgY29kZSBvbmNlIGljb24gaXMgZW1iZWRkZWQgaW4gTXlyaWFkLCBldGMuXG4vLy9cbiRpY29uLW1vcmUtY2hhcmFjdGVyOiBjaGV2cm9uICsgaW5saW5lLWVuZCgpICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBMZWFybiBNb3JlIGZvbnQgc3RhY2tcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQHRvZG8gc3dpdGNoIHRvIGB3ZWJmb250c2Agb25jZSBpY29uIGlzIGVtYmVkZGVkIGluIE15cmlhZCwgZXRjLlxuLy8vXG4kaWNvbi1tb3JlLWZvbnQtc3RhY2s6IGljb25zICFkZWZhdWx0O1xuXG4uI3skaWNvbi1jbGFzc25hbWV9LFxuLiN7JGljb24tbW9yZS1jbGFzc25hbWV9IHtcblx0QGluY2x1ZGUgLWljb24tYmFzZSgpO1xufVxuXG4uI3skaWNvbi1jbGFzc25hbWV9LWFmdGVyLFxuLiN7JGljb24tbW9yZS1jbGFzc25hbWV9IHtcblx0QGluY2x1ZGUgLWljb24tYWZ0ZXIoKTtcbn1cblxuLiN7JGljb24tY2xhc3NuYW1lfS1iZWZvcmUge1xuXHRAaW5jbHVkZSAtaWNvbi1iZWZvcmUoKTtcbn1cblxuLiN7JGljb24tY2xhc3NuYW1lfSB7XG5cdEBlYWNoICRpY29uIGluIGljb24tbGlzdCgpIHtcblx0XHQmLSN7JGljb259IHtcblx0XHRcdEBpbmNsdWRlIGljb24tY29udGVudCgkaWNvbik7XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRpY29uLW1vcmUtY2xhc3NuYW1lfSB7XG5cdEBpbmNsdWRlIGljb24tY29udGVudCgkaWNvbi1tb3JlLWNoYXJhY3Rlcik7XG5cblx0QGlmICRpY29uLW1vcmUtZm9udC1zdGFjayAhPSAkaWNvbi1mb250LXN0YWNrIHtcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtZmFtaWx5KCRpY29uLW1vcmUtZm9udC1zdGFjayk7XG5cdFx0fVxuXHR9XG5cblx0Ji1ibG9jayB7XG5cdFx0bWFyZ2luLXRvcDogLjVlbTtcblx0fVxufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iLCIvLy8vXG4vLy8gQmFzZSAvIFZpZXdwb3J0c1xuLy8vXG4vLy8gQGdyb3VwIHZpZXdwb3J0c1xuLy8vL1xuXG4vL1xuLy8gT3V0cHV0IGEgYG1pbi13aWR0aGAgYmFzZWQgb24gdGhlIHNtYWxsZXN0IHZpZXdwb3J0XG4vL1xuXG5ib2R5IHtcblx0JG1pbi13aWR0aDogZmFsc2U7XG5cblx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoZGVmYXVsdCkge1xuXHRcdCR3aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkdmlld3BvcnQsIG1pbi13aWR0aCk7XG5cblx0XHRAaWYgJHdpZHRoIGFuZCAoJG1pbi13aWR0aCA9PSBmYWxzZSBvciAkd2lkdGggPCAkbWluLXdpZHRoKSB7XG5cdFx0XHQkbWluLXdpZHRoOiAkd2lkdGg7XG5cdFx0fVxuXHR9XG5cblx0QGlmICRtaW4td2lkdGgge1xuXHRcdG1pbi13aWR0aDogJG1pbi13aWR0aDtcblx0fVxufVxuXG4vL1xuLy8gQ2xhc3NlcyBmb3IgaGlkaW5nIGFuZCBkaXNwbGF5aW5nIGVsZW1lbnRzXG4vL1xuLy8gQGV4YW1wbGUgY3NzXG4vL1x0XHQubGFyZ2UtaGlkZVxuLy9cdFx0Lm1lZGl1bS1oaWRlXG4vL1x0XHQuc21hbGwtaGlkZVxuLy9cbi8vXHRcdC5sYXJnZS1zaG93XG4vL1x0XHQubWVkaXVtLXNob3dcbi8vXHRcdC5zbWFsbC1zaG93XG4vL1xuLy9cdFx0LmxhcmdlLXNob3ctaW5saW5lXG4vL1x0XHQubWVkaXVtLXNob3ctaW5saW5lXG4vL1x0XHQuc21hbGwtc2hvdy1pbmxpbmVcbi8vXG4vL1x0XHQubGFyZ2Utc2hvdy1pbmxpbmVibG9ja1xuLy9cdFx0Lm1lZGl1bS1zaG93LWlubGluZWJsb2NrXG4vL1x0XHQuc21hbGwtc2hvdy1pbmxpbmVibG9ja1xuLy9cblxuQGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoZGVmYXVsdCkge1xuXHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHQuI3skdmlld3BvcnR9LWhpZGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuI3skdmlld3BvcnR9LXNob3cge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LiN7JHZpZXdwb3J0fS1zaG93LWlubGluZSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0fVxuXG5cdFx0LiN7JHZpZXdwb3J0fS1zaG93LWlubGluZWJsb2NrIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIE1vZHVsZXMgLyBCdXR0b25cbi8vL1xuLy8vIDEuIGZpeCBiYXNlbGluZSBpbmNvbnNpc3RlbmN5IChsaW5lLWhlaWdodCArIHBhZGRpbmctdG9wKVxuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXMuYnV0dG9uXG4vLy8vXG5cbi8vL1xuLy8vIEJ1dHRvbiBjbGFzcyBuYW1lXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGJ1dHRvbi1jbGFzc25hbWU6ICdidXR0b24nICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBCdXR0b24gdGV4dCBjb2xvclxuLy8vXG4vLy8gQHR5cGUgQ29sb3Jcbi8vL1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiBzd2F0Y2godGl0bGUsIGRhcmspICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDb2xvciBhdCB0aGUgdG9wIG9mIHRoZSBCdXR0b24gYmFja2dyb3VuZCBncmFkaWVudFxuLy8vXG4vLy8gQHR5cGUgQ29sb3Jcbi8vL1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLXRvcDogbWl4KHN3YXRjaChibHVlLCBkYXJrKSwgc3dhdGNoKGJsdWUsIGxpZ2h0KSwgNjUlKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ29sb3IgYXQgdGhlIGJvdHRvbSBvZiB0aGUgQnV0dG9uIGJhY2tncm91bmQgZ3JhZGllbnQuXG4vLy9cbi8vLyBVc2VkIGFzIHRoZSBmYWxsYmFjayBmb3Igbm8gZ3JhZGllbnQgc3VwcG9ydC5cbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRidXR0b24tYmFja2dyb3VuZC1ib3R0b206IHN3YXRjaChibHVlLCBsaWdodCkgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEJ1dHRvbiBib3JkZXIgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRidXR0b24tYm9yZGVyOiAjMDdjICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBQZXJjZW50YWdlIG9mIHdoaXRlIHRvIGFkZC9yZW1vdmUgb24gQnV0dG9uIGA6aG92ZXJgXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGJ1dHRvbi1ob3Zlci1hZGp1c3Q6IDglICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBQZXJjZW50YWdlIG9mIHdoaXRlIHRvIGFkZC9yZW1vdmUgb24gQnV0dG9uIGA6YWN0aXZlYFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRidXR0b24tYWN0aXZlLWFkanVzdDogLTglICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBCdXR0b24gb3BhY2l0eSB3aGVuIGRpc2FibGVkXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuMyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgYnV0dG9uXG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGJ1dHRvbiwgKFxuXHRsYXJnZTogKDMyLCA2MiwgbWVkaXVtKSAvLyAxXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIE91dHB1dCBiYWNrZ3JvdW5kIHN0eWxlc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRvcFxuLy8vICAgVGhlIGNvbG9yIGF0IHRoZSB0b3Agb2YgdGhlIGJhY2tncm91bmQgZ3JhZGllbnRcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3R0b21cbi8vLyAgIFRoZSBjb2xvciBhdCB0aGUgYm90dG9tIG9mIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyXG4vLy8gICBUaGUgYm9yZGVyIGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdC13aGl0ZSBbbnVsbF1cbi8vLyAgIE9wdGlvbmFsIHBlcmNlbnRhZ2UgdG8gcGFzcyB0byBgY29sb3ItYWRqdXN0LXdoaXRlYFxuLy8vXG5AbWl4aW4gLWJ1dHRvbi1iYWNrZ3JvdW5kKCR0b3AsICRib3R0b20sICRib3JkZXIsICRhZGp1c3Qtd2hpdGU6IG51bGwpIHtcblx0QGlmICRhZGp1c3Qtd2hpdGUge1xuXHRcdCR0b3A6IGNvbG9yLWFkanVzdC13aGl0ZSgkdG9wLCAkYWRqdXN0LXdoaXRlKTtcblx0XHQkYm90dG9tOiBjb2xvci1hZGp1c3Qtd2hpdGUoJGJvdHRvbSwgJGFkanVzdC13aGl0ZSk7XG5cblx0XHQvLyBib3JkZXIgY29sb3Igb25seSBzaGlmdHMgdXAgdG8gOCVcblx0XHQkYm9yZGVyOiBjb2xvci1hZGp1c3Qtd2hpdGUoJGJvcmRlciwgbWF4KG1pbigkYWRqdXN0LXdoaXRlLCA4JSksIC04JSkpO1xuXHR9XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJGJvdHRvbTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCR0b3AsICRib3R0b20pO1xuXHRib3JkZXItY29sb3I6IGxvZ2ljYWwtc2hvcnRoYW5kKCRib3JkZXIpO1xufVxuXG4vLy9cbi8vLyBtb2R1bGU6IC5idXR0b25cbi8vL1xuLiN7JGJ1dHRvbi1jbGFzc25hbWV9IHtcblx0JHBhZGRpbmc6IDE1cHg7XG5cblx0QGluY2x1ZGUgdHlwb2dyYXBoeShidXR0b24pO1xuXHRAaW5jbHVkZSBmb250LWZhbWlseSh3ZWJmb250cyk7XG5cdEBpbmNsdWRlIC1idXR0b24tYmFja2dyb3VuZCgkYnV0dG9uLWJhY2tncm91bmQtdG9wLCAkYnV0dG9uLWJhY2tncm91bmQtYm90dG9tLCAkYnV0dG9uLWJvcmRlcik7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiBsb2dpY2FsLXNob3J0aGFuZCgkZ2xvYmFsLWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWluLXdpZHRoOiA2MHB4IC0gJHBhZGRpbmcgKiAyO1xuXHRwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuXHRwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcblx0cGFkZGluZy10b3A6IDFweDsgLy8gMVxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0Jjpob3ZlciB7XG5cdFx0QGluY2x1ZGUgLWJ1dHRvbi1iYWNrZ3JvdW5kKCRidXR0b24tYmFja2dyb3VuZC10b3AsICRidXR0b24tYmFja2dyb3VuZC1ib3R0b20sICRidXR0b24tYm9yZGVyLCAkYnV0dG9uLWhvdmVyLWFkanVzdCk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0QGluY2x1ZGUgZm9jdXMtc2hhZG93KCk7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0QGluY2x1ZGUgLWJ1dHRvbi1iYWNrZ3JvdW5kKCRidXR0b24tYmFja2dyb3VuZC10b3AsICRidXR0b24tYmFja2dyb3VuZC1ib3R0b20sICRidXR0b24tYm9yZGVyLCAkYnV0dG9uLWFjdGl2ZS1hZGp1c3QpO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQmOmRpc2FibGVkLFxuXHQmLiN7JHN0YXRlLWRpc2FibGVkLWNsYXNzbmFtZX0ge1xuXHRcdEBpbmNsdWRlIC1idXR0b24tYmFja2dyb3VuZCgkYnV0dG9uLWJhY2tncm91bmQtdG9wLCAkYnV0dG9uLWJhY2tncm91bmQtYm90dG9tLCAkYnV0dG9uLWJvcmRlcik7XG5cdFx0Y29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0b3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xuXG5cdFx0QGluY2x1ZGUgaWU4KCkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWl4KHN3YXRjaChwYWdlKSwgJGJ1dHRvbi1iYWNrZ3JvdW5kLWJvdHRvbSwgcGVyY2VudGFnZSgxIC0gJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5KSk7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IGJ1dHRvbi1jb21wYWN0XG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGJ1dHRvbi1jb21wYWN0LCAoXG5cdGxhcmdlOiAoMjYsIDM4LCBtZWRpdW0pIC8vIDFcbiksICRkZWZhdWx0OiB0cnVlKTtcblxuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoYnV0dG9uLWNvbXBhY3QsIChcblx0bGFyZ2U6IChmb250LXNpemU6IDE0cHgpXG4pLCAkZGVmYXVsdDogdHJ1ZSwgJGlzbzogKGphLUpQLCBrby1LUikpO1xuXG4vLy9cbi8vLyBPdXRwdXQgY29tcGFjdCBidXR0b24gc3R5bGVzXG4vLy9cbkBtaXhpbiBidXR0b24tY29tcGFjdCgpIHtcbiAgICAkcGFkZGluZzogMTBweDtcblxuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoYnV0dG9uLWNvbXBhY3QpO1xuICAgIG1pbi13aWR0aDogNDBweCAtICRwYWRkaW5nICogMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xufVxuXG4vLy9cbi8vLyBzdWJtb2R1bGU6IC5idXR0b24tY29tcGFjdFxuLy8vXG4uI3skYnV0dG9uLWNsYXNzbmFtZX0tY29tcGFjdCB7XG5cdEBpbmNsdWRlIGJ1dHRvbi1jb21wYWN0KCk7XG59XG5cbi8vL1xuLy8vIHN1Ym1vZHVsZTogLmJ1dHRvbi1ibG9ja1xuLy8vXG4uI3skYnV0dG9uLWNsYXNzbmFtZX0tYmxvY2sge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vL1xuLy8vIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYW4gZXh0ZW5zaW9uIHRvIGJ1dHRvblxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRleHQtY29sb3IgWyRidXR0b24tdGV4dC1jb2xvcl1cbi8vLyAgIEJ1dHRvbiB0ZXh0IGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC10b3AgWyRidXR0b24tYmFja2dyb3VuZC10b3BdXG4vLy8gICBDb2xvciBhdCB0aGUgdG9wIG9mIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ib3R0b20gWyRidXR0b24tYmFja2dyb3VuZC1ib3R0b21dXG4vLy8gICBDb2xvciBhdCB0aGUgYm90dG9tIG9mIHRoZSBiYWNrZ3JvdW5kIGdyYWRpZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlciBbJGJ1dHRvbi1ib3JkZXJdXG4vLy8gICBCdXR0b24gYm9yZGVyIGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhvdmVyLWFkanVzdCBbJGJ1dHRvbi1ob3Zlci1hZGp1c3RdXG4vLy8gICBQZXJjZW50YWdlIG9mIHdoaXRlIHRvIGFkZC9yZW1vdmUgb24gQnV0dG9uIGA6aG92ZXJgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFjdGl2ZS1hZGp1c3QgWyRidXR0b24tYWN0aXZlLWFkanVzdF1cbi8vLyAgIFBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYWRkL3JlbW92ZSBvbiBCdXR0b24gYDphY3RpdmVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpc2FibGVkLW9wYWNpdHkgWyRidXR0b24tZGlzYWJsZWQtb3BhY2l0eV1cbi8vLyAgIEJ1dHRvbiBvcGFjaXR5IHdoZW4gZGlzYWJsZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmJ1dHRvbi1zZWNvbmRhcnkge1xuLy8vICAgICBAaW5jbHVkZSBidXR0b24tZXh0ZW5kZWQoXG4vLy8gICAgICAgJHRleHQtY29sb3I6IHN3YXRjaChibHVlLCBsaWdodCksXG4vLy8gICAgICAgJGJhY2tncm91bmQtdG9wOiBzd2F0Y2gocGFnZSwgbGlnaHQpLFxuLy8vICAgICAgICRiYWNrZ3JvdW5kLWJvdHRvbTogc3dhdGNoKGZyYW1pbmcsIGxpZ2h0KSxcbi8vLyAgICAgICAkYm9yZGVyOiBzd2F0Y2goa2V5bGluZSwgbGlnaHQpLFxuLy8vICAgICAgICRob3Zlci1hZGp1c3Q6IDQwJSxcbi8vLyAgICAgICAkYWN0aXZlLWFkanVzdDogLTMlLFxuLy8vICAgICAgICRkaXNhYmxlZC1vcGFjaXR5OiAuNlxuLy8vICAgICApO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gYnV0dG9uLWV4dGVuZGVkKFxuXHQkdGV4dC1jb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yLFxuXHQkYmFja2dyb3VuZC10b3A6ICRidXR0b24tYmFja2dyb3VuZC10b3AsXG5cdCRiYWNrZ3JvdW5kLWJvdHRvbTogJGJ1dHRvbi1iYWNrZ3JvdW5kLWJvdHRvbSxcblx0JGJvcmRlcjogJGJ1dHRvbi1ib3JkZXIsXG5cdCRob3Zlci1hZGp1c3Q6ICRidXR0b24taG92ZXItYWRqdXN0LFxuXHQkYWN0aXZlLWFkanVzdDogJGJ1dHRvbi1hY3RpdmUtYWRqdXN0LFxuXHQkZGlzYWJsZWQtb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5XG4pIHtcblx0QGluY2x1ZGUgLWJ1dHRvbi1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLXRvcCwgJGJhY2tncm91bmQtYm90dG9tLCAkYm9yZGVyKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXG5cdCY6aG92ZXIge1xuXHRcdEBpbmNsdWRlIC1idXR0b24tYmFja2dyb3VuZCgkYmFja2dyb3VuZC10b3AsICRiYWNrZ3JvdW5kLWJvdHRvbSwgJGJvcmRlciwgJGhvdmVyLWFkanVzdCk7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdFx0QGluY2x1ZGUgLWJ1dHRvbi1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLXRvcCwgJGJhY2tncm91bmQtYm90dG9tLCAkYm9yZGVyLCAkYWN0aXZlLWFkanVzdCk7XG5cdH1cblxuXHQmOmRpc2FibGVkLFxuXHQmLiN7JHN0YXRlLWRpc2FibGVkLWNsYXNzbmFtZX0ge1xuXHRcdEBpbmNsdWRlIC1idXR0b24tYmFja2dyb3VuZCgkYmFja2dyb3VuZC10b3AsICRiYWNrZ3JvdW5kLWJvdHRvbSwgJGJvcmRlcik7XG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXG5cdFx0QGluY2x1ZGUgaWU4KCkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWl4KHN3YXRjaChwYWdlKSwgJGJhY2tncm91bmQtYm90dG9tLCBwZXJjZW50YWdlKDEgLSAkZGlzYWJsZWQtb3BhY2l0eSkpO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBTZWNvbmRhcnkgQnV0dG9uIHRleHQgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRidXR0b24tc2Vjb25kYXJ5LXRleHQtY29sb3I6IHN3YXRjaChibHVlLCBsaWdodCkgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlY29uZGFyeSBCdXR0b24gYmFja2dyb3VuZCBncmFkaWVudCB0b3AgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIENvbG9yXG4vLy9cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtdG9wOiBzd2F0Y2gocGFnZSwgbGlnaHQpICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWNvbmRhcnkgQnV0dG9uIGJhY2tncm91bmQgZ3JhZGllbnQgYm90dG9tIGNvbG9yLlxuLy8vIFVzZWQgYXMgdGhlIGZhbGxiYWNrIGZvciBubyBncmFkaWVudCBzdXBwb3J0LlxuLy8vXG4vLy8gQHR5cGUgQ29sb3Jcbi8vL1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC1ib3R0b206IHN3YXRjaChmcmFtaW5nLCBsaWdodCkgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlY29uZGFyeSBCdXR0b24gYm9yZGVyIGNvbG9yXG4vLy9cbi8vLyBAdHlwZSBDb2xvclxuLy8vXG4kYnV0dG9uLXNlY29uZGFyeS1ib3JkZXI6IHN3YXRjaChrZXlsaW5lLCBsaWdodCkgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYWRkL3JlbW92ZSBvbiBTZWNvbmRhcnkgQnV0dG9uIGA6aG92ZXJgXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYWRqdXN0OiA0MCUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYWRkL3JlbW92ZSBvbiBTZWNvbmRhcnkgQnV0dG9uIGA6YWN0aXZlYFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1hZGp1c3Q6IC0zJSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2Vjb25kYXJ5IEJ1dHRvbiBvcGFjaXR5IHdoZW4gZGlzYWJsZWRcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kYnV0dG9uLXNlY29uZGFyeS1kaXNhYmxlZC1vcGFjaXR5OiAuNiAhZGVmYXVsdDtcblxuLy8vXG4vLy8gc3VibW9kdWxlOiAuYnV0dG9uLXNlY29uZGFyeVxuLy8vXG4uI3skYnV0dG9uLWNsYXNzbmFtZX0tc2Vjb25kYXJ5IHtcblx0QGluY2x1ZGUgYnV0dG9uLWV4dGVuZGVkKFxuXHRcdCR0ZXh0LWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS10ZXh0LWNvbG9yLFxuXHRcdCRiYWNrZ3JvdW5kLXRvcDogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC10b3AsXG5cdFx0JGJhY2tncm91bmQtYm90dG9tOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWJvdHRvbSxcblx0XHQkYm9yZGVyOiAkYnV0dG9uLXNlY29uZGFyeS1ib3JkZXIsXG5cdFx0JGhvdmVyLWFkanVzdDogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYWRqdXN0LFxuXHRcdCRhY3RpdmUtYWRqdXN0OiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYWRqdXN0LFxuXHRcdCRkaXNhYmxlZC1vcGFjaXR5OiAkYnV0dG9uLXNlY29uZGFyeS1kaXNhYmxlZC1vcGFjaXR5XG5cdCk7XG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBNb2R1bGVzIC8gQ2FsbG91dFxuLy8vXG4vLy8gQGdyb3VwIG1vZHVsZXMuY2FsbG91dFxuLy8vL1xuXG4vLy9cbi8vLyBDYWxsb3V0IGNsYXNzIG5hbWVcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kY2FsbG91dC1jbGFzc25hbWU6ICdjYWxsb3V0JyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ2FsbG91dCBiYWNrZ3JvdW5kIGNvbG9yXG4vLy9cbi8vLyBAdHlwZSBTd2F0Y2ggfCBDb2xvclxuLy8vXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiBiYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDYWxsb3V0IGJvcmRlciBjb2xvclxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJGNhbGxvdXQtYm9yZGVyOiBmcmFtaW5nICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDYWxsb3V0IGNvbnRhaW5lciBwYWlkZGluZ1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vXG4kY2FsbG91dC1wYWRkaW5nOiBlbSgzMHB4KSBlbSg4MHB4KSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ2FsbG91dCBjb250YWluZXIgbWFyZ2luXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbiRjYWxsb3V0LW1hcmdpbjogZW0oMjBweCkgYXV0byAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ2FsbG91dCB0aXRsZSBjb2xvclxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJGNhbGxvdXQtdGl0bGU6IHRpdGxlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDYWxsb3V0IGNvcHkgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIFN3YXRjaCB8IENvbG9yXG4vLy9cbiRjYWxsb3V0LWNvcHk6IGNhcHRpb24gIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIG1vZHVsZTogLmNhbGxvdXRcbi8vL1xuLiN7JGNhbGxvdXQtY2xhc3NuYW1lfSB7XG5cdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtYm9yZGVyLXJhZGl1cztcblx0Ym9yZGVyOiAxcHggc29saWQgY29sb3IoJGNhbGxvdXQtYm9yZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGNhbGxvdXQtYmFja2dyb3VuZCk7XG5cdG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoJGNhbGxvdXQtbWFyZ2luKTtcblx0cGFkZGluZzogbG9naWNhbC1zaG9ydGhhbmQoJGNhbGxvdXQtcGFkZGluZyk7XG5cblx0QGluY2x1ZGUgdHlwb2dyYXBoeS1jb250YWluZXItcmVzZXQ7XG5cblx0Ji10aXRsZSB7XG5cdFx0Y29sb3I6IGNvbG9yKCRjYWxsb3V0LXRpdGxlKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShzdWJzZWN0aW9uLXN1YmhlYWRsaW5lKTtcblx0fVxuXG5cdCYtY29weSB7XG5cdFx0Y29sb3I6IGNvbG9yKCRjYWxsb3V0LWNvcHkpO1xuXG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShzbWFsbGJsb2NrLWNvcHkpO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHR9XG59XG5cbi8vL1xuLy8vIENvbnZlbmllbmNlIG1ldGhvZCBmb3IgY3JlYXRpbmcgYW4gZXh0ZW5zaW9uIHRvIGNhbGxvdXRcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkYmFja2dyb3VuZCBbJGNhbGxvdXQtYmFja2dyb3VuZF1cbi8vLyAgIENhbGxvdXQgYmFja2dyb3VuZCBjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtTd2F0Y2h8Q29sb3J9ICRib3JkZXIgWyRjYWxsb3V0LWJvcmRlcl1cbi8vLyAgIENhbGxvdXQgYm9yZGVyIGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwYWRkaW5nIFskY2FsbG91dC1wYWRkaW5nXVxuLy8vICAgQ2FsbG91dCBjb250YWluZXIgcGFkZGluZ1xuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbWFyZ2luIFskY2FsbG91dC1tYXJnaW5dXG4vLy8gICBDYWxsb3V0IGNvbnRhaW5lciBtYXJnaW5cbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkdGl0bGUtY29sb3IgWyRjYWxsb3V0LXRpdGxlXVxuLy8vICAgQ2FsbG91dCB0aXRsZSBjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtTd2F0Y2h8Q29sb3J9ICRjb3B5LWNvbG9yIFskY2FsbG91dC1jb3B5XVxuLy8vICAgQ2FsbG91dCBjb3B5IGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgIC5jYWxsb3V0LWVudmlyb25tZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2FsbG91dC1leHRlbmRlZChcbi8vLyAgICAgICAkYmFja2dyb3VuZDogY3JlYW0sXG4vLy8gICAgICAgJGJvcmRlcjogdHJhbnNwYXJlbnQsXG4vLy8gICAgICAgJHRpdGxlLWNvbG9yOiB0ZWFsLFxuLy8vICAgICAgICRjb3B5LWNvbG9yOiBjb3B5XG4vLy8gICAgICk7XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBjYWxsb3V0LWV4dGVuZGVkIChcblx0JGJhY2tncm91bmQ6ICRjYWxsb3V0LWJhY2tncm91bmQsXG5cdCRib3JkZXI6ICRjYWxsb3V0LWJvcmRlcixcblx0JHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmcsXG5cdCRtYXJnaW46ICRjYWxsb3V0LW1hcmdpbixcblx0JHRpdGxlLWNvbG9yOiAkY2FsbG91dC10aXRsZSxcblx0JGNvcHktY29sb3I6ICRjYWxsb3V0LWNvcHlcbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkYmFja2dyb3VuZCk7XG5cdGJvcmRlci1jb2xvcjogY29sb3IoJGJvcmRlcik7XG5cdG1hcmdpbjogbG9naWNhbC1zaG9ydGhhbmQoJG1hcmdpbik7XG5cdHBhZGRpbmc6IGxvZ2ljYWwtc2hvcnRoYW5kKCRwYWRkaW5nKTtcblxuXHQuI3skY2FsbG91dC1jbGFzc25hbWV9LXRpdGxlIHtcblx0XHRjb2xvcjogY29sb3IoJHRpdGxlLWNvbG9yKTtcblx0fVxuXG5cdC4jeyRjYWxsb3V0LWNsYXNzbmFtZX0tY29weSB7XG5cdFx0Y29sb3I6IGNvbG9yKCRjb3B5LWNvbG9yKTtcblx0fVxufVxuXG4vLy9cbi8vLyBzdWJtb2R1bGU6IC5jYWxsb3V0LWVudmlyb25tZW50XG4vLy9cbi4jeyRjYWxsb3V0LWNsYXNzbmFtZX0tZW52aXJvbm1lbnQge1xuXHRAaW5jbHVkZSBjYWxsb3V0LWV4dGVuZGVkKFxuXHRcdCRiYWNrZ3JvdW5kOiBjcmVhbSxcblx0XHQkYm9yZGVyOiB0cmFuc3BhcmVudCxcblx0XHQkdGl0bGUtY29sb3I6IHRlYWwsXG5cdFx0JGNvcHktY29sb3I6IGNvcHlcblx0KTtcbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIE1vZHVsZXMgLyBTb3N1bWlcbi8vL1xuLy8vIEBncm91cCBtb2R1bGVzLnNvc3VtaVxuLy8vL1xuXG4vLy9cbi8vLyBTb3N1bWkgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRzb3N1bWktY2xhc3NuYW1lOiAnc29zdW1pJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gSG9yaXpvbnRhbCBwYWRkaW5nIGFyb3VuZCBTb3N1bWkgbGlzdHNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kc29zdW1pLXBhZGRpbmc6IGVtKDE2IC8gMTIpO1xuXG4vLy9cbi8vLyBTcGFjZSBiZXR3ZWVuIFNvc3VtaSBsaXN0IGl0ZW1zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJHNvc3VtaS1saS1wYWRkaW5nOiBlbSg1IC8gMTIpO1xuXG4vLy9cbi8vLyBTb3N1bWkgdGV4dCBjb2xvclxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJHNvc3VtaS10ZXh0LWNvbG9yOiBzbWFsbDtcblxuLy8vXG4vLy8gU29zdW1pIGxpbmsgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIFN3YXRjaCB8IENvbG9yXG4vLy9cbiRzb3N1bWktbGluay1jb2xvcjogc21hbGxjdGE7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IHNvc3VtaVxuLy8vXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChzb3N1bWksIChcblx0bGFyZ2U6ICgyNCwgMzIsIHRleHQpXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIG1vZHVsZTogLnNvc3VtaVxuLy8vXG4uI3skc29zdW1pLWNsYXNzbmFtZX0ge1xuXHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHNvc3VtaSk7XG5cdGNvbG9yOiBjb2xvcigkc29zdW1pLXRleHQtY29sb3IpO1xuXG5cdCoge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGNvbG9yKCRzb3N1bWktbGluay1jb2xvcik7XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxuXG5cdG9sIHtcblx0XHRsaXN0LXN0eWxlOiBkZWNpbWFsIG91dHNpZGU7XG5cdFx0cGFkZGluZy1sZWZ0OiAkc29zdW1pLXBhZGRpbmc7XG5cdFx0cGFkZGluZy1yaWdodDogJHNvc3VtaS1wYWRkaW5nO1xuXHR9XG5cblx0bGksXG5cdHAge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc29zdW1pLWxpLXBhZGRpbmc7XG5cdH1cblxuXHRzbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdH1cblxuXHQ+IDpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAtJHNvc3VtaS1saS1wYWRkaW5nO1xuXHR9XG59XG5cblxuLy8vXG4vLy8gQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhbiBleHRlbnNpb24gdG8gc29zdW1pXG4vLy9cbi8vLyBAcGFyYW0ge1N3YXRjaHxDb2xvcn0gJHRleHQtY29sb3IgWyRzb3N1bWktdGV4dC1jb2xvcl1cbi8vLyAgIFNvc3VtaSB0ZXh0IGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N3YXRjaHxDb2xvcn0gJGxpbmstY29sb3IgWyRzb3N1bWktbGluay1jb2xvcl1cbi8vLyAgIFNvc3VtaSBsaW5rIGNvbG9yXG4vLy9cbkBtaXhpbiBzb3N1bWktZXh0ZW5kZWQoXG5cdCR0ZXh0LWNvbG9yOiAkc29zdW1pLXRleHQtY29sb3IsXG5cdCRsaW5rLWNvbG9yOiAkc29zdW1pLWxpbmstY29sb3Jcbikge1xuXHRjb2xvcjogY29sb3IoJHRleHQtY29sb3IpO1xuXG5cdGEge1xuXHRcdGNvbG9yOiBjb2xvcigkbGluay1jb2xvcik7XG5cdH1cbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8vL1xuLy8vIENvbG9yIE5hdiAvIEJhc2Vcbi8vL1xuLy8vIDEuIHJldmVydCBgdmlzdWFsbHloaWRkZW4oKWAgc3R5bGVzXG4vLy8gMi4gZml4IHJvdW5kaW5nIGVycm9ycyBpbiBTYWZhcmlcbi8vLyAzLiBmYXV4IGJvcmRlclxuLy8vXG4vLy8gQGdyb3VwIGFjLWNvbG9ybmF2XG4vLy8vXG5cbi8vL1xuLy8vIENvbG9yIE5hdiBjbGFzcyBuYW1lXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGNvbG9ybmF2LWNsYXNzbmFtZTogJ2NvbG9ybmF2JyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ29sb3IgTmF2IGJvcmRlciBjb2xvciBvbiBgOmhvdmVyYFxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJGNvbG9ybmF2LWJvcmRlci1ob3Zlcjoga2V5bGluZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ29sb3IgTmF2IGJvcmRlciBjb2xvciBvbiBgLmN1cnJlbnRgXG4vLy9cbi8vLyBAdHlwZSBTd2F0Y2ggfCBDb2xvclxuLy8vXG4kY29sb3JuYXYtYm9yZGVyLWN1cnJlbnQ6IGJsdWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENvbG9yIE5hdiBsYWJlbCBjb2xvclxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJGNvbG9ybmF2LWxhYmVsLWNvbG9yOiBjb3B5ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDb2xvciBOYXYgdGl0bGUga2V5bGluZSBjb2xvclxuLy8vXG4vLy8gQHR5cGUgU3dhdGNoIHwgQ29sb3Jcbi8vL1xuJGNvbG9ybmF2LXRpdGxlLWJvcmRlcjoga2V5bGluZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQHR5cG9ncmFwaHkgY29sb3JuYXYtdGl0bGVcbi8vL1xuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoY29sb3JuYXYtdGl0bGUsIChcblx0bGFyZ2U6ICgzNiwgNDgsIHRleHQpLFxuXHRtZWRpdW06ICgzMiwgNDQsIHRleHQpXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIEB0eXBvZ3JhcGh5IGNvbG9ybmF2LWxhYmVsXG4vLy9cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGNvbG9ybmF2LWxhYmVsLCAoXG5cdGxhcmdlOiAoMjQsIDI0LCB0ZXh0KSxcblx0bWVkaXVtOiAoMjAsIDI0LCBtZWRpdW0pXG4pLCAkZGVmYXVsdDogdHJ1ZSk7XG5cbi8vL1xuLy8vIFBhZGRpbmcgYXJvdW5kIGFsbCBpdGVtcywgaW5jbHVkaW5nIHRoZWlyIGhvdmVyL2N1cnJlbnQgYm9yZGVyc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtY29sb3JuYXYtaXRlbXMtcGFkZGluZzogNHB4O1xuXG4vLy9cbi8vLyBQYWRkaW5nIGFyb3VuZCBhbGwgaXRlbXMgZm9yIE1lZGl1bVxuLy8vXG4vLy8gQHNlZSAkLWNvbG9ybmF2LWl0ZW1zLXBhZGRpbmdcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LWl0ZW1zLXBhZGRpbmctbWVkaXVtOiA2cHg7XG5cbi8vL1xuLy8vIFNwYWNlIGJldHdlZW4gaXRlbXMsIGluY2x1ZGluZyB0aGVpciBob3Zlci9jdXJyZW50IGJvcmRlcnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LWl0ZW0tbWFyZ2luOiA2cHggIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNwYWNlIGJldHdlZW4gaXRlbXMgb24gTWVkaXVtXG4vLy9cbi8vLyBAc2VlICQtY29sb3JuYXYtaXRlbS1tYXJnaW5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LWl0ZW0tbWFyZ2luLW1lZGl1bTogNXB4ICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDb2xvciBOYXYgaXRlbSBzaXplXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJC1jb2xvcm5hdi1pdGVtLXNpemU6IDQwcHg7XG5cbi8vL1xuLy8vIENvbG9yIE5hdiBpdGVtIHNpemUgb24gTWVkaXVtXG4vLy9cbi8vLyBAc2VlICQtY29sb3JuYXYtaXRlbS1zaXplXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJC1jb2xvcm5hdi1pdGVtLXNpemUtbWVkaXVtOiAzNHB4O1xuXG4vLy9cbi8vLyBEaWFtZXRlciBvZiB0aGUgQ29sb3IgTmF2IHN3YXRjaFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtY29sb3JuYXYtc3dhdGNoLXNpemU6IDMycHg7XG5cbi8vL1xuLy8vIERpYW1ldGVyIG9mIHRoZSBDb2xvciBOYXYgc3dhdGNoIG9uIE1lZGl1bVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy9cbiQtY29sb3JuYXYtc3dhdGNoLXNpemUtbWVkaXVtOiAyOHB4O1xuXG4vLy9cbi8vLyBDb2xvciBOYXYgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJC1jb2xvcm5hdi1ib3JkZXItd2lkdGg6IDFweDtcblxuLy8vXG4vLy8gQ29sb3IgTmF2IHN3YXRjaCBib3JkZXIgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LXN3YXRjaC1ib3JkZXItY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgLjUpO1xuXG4vLy9cbi8vLyBDb2xvciBOYXYgc2Vjb25kYXJ5IHN3YXRjaCBib3JkZXIgY29sb3Jcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LXNlY29uZGFyeS1zd2F0Y2gtYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIC41KTtcblxuLy8vXG4vLy8gbW9kdWxlOiAuY29sb3JuYXZcbi8vL1xuLiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0tdGl0bGUge1xuXHRAaW5jbHVkZSB0eXBvZ3JhcGh5KGNvbG9ybmF2LXRpdGxlKTtcblx0Ym9yZGVyLWJvdHRvbTogJC1jb2xvcm5hdi1ib3JkZXItd2lkdGggc29saWQgY29sb3IoJGNvbG9ybmF2LXRpdGxlLWJvcmRlcik7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTBweCAwO1xufVxuXG4uI3skY29sb3JuYXYtY2xhc3NuYW1lfS1pdGVtcyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwICgkLWNvbG9ybmF2LWl0ZW1zLXBhZGRpbmcgLSAkLWNvbG9ybmF2LWl0ZW0tbWFyZ2luKTtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG5cdFx0JG1hcmdpbjogKCQtY29sb3JuYXYtaXRlbXMtcGFkZGluZy1tZWRpdW0gLSAkLWNvbG9ybmF2LWl0ZW0tbWFyZ2luLW1lZGl1bSk7XG5cblx0XHRtYXJnaW4tbGVmdDogJG1hcmdpbjtcblx0XHRtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG5cdFx0cGFkZGluZy10b3A6IDEycHg7XG5cdH1cbn1cblxuLiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0taXRlbSB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW46IDAgJC1jb2xvcm5hdi1pdGVtLW1hcmdpbjtcblxuXHRAaW5jbHVkZSB2aWV3cG9ydChtZWRpdW0pIHtcblx0XHRtYXJnaW4tbGVmdDogJC1jb2xvcm5hdi1pdGVtLW1hcmdpbi1tZWRpdW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAkLWNvbG9ybmF2LWl0ZW0tbWFyZ2luLW1lZGl1bTtcblx0fVxufVxuXG4uI3skY29sb3JuYXYtY2xhc3NuYW1lfS1saW5rIHtcblx0Ym9yZGVyOiAkLWNvbG9ybmF2LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRjb2xvcjogY29sb3IoJGNvbG9ybmF2LWxhYmVsLWNvbG9yKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luLWJvdHRvbTogZW0oMzIuMnB4KTsgLy8gMlxuXHRwYWRkaW5nOiAoJC1jb2xvcm5hdi1pdGVtLXNpemUgLSAkLWNvbG9ybmF2LXN3YXRjaC1zaXplIC0gMiAqICQtY29sb3JuYXYtYm9yZGVyLXdpZHRoKSAvIDI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6ICQtY29sb3JuYXYtaXRlbS1zaXplO1xuXHRoZWlnaHQ6ICQtY29sb3JuYXYtaXRlbS1zaXplO1xuXHR6LWluZGV4OiAxO1xuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdG1hcmdpbi1ib3R0b206IGVtKDI2LjJweCk7IC8vIDJcblx0XHRwYWRkaW5nOiAoJC1jb2xvcm5hdi1pdGVtLXNpemUtbWVkaXVtIC0gJC1jb2xvcm5hdi1zd2F0Y2gtc2l6ZS1tZWRpdW0gLSAyICogJC1jb2xvcm5hdi1ib3JkZXItd2lkdGgpIC8gMjtcblx0XHR3aWR0aDogJC1jb2xvcm5hdi1pdGVtLXNpemUtbWVkaXVtO1xuXHRcdGhlaWdodDogJC1jb2xvcm5hdi1pdGVtLXNpemUtbWVkaXVtO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBjb2xvcigkY29sb3JuYXYtYm9yZGVyLWhvdmVyKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQmLiN7JHN0YXRlLWN1cnJlbnQtY2xhc3NuYW1lfSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBjb2xvcigkY29sb3JuYXYtYm9yZGVyLWN1cnJlbnQpO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuXG4uI3skY29sb3JuYXYtY2xhc3NuYW1lfS1zd2F0Y2gge1xuXHRiYWNrZ3JvdW5kOiBzd2F0Y2goYmFja2dyb3VuZGltYWdlKSBjZW50ZXIgY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMCAkLWNvbG9ybmF2LWJvcmRlci13aWR0aCAwICQtY29sb3JuYXYtc3dhdGNoLWJvcmRlci1jb2xvcjsgLy8gM1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6ICQtY29sb3JuYXYtc3dhdGNoLXNpemU7XG5cdGhlaWdodDogJC1jb2xvcm5hdi1zd2F0Y2gtc2l6ZTtcblxuXHRAaW5jbHVkZSB2aWV3cG9ydChtZWRpdW0pIHtcblx0XHR3aWR0aDogJC1jb2xvcm5hdi1zd2F0Y2gtc2l6ZS1tZWRpdW07XG5cdFx0aGVpZ2h0OiAkLWNvbG9ybmF2LXN3YXRjaC1zaXplLW1lZGl1bTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMS41cHggcmdiYSgjMDAwLCAuMSk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBpbmhlcml0O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogaW5oZXJpdDtcblx0fVxufVxuXG4uI3skY29sb3JuYXYtY2xhc3NuYW1lfS1sYWJlbCB7XG5cdCYsXG5cdCYtaGlkZGVuIHtcblx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbigpO1xuXHR9XG5cblx0LiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0tbGluay4jeyRzdGF0ZS1jdXJyZW50LWNsYXNzbmFtZX0gJiB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShjb2xvcm5hdi1sYWJlbCk7XG5cdFx0Y2xpcDogYXV0bzsgLy8gMVxuXHRcdGNsaXAtcGF0aDogbm9uZTsgLy8gMVxuXHRcdG1hcmdpbi1sZWZ0OiAtNTBweDtcblx0XHRwYWRkaW5nLXRvcDogOHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHdpZHRoOiAxMDBweDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6IDRweDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gQ29udmVuaWVuY2UgbWV0aG9kIGZvciBjcmVhdGluZyBhbiBleHRlbnNpb24gdG8gY29sb3JuYXZcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkYm9yZGVyLWhvdmVyIFskY29sb3JuYXYtYm9yZGVyLWhvdmVyXVxuLy8vICAgQ29sb3IgTmF2IGJvcmRlciBjb2xvciBvbiBgOmhvdmVyYFxuLy8vXG4vLy8gQHBhcmFtIHtTd2F0Y2h8Q29sb3J9ICRib3JkZXItY3VycmVudCBbJGNvbG9ybmF2LWJvcmRlci1jdXJyZW50XVxuLy8vICAgQ29sb3IgTmF2IGJvcmRlciBjb2xvciBvbiBgLmN1cnJlbnRgXG4vLy9cbi8vLyBAcGFyYW0ge1N3YXRjaHxDb2xvcn0gJGxhYmVsLWNvbG9yIFskY29sb3JuYXYtbGFiZWwtY29sb3JdXG4vLy8gICBDb2xvciBOYXYgbGFiZWwgY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3dhdGNofENvbG9yfSAkdGl0bGUtYm9yZGVyIFskY29sb3JuYXYtdGl0bGUtYm9yZGVyXVxuLy8vICAgQ29sb3IgTmF2IHRpdGxlIGtleWxpbmUgY29sb3Jcbi8vL1xuQG1peGluIGNvbG9ybmF2LWV4dGVuZGVkKFxuXHQkYm9yZGVyLWhvdmVyOiAkY29sb3JuYXYtYm9yZGVyLWhvdmVyLFxuXHQkYm9yZGVyLWN1cnJlbnQ6ICRjb2xvcm5hdi1ib3JkZXItY3VycmVudCxcblx0JGxhYmVsLWNvbG9yOiAkY29sb3JuYXYtbGFiZWwtY29sb3IsXG5cdCR0aXRsZS1ib3JkZXI6ICRjb2xvcm5hdi10aXRsZS1ib3JkZXJcbikge1xuXHQuI3skY29sb3JuYXYtY2xhc3NuYW1lfS10aXRsZSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBjb2xvcigkdGl0bGUtYm9yZGVyKTtcblx0fVxuXG5cdC4jeyRjb2xvcm5hdi1jbGFzc25hbWV9LWxpbmsge1xuXHRcdGNvbG9yOiBjb2xvcigkbGFiZWwtY29sb3IpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IGNvbG9yKCRib3JkZXItaG92ZXIpO1xuXHRcdH1cblxuXHRcdCYuI3skc3RhdGUtY3VycmVudC1jbGFzc25hbWV9IHtcblx0XHRcdGJvcmRlci1jb2xvcjogY29sb3IoJGJvcmRlci1jdXJyZW50KTtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gZGFyayB0aGVtZVxuLy8vXG4udGhlbWUtZGFyayB7XG5cdCRib29rOiAkc3dhdGNoLWJvb2s7XG5cdCRzd2F0Y2gtYm9vazogZGFyayAhZ2xvYmFsO1xuXG5cdC4jeyRjb2xvcm5hdi1jbGFzc25hbWV9IHtcblx0XHRAaW5jbHVkZSBjb2xvcm5hdi1leHRlbmRlZCgpO1xuXHR9XG5cblx0LiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0tc3dhdGNoIHtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgJC1jb2xvcm5hdi1ib3JkZXItd2lkdGggMCAkLWNvbG9ybmF2LXNlY29uZGFyeS1zd2F0Y2gtYm9yZGVyLWNvbG9yOyBcblx0fVxuXG5cdCRzd2F0Y2gtYm9vazogJGJvb2sgIWdsb2JhbDtcbn1cblxuJGFjLWNvbG9ybmF2LXZlcnNpb246IFwiMS4zLjBcIjtcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1kZWZhdWx0LWJvcmRlci1jb2xvcjogc3dhdGNoKGtleWxpbmUpICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yOiBzd2F0Y2goYmx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci1ib3JkZXItY29sb3I6IHN3YXRjaChmb3JtZXJyb3IpICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZvcm1lcnJvciksIC45KSAhZGVmYXVsdDtcbiRmb3JtLWRlZmF1bHQtdGV4dC1jb2xvcjogc3dhdGNoKHNtYWxsKSAhZGVmYXVsdDtcbiRmb3JtLWRlZmF1bHQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tZGVmYXVsdC1saW5lLWhlaWdodDogMjBweCAhZGVmYXVsdDtcblxuLy9mb3JtIGNvbmZpZ3VyYWJsZSBjbGFzcyBuYW1lIHZhcmlhYmxlc1xuJGZvcm0tZXJyb3ItY2xhc3M6IGlzLWVycm9yICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItbWVzc2FnZS1jbGFzczogZm9ybS1tZXNzYWdlLXdyYXBwZXIgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWVudGVyZWQ6IGZvcm0tdGV4dGJveC1lbnRlcmVkICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBvZ3JhcGh5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGZvcm0tZGVmYXVsdC10ZXh0LCAoXG4gICAgbGFyZ2U6ICgzMiwgNDAsIDQwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLXRpdGxlLCAoXG4gICAgbGFyZ2U6ICg1NiwgNjQsIDIwMCksXG4gICAgc21hbGw6ICg0OCwgNTgsIDIwMClcbikpO1xuXG5AbWl4aW4gZm9ybS1yb3ctd2l0aGd1dHRlcnMgKFxuICAgICRndXR0ZXItd2lkdGg6ICRmb3JtLXNlbGVjdG9ycm93LWd1dHRlci13aWR0aFxuICAgICkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGd1dHRlci13aWR0aDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyLXdpZHRoO1xuXG4gICAgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJRTcgSW5saW5lIEJsb2NrIFNoaW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIC1mb3Jtcy1pZTctaW5saW5lLWJsb2NrKCkge1xuICAgIEBpZiBtaXhpbi1leGlzdHMoaWU3LWlubGluZS1ibG9jaykge1xuICAgICAgICBAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbXBvcnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0ICdzYXNzdmcvc2Fzc3ZnJztcbkBpbXBvcnQgJ2FjLWNvbG9ybmF2JztcbkBpbXBvcnQgJ2FjLWZvcm1zL2Zvcm0tYWxlcnQnO1xuQGltcG9ydCAnYWMtZm9ybXMvZm9ybS1zZWN0aW9ubnVtYmVyJztcbkBpbXBvcnQgJ2FjLWZvcm1zL2Zvcm0taWNvbnMnO1xuQGltcG9ydCAnYWMtZm9ybXMvZm9ybS10b29sdGlwJztcbkBpbXBvcnQgJ2FjLWZvcm1zL2Zvcm0tdGV4dGJveCc7XG5AaW1wb3J0ICdhYy1mb3Jtcy9mb3JtLWxhYmVsJztcbkBpbXBvcnQgJ2FjLWZvcm1zL2Zvcm0tY2hvaWNlJztcbkBpbXBvcnQgJ2FjLWZvcm1zL2Zvcm0tZHJvcGRvd24nO1xuQGltcG9ydCAnYWMtZm9ybXMvZm9ybS1idXR0b24nO1xuQGltcG9ydCAnYWMtZm9ybXMvZm9ybS10b2dnbGUnO1xuQGltcG9ydCAnYWMtZm9ybXMvdGhlbWVzL2RhcmsnO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBEZWZhdWx0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9ybS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uZm9ybS1zZXQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbn1cblxuLmZvcm0tY2FwdGlvbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbn1cblxuLmZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5mb3JtLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICYuZm9ybS1lbGVtZW50IHsgbWFyZ2luLXRvcDogMDsgfVxufVxuXG4uZm9ybS1lbGVtZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mb3JtLXRhYmxlLWxheW91dC1maXhlZCB7IHRhYmxlLWxheW91dDogZml4ZWQ7IH1cblxuLmZvcm0tdGFibGUtYm9yZGVyLXNwYWNpbmcgeyBib3JkZXItc3BhY2luZzogMTZweDsgfVxuXG4uZm9ybS10aXRsZSB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeShmb3JtLXRpdGxlKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIG1hcmdpbjogLTE3cHggLTE2cHggLTVweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTE0cHg7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3JtIEljb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZvcm0taXMtdmFsaWQtaWNvbiB7IEBpbmNsdWRlIGljb24oY2hlY2spOyB9XG5cbi5mb3JtLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogM3B4O1xuICAgIHJpZ2h0OiAxNnB4O1xufVxuIiwiLy8vL1xuLy8vIENvbG9yIE5hdiAvIFN3YXRjaGVzXG4vLy9cbi8vLyBAZ3JvdXAgYWMtY29sb3JuYXZcbi8vLy9cblxuLy8vXG4vLy8gQ29sb3IgTmF2IFN3YXRjaCBEaWN0aW9uYXJ5XG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wIHtTd2F0Y2h8Q29sb3J9ICRuYW1lXG4vLy8gICBUaGUgY29sb3Igb3Igc3dhdGNoIGZvciBgJG5hbWVgXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgICRjb2xvcm5hdi1zd2F0Y2hlczogKFxuLy8vICAgICByZWQ6IHByb2R1Y3RyZWQsIC8vIHN3YXRjaFxuLy8vICAgICB3aGl0ZTogI2ZmZiAvLyBjb2xvclxuLy8vICAgKTtcbi8vL1xuJGNvbG9ybmF2LXN3YXRjaGVzOiAoKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gSW5jbHVkZSBkZWZhdWx0IENvbG9yIE5hdiBzd2F0Y2hlc1xuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vXG4kY29sb3JuYXYtc3dhdGNoZXMtaW5jbHVkZS1kZWZhdWx0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmYXVsdCBDb2xvciBOYXYgc3dhdGNoZXNcbi8vL1xuLy8vIEBzZWUgJGNvbG9ybmF2LXN3YXRjaGVzXG4vLy9cbiQtY29sb3JuYXYtc3dhdGNoZXMtZGVmYXVsdHM6IChcblx0Ly8gYWx1bWludW0gJiBzdGFpbmxlc3Mgc3RlZWxcblx0c2lsdmVyOiAjZTJlM2U0LFxuXHRnb2xkOiAjZTNjY2I0LFxuXHRzcGFjZWdyYXk6ICNiMWIyYjcsXG5cdHJvc2Vnb2xkOiAjZWNjNmMxLFxuXHRzcGFjZWJsYWNrOiAjMWMxZDFlLFxuXG5cdC8vIHNpbGljb25lICYgZmx1b3JvZWxhc3RvbWVyXG5cdHNpbGljb25lLWJsYWNrOiAjNDA0MDQwLFxuXHRzaWxpY29uZS13aGl0ZTogI2YyZjFlZixcblx0c2lsaWNvbmUtc3RvbmU6ICNiZGI2YjAsXG5cdHNpbGljb25lLXllbGxvdzogI2ZmZTA5Mixcblx0c2lsaWNvbmUtZGFya3llbGxvdzogI2VlYzY0Myxcblx0c2lsaWNvbmUtcmVkOiAjZDYzNDM3LFxuXHRzaWxpY29uZS1hcHJpY290OiAjZmM2NDU0LFxuXHRzaWxpY29uZS1saWdodHBpbms6ICNmOWJlZDIsXG5cdHNpbGljb25lLWFudGlxdWV3aGl0ZTogI2U2ZTBkNixcblx0c2lsaWNvbmUtbWlkbmlnaHRibHVlOiAjM2IzZjUwLFxuXHRzaWxpY29uZS1sYXZlbmRlcjogI2JkYjJiYyxcblx0c2lsaWNvbmUtbGlsYWM6ICNhZGJlZTIsXG5cdHNpbGljb25lLXJveWFsYmx1ZTogIzQ5NzZiYyxcblx0c2lsaWNvbmUtbWludDogI2EyYmQ5MCxcblx0c2lsaWNvbmUtY2hhcmNvYWxncmF5OiAjNGE0ZDUyLFxuXG5cdC8vIGxlYXRoZXJcblx0bGVhdGhlci1zYWRkbGVicm93bjogIzlkNjA0MCxcblx0bGVhdGhlci1yZWQ6ICNjNTQ1MzMsXG5cdGxlYXRoZXItd2hpdGU6ICNkY2Q5ZDIsXG5cdGxlYXRoZXItbWFyaWdvbGQ6ICNlOWJmNjMsXG5cdGxlYXRoZXItYmx1ZWpheTogIzdmYThiMyxcblx0bGVhdGhlci1taWRuaWdodGJsdWU6ICM0NTQ5NWEsXG5cdGxlYXRoZXItc3Rvcm1ncmF5OiAjNWY1YjVkLFxuXHRsZWF0aGVyLW1hcmluZWJsdWU6ICM0ZTgxOTYsXG5cdGxlYXRoZXItYmxhY2s6ICMyOTI5MjksXG4pO1xuXG5AaWYgJGNvbG9ybmF2LXN3YXRjaGVzLWluY2x1ZGUtZGVmYXVsdHMge1xuXHQkY29sb3JuYXYtc3dhdGNoZXM6IG1hcC1tZXJnZSgkLWNvbG9ybmF2LXN3YXRjaGVzLWRlZmF1bHRzLCAkY29sb3JuYXYtc3dhdGNoZXMpICFnbG9iYWw7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBzd2F0Y2hlc1xuLy8vXG5AZWFjaCAkbmFtZSwgJHN3YXRjaCBpbiAkY29sb3JuYXYtc3dhdGNoZXMge1xuXHQuI3skY29sb3JuYXYtY2xhc3NuYW1lfS1zd2F0Y2gtI3skbmFtZX0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCRzd2F0Y2gpO1xuXHR9XG59XG5cbiRhYy1jb2xvcm5hdi12ZXJzaW9uOiBcIjEuMy4wXCI7XG4iLCIvLy8vXG4vLy8gQ29sb3IgTmF2IC8gUHJvZHVjdCBSZWRcbi8vL1xuLy8vIEBncm91cCBhYy1jb2xvcm5hdlxuLy8vL1xuXG4vLy9cbi8vLyBAdG9kbyBkb2N1bWVudCBpbWFnZVxuLy8vXG5AaW5jbHVkZSBpbWFnZS1zZXQoJ2FjLWNvbG9ybmF2LXByb2R1Y3RyZWQnLCAoXG5cdGxhcmdlOiAoXG5cdFx0c3JjOiAoXG5cdFx0XHQxOiBwYXRoKCdwcm9kdWN0cmVkLnBuZycsICdhYy1jb2xvcm5hdicpLFxuXHRcdFx0c3ZnOiBwYXRoKCdwcm9kdWN0cmVkLnN2ZycsICdhYy1jb2xvcm5hdicpXG5cdFx0KSxcblx0XHR3aWR0aDogNzJweCxcblx0XHRoZWlnaHQ6IDE2cHhcblx0KVxuKSk7XG5cbi8vL1xuLy8vIFNwYWNlIGJldHdlZW4gdGhlIFByb2R1Y3QgUmVkIGxvZ28gYW5kIGl0ZW1cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vXG4kLWNvbG9ybmF2LXByb2R1Y3RyZWQtbWFyZ2luOiA0cHg7XG5cbi8vL1xuLy8vIFByb2R1Y3QgUmVkIExvZ29cbi8vL1xuLiN7JGNvbG9ybmF2LWNsYXNzbmFtZX0taXRlbS1wcm9kdWN0cmVkIHtcblx0QGlmIGltYWdlLWV4aXN0cygnYWMtY29sb3JuYXYtcHJvZHVjdHJlZCcpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBpbWFnZS13aWR0aC1mb3IoJ2FjLWNvbG9ybmF2LXByb2R1Y3RyZWQnLCBsYXJnZSkgKyAkLWNvbG9ybmF2LXByb2R1Y3RyZWQtbWFyZ2luO1xuXHR9XG59XG5cbi4jeyRjb2xvcm5hdi1jbGFzc25hbWV9LWxvZ28tcHJvZHVjdHJlZCB7XG5cdEBpZiBpbWFnZS1leGlzdHMoJ2FjLWNvbG9ybmF2LXByb2R1Y3RyZWQnKSB7XG5cdFx0QGluY2x1ZGUgcGljdHVyZSgnYWMtY29sb3JuYXYtcHJvZHVjdHJlZCcpO1xuXHRcdG1hcmdpbi10b3A6IGltYWdlLWhlaWdodC1mb3IoJ2FjLWNvbG9ybmF2LXByb2R1Y3RyZWQnLCBsYXJnZSkgKiAtLjU7XG5cdFx0bWFyZ2luLWxlZnQ6ICQtY29sb3JuYXYtcHJvZHVjdHJlZC1tYXJnaW47XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDEwMCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0ei1pbmRleDogMTtcblx0fSBAZWxzZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4kYWMtY29sb3JuYXYtdmVyc2lvbjogXCIxLjMuMFwiO1xuIiwiLy8vL1xuLy8vIENvcmUgLyBJbWFnZXMgLyBQaWN0dXJlXG4vLy9cbi8vLyBNZXRob2RzIGZvciBzaW11bGF0aW5nIGEgYHBpY3R1cmVgIGVsZW1lbnQgdmlhIENTU1xuLy8vXG4vLy8gQGdyb3VwIGltYWdlc1xuLy8vL1xuXG4vLy9cbi8vLyBPdXRwdXQgYGJhY2tncm91bmQtaW1hZ2VgIGFuZCBlbGVtZW50IGRpbWVuc2lvbnMgZm9yIGEgZ2l2ZW4gaW1hZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW1hZ2Vcbi8vLyAgIFRoZSBpbWFnZSBuYW1lIC8gbWFwIGtleVxuLy8vXG5AbWl4aW4gcGljdHVyZSgkaW1hZ2UpIHtcblx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJHZpZXdwb3J0KSB7XG5cdFx0XHRAaW5jbHVkZSBwaWN0dXJlLWZvcigkaW1hZ2UsICR2aWV3cG9ydCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBgYmFja2dyb3VuZC1pbWFnZWAgYW5kIGVsZW1lbnQgZGltZW5zaW9ucyBmb3IgYSBnaXZlbiBpbWFnZSBhbmQgdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW1hZ2Vcbi8vLyAgIFRoZSBpbWFnZSBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2aWV3cG9ydFxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWVcbi8vL1xuQG1peGluIHBpY3R1cmUtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KSB7XG5cdEBpbmNsdWRlIHBpY3R1cmUtc2l6ZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWZvcigkaW1hZ2UsICR2aWV3cG9ydCk7XG59XG5cbi8vL1xuLy8vIE91dHB1dCBlbGVtZW50IGRpbWVuc2lvbnMgZm9yIGEgZ2l2ZW4gaW1hZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkaW1hZ2Vcbi8vLyAgIFRoZSBpbWFnZSBuYW1lIC8gbWFwIGtleVxuLy8vXG5AbWl4aW4gcGljdHVyZS1zaXplKCRpbWFnZSkge1xuXHRAZWFjaCAkdmlld3BvcnQgaW4gdmlld3BvcnQtbGlzdCgpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdEBpbmNsdWRlIHBpY3R1cmUtc2l6ZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgZWxlbWVudCBkaW1lbnNpb25zIGZvciBhIGdpdmVuIGltYWdlIGFuZCB2aWV3cG9ydFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpbWFnZVxuLy8vICAgVGhlIGltYWdlIG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZpZXdwb3J0XG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG5AbWl4aW4gcGljdHVyZS1zaXplLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkge1xuXHRAaWYgaW1hZ2UtZXhpc3RzLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkge1xuXHRcdCR3aWR0aDogaW1hZ2Utd2lkdGgtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblx0XHQkaGVpZ2h0OiBpbWFnZS1oZWlnaHQtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblxuXHRcdEBpZiAkd2lkdGggYW5kICRoZWlnaHQge1xuXHRcdFx0d2lkdGg6ICR3aWR0aDtcblx0XHRcdGhlaWdodDogJGhlaWdodDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IHN0eWxlcyB0byBjZW50ZXIgYSBnaXZlbiBpbWFnZVxuLy8vXG4vLy8gTm90ZTogRG9lcyBub3QgaW5jbHVkZSBgYmFja2dyb3VuZC1pbWFnZWAgb3IgZWxlbWVudCBkaW1lbnNpb25zXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0cyBbKCldXG4vLy8gICBBbiBvcHRpb25hbCBNYXAgb2Ygdmlld3BvcnRzLCBlYWNoIHdpdGggYSBgcHhgIG9yIGAlYCBvZmZzZXQgZnJvbSB0aGUgY2VudGVyXG4vLy9cbkBtaXhpbiBwaWN0dXJlLWNlbnRlcigkaW1hZ2UsICRvZmZzZXRzOiAoKSkge1xuXHRAZWFjaCAkdmlld3BvcnQgaW4gdmlld3BvcnQtbGlzdCgpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdCRvZmZzZXQ6IG1hcC1nZXQoJG9mZnNldHMsICR2aWV3cG9ydCk7XG5cdFx0XHRAaW5jbHVkZSBwaWN0dXJlLWNlbnRlci1mb3IoJGltYWdlLCAkb2Zmc2V0LCAkdmlld3BvcnQpO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgc3R5bGVzIHRvIGNlbnRlciBhIGdpdmVuIGltYWdlIGFuZCB2aWV3cG9ydFxuLy8vXG4vLy8gTm90ZTogRG9lcyBub3QgaW5jbHVkZSBgYmFja2dyb3VuZC1pbWFnZWAgb3IgZWxlbWVudCBkaW1lbnNpb25zXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0XG4vLy8gICBBIGBweGAgb3IgYCVgIG9mZnNldCBmcm9tIHRoZSBjZW50ZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmlld3BvcnRcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lXG4vLy9cbkBtaXhpbiBwaWN0dXJlLWNlbnRlci1mb3IoJGltYWdlLCAkb2Zmc2V0LCAkdmlld3BvcnQpIHtcblx0QGlmIGltYWdlLWV4aXN0cy1mb3IoJGltYWdlLCAkdmlld3BvcnQpIHtcblx0XHQkbWFyZ2luOiAtKGltYWdlLXdpZHRoLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkgLyAyKTtcblx0XHQkcG9zaXRpb246IDUwJTtcblxuXHRcdEBpZiAkb2Zmc2V0IHtcblx0XHRcdCR1bml0OiB1bml0KCRvZmZzZXQpO1xuXG5cdFx0XHRAaWYgJHVuaXQgPT0gJyUnIHtcblx0XHRcdFx0JHBvc2l0aW9uOiAkcG9zaXRpb24gKyAkb2Zmc2V0O1xuXHRcdFx0fSBAZWxzZSBpZiAkdW5pdCA9PSAncHgnIHtcblx0XHRcdFx0JG1hcmdpbjogJG1hcmdpbiArICRvZmZzZXQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24taW5saW5lLXN0YXJ0KCRwb3NpdGlvbik7XG5cdFx0QGluY2x1ZGUgbWFyZ2luLWlubGluZS1zdGFydCgkbWFyZ2luKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IHN0eWxlcyBmb3IgYSBnaXZlbiBpbWFnZSB0byBzY2FsZSB3aXRoIHRoZSBzcGVjaWZpZWQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpbWFnZVxuLy8vICAgVGhlIGltYWdlIG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cG9ncmFwaHlcbi8vLyAgIFRoZSB0eXBvZ3JhcGh5IG5hbWUgLyBtYXAga2V5XG4vLy9cbkBtaXhpbiBwaWN0dXJlLXR5cG9ncmFwaHkoJGltYWdlLCAkdHlwb2dyYXBoeSkge1xuXHQkdHlwb2dyYXBoeTogdHlwb2dyYXBoeS1nZXQoJHR5cG9ncmFwaHktbmFtZSk7XG5cblx0JGxhc3Qtd2lkdGg6IG51bGw7XG5cdCRsYXN0LWhlaWdodDogbnVsbDtcblx0JGxhc3QtZm9udC1zaXplOiBudWxsO1xuXG5cdEBlYWNoICR2aWV3cG9ydCBpbiB2aWV3cG9ydC1saXN0KCkge1xuXHRcdCR3aWR0aDogaW1hZ2Utd2lkdGgtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblx0XHQkaGVpZ2h0OiBpbWFnZS1oZWlnaHQtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblx0XHQkZm9udC1zaXplOiBudWxsO1xuXG5cdFx0QGlmIChub3QgJHdpZHRoIGFuZCAkbGFzdC13aWR0aCkgb3IgKG5vdCAkaGVpZ2h0IGFuZCAkbGFzdC1oZWlnaHQpIHtcblx0XHRcdCR3aWR0aDogJGxhc3Qtd2lkdGg7XG5cdFx0XHQkaGVpZ2h0OiAkbGFzdC1oZWlnaHQ7XG5cdFx0fVxuXG5cdFx0QGlmIHR5cG9ncmFwaHktZXhpc3RzLWZvcigkdHlwb2dyYXBoeSwgJHZpZXdwb3J0KSB7XG5cdFx0XHQkZm9udC1zaXplOiB0eXBvZ3JhcGh5LWdldC1wcm9wZXJ0eS1mb3IoJHR5cG9ncmFwaHksIGZvbnQtc2l6ZSwgJHZpZXdwb3J0KTtcblx0XHR9IEBlbHNlIGlmICRsYXN0LWZvbnQtc2l6ZSB7XG5cdFx0XHQkZm9udC1zaXplOiAkbGFzdC1mb250LXNpemU7XG5cdFx0fVxuXG5cdFx0QGlmICR3aWR0aCBhbmQgJGhlaWdodCBhbmQgJGZvbnQtc2l6ZSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdFx0d2lkdGg6IGVtKCR3aWR0aCwgJGZvbnQtc2l6ZSk7XG5cdFx0XHRcdGhlaWdodDogZW0oJGhlaWdodCwgJGZvbnQtc2l6ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiRhYy1zYXNza2l0LXZlcnNpb246IFwiNC41LjFcIjtcbiIsIi8vLy9cbi8vLyBDb3JlIC8gSW1hZ2VzIC8gQmFja2dyb3VuZFxuLy8vXG4vLy8gTWV0aG9kcyBmb3Igc2V0dGluZyBgYmFja2dyb3VuZGAgcHJvcGVydGllc1xuLy8vXG4vLy8gQGdyb3VwIGltYWdlc1xuLy8vL1xuXG4vLy9cbi8vLyBPdXRwdXQgYGJhY2tncm91bmQtaW1hZ2VgIGFuZCBgLXNpemVgIGZvciBhIGdpdmVuIGltYWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuQG1peGluIGJhY2tncm91bmQoJGltYWdlKSB7XG5cdEBlYWNoICR2aWV3cG9ydCBpbiB2aWV3cG9ydC1saXN0KCkge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydCkge1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYGJhY2tncm91bmQtaW1hZ2VgIGFuZCBgLXNpemVgIGZvciBhIGdpdmVuIGltYWdlIGFuZCB2aWV3cG9ydFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpbWFnZVxuLy8vICAgVGhlIGltYWdlIG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZpZXdwb3J0XG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG5AbWl4aW4gYmFja2dyb3VuZC1mb3IoJGltYWdlLCAkdmlld3BvcnQpIHtcblx0QGluY2x1ZGUgYmFja2dyb3VuZC1zaXplLWZvcigkaW1hZ2UsICR2aWV3cG9ydCk7XG5cdEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGBiYWNrZ3JvdW5kLWltYWdlYCBvbmx5IGZvciBhIGdpdmVuIGltYWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlKSB7XG5cdEBlYWNoICR2aWV3cG9ydCBpbiB2aWV3cG9ydC1saXN0KCkge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydCkge1xuXHRcdFx0QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYGJhY2tncm91bmQtaW1hZ2VgIG9ubHkgZm9yIGEgZ2l2ZW4gaW1hZ2UgYW5kIHZpZXdwb3J0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmlld3BvcnRcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lXG4vLy9cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkge1xuXHQkc3JjczogaW1hZ2UtZ2V0LXByb3BlcnR5LWZvcigkaW1hZ2UsIHNyYywgJHZpZXdwb3J0KTtcblxuXHRAaWYgJHNyY3Mge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cblx0XHRAaWYgJHNyY3Mge1xuXG5cdFx0XHQkc3ZnOiBtYXAtZ2V0KCRzcmNzLCBzdmcpO1xuXG5cdFx0XHRAaWYgJHN2ZyB7XG5cblx0XHRcdFx0Ly8gZGVmYXVsdCB0byBTVkdcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRzdmcpO1xuXG5cdFx0XHRcdC8vIGZhbGxiYWNrIGZvciBgLm5vLXN2Z2Bcblx0XHRcdFx0QGluY2x1ZGUgZmVhdHVyZS1kZXRlY3Qobm8tc3ZnKSB7XG5cdFx0XHRcdFx0QGVhY2ggJGRlbnNpdHksICRzcmMgaW4gJHNyY3Mge1xuXHRcdFx0XHRcdFx0QGlmICRkZW5zaXR5ICE9IHN2ZyB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHJldGluYSgkZGVuc2l0eSkge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc3JjKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9IEBlbHNlIHtcblxuXHRcdFx0XHRAZWFjaCAkZGVuc2l0eSwgJHNyYyBpbiAkc3JjcyB7XG4gICAgICAgICAgQGlmICRkZW5zaXR5ICE9IHN2ZyB7XG4gIFx0XHRcdFx0XHRAaW5jbHVkZSByZXRpbmEoJGRlbnNpdHkpIHtcbiAgXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCRzcmMpO1xuICBcdFx0XHRcdFx0fVxuICAgICAgICAgIH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBgYmFja2dyb3VuZC1zaXplYCBvbmx5IGZvciBhIGdpdmVuIGltYWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuQG1peGluIGJhY2tncm91bmQtc2l6ZSgkaW1hZ2UpIHtcblx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJHZpZXdwb3J0KSB7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IGBiYWNrZ3JvdW5kLXNpemVgIG9ubHkgZm9yIGEgZ2l2ZW4gaW1hZ2UgYW5kIHZpZXdwb3J0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGltYWdlXG4vLy8gICBUaGUgaW1hZ2UgbmFtZSAvIG1hcCBrZXlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmlld3BvcnRcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lXG4vLy9cbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KSB7XG5cdEBpZiBpbWFnZS1leGlzdHMtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KSB7XG5cdFx0JHdpZHRoOiBpbWFnZS13aWR0aC1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRcdCRoZWlnaHQ6IGltYWdlLWhlaWdodC1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXG5cdFx0QGlmIG5vdCAkd2lkdGgge1xuXHRcdFx0JHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdEBpZiBub3QgJGhlaWdodCB7XG5cdFx0XHQkaGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG5cdH1cbn1cblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBBbGVydFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1hbGVydC1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tYWxlcnQtbWFyZ2luLWJvdHRvbTogMjFweCAhZGVmYXVsdDtcbiRmb3JtLWFsZXJ0LW1hcmdpbi10b3A6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1hbGVydC1tYXJnaW4tbW9iaWxlOiAxOHB4ICFkZWZhdWx0O1xuJGZvcm0tYWxlcnQtdGl0bGUtbWFyZ2luLWJvdHRvbTogMTFweCAhZGVmYXVsdDtcbiRmb3JtLWFsZXJ0LXRpdGxlLW1hcmdpbi10b3AtbW9iaWxlOiAycHggIWRlZmF1bHQ7XG4kZm9ybS1hbGVydC10aXRsZS1tYXJnaW4tYm90dG9tLW1vYmlsZTogMTBweCAhZGVmYXVsdDtcbiRmb3JtLWFsZXJ0LWJhY2tncm91bmQtY29sb3I6IHN3YXRjaChiYWNrZ3JvdW5kZm9vdGVyKSAhZGVmYXVsdDtcbiRmb3JtLWFsZXJ0LWJvcmRlci1jb2xvcjogc3dhdGNoKGZyYW1pbmcpICFkZWZhdWx0O1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLWFsZXJ0LXRleHQsIChcbiAgICBsYXJnZTogKDMyLCAzOCwgNDAwKVxuKSk7XG5cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGZvcm0tYWxlcnQtdGl0bGUtdGV4dCwgKFxuICAgIGxhcmdlOiAoMzIsIDM0LCA0MDApXG4pKTtcblxuLmZvcm0tYWxlcnQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1hbGVydC10ZXh0KTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRmb3JtLWFsZXJ0LWJhY2tncm91bmQtY29sb3IsIC42KTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWFsZXJ0LWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLWJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJGZvcm0tYWxlcnQtcGFkZGluZyAtIDFweCAkZm9ybS1hbGVydC1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWFsZXJ0LW1hcmdpbi1ib3R0b207XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tYWxlcnQtbWFyZ2luLXRvcDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICBwYWRkaW5nOiAkZm9ybS1hbGVydC1wYWRkaW5nIC0gMXB4ICRmb3JtLWFsZXJ0LXBhZGRpbmcgJGZvcm0tYWxlcnQtcGFkZGluZyArIDNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tYWxlcnQtbWFyZ2luLW1vYmlsZTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0tYWxlcnQtbWFyZ2luLW1vYmlsZTtcbiAgICB9XG5cbiAgICAmLiN7JGZvcm0tZXJyb3ItY2xhc3N9IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goZm9ybWVycm9yKSwgLjgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goZm9ybWVycm9yKSwgLjkyKTtcbiAgICB9XG5cbn1cblxuLmZvcm0tYWxlcnQtdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1hbGVydC10aXRsZS10ZXh0KTtcblxuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWFsZXJ0LXRpdGxlLW1hcmdpbi1ib3R0b207XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0tYWxlcnQtdGl0bGUtbWFyZ2luLXRvcC1tb2JpbGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWFsZXJ0LXRpdGxlLW1hcmdpbi1ib3R0b20tbW9iaWxlO1xuICAgIH1cbn1cblxuQG1peGluIGZvcm0tYWxlcnQtZXh0ZW5kZWQoXG4gICAgJGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWFsZXJ0LWJhY2tncm91bmQtY29sb3IsXG4gICAgJGJvcmRlci1jb2xvcjogJGZvcm0tYWxlcnQtYm9yZGVyLWNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yOiAkZm9ybS1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRib3JkZXItZXJyb3ItY29sb3I6ICRmb3JtLWVycm9yLWJvcmRlci1jb2xvclxuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgJi4jeyRmb3JtLWVycm9yLWNsYXNzfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItZXJyb3ItY29sb3I7XG4gICAgfVxuXG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3JtIFNlY3Rpb25udW1iZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZyb20tc2VjdGlvbm51bWJlci1tYXJnaW4tbGVmdDogMzJweCAhZGVmYXVsdDtcbiRmcm9tLXNlY3Rpb25udW1iZXItbWFyZ2luLWxlZnQtbWVkaXVtOiAyOHB4ICFkZWZhdWx0O1xuJGZyb20tc2VjdGlvbm51bWJlci1yZXNldC1tYXJnaW4tbGVmdC1tZWRpdW06IDE4cHggIWRlZmF1bHQ7XG4kZnJvbS1zZWN0aW9ubnVtYmVyLWRpc2FibGVkLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLW1hcmdpbi1ib3R0b206IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1tYXJnaW4tYm90dG9tLW1vYmlsZTogMTNweCAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi10ZXh0LWNvbG9yOiBzd2F0Y2goY29weSk7XG4kZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tY2lyY2xlLXNpemU6IDEuNTllbSAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1jaXJjbGUtc2l6ZS1zbWFsbDogMTZweCAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1jaXJjbGUtbWFyZ2luLXRvcDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWNpcmNsZS1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1jaXJjbGUtbWFyZ2luLWxlZnQtbWVkaXVtOiAtMjdweCAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItbWFyZ2luLXRvcDogMmVtICFkZWZhdWx0O1xuJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWJlZm9yZS1tYXJnaW4tbGVmdDogLTMxcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tYmVmb3JlLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1iZWZvcmUtbWFyZ2luLWxlZnQtbW9iaWxlOiAwICFkZWZhdWx0O1xuJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWJlZm9yZS1tYXJnaW4tcmlnaHQtbW9iaWxlOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1zZWN0aW9ubnVtYmVyLXRpdGxlLXBhZGRpbmctbGVmdC1tZWRpdW06IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWN0aW9ubnVtYmVyLXRpdGxlLXBhZGRpbmctbGVmdDogMjVweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoZm9ybS1zZWN0aW9ubnVtYmVyLXRpdGxlLCAoXG4gICAgbGFyZ2U6ICg1NiwgNjYsIDIwMCksXG4gICAgbWVkaXVtOiAoNDgsIDU2LCAyMDApXG4pKTtcblxuLmZvcm0tc2VjdGlvbm51bWJlciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6ICRmcm9tLXNlY3Rpb25udW1iZXItbWFyZ2luLWxlZnQ7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tc2VjdGlvbm51bWJlci1tYXJnaW4tdG9wO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZnJvbS1zZWN0aW9ubnVtYmVyLW1hcmdpbi1sZWZ0LW1lZGl1bTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi5mb3JtLXNlY3Rpb25udW1iZXItcmVzZXQge1xuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZnJvbS1zZWN0aW9ubnVtYmVyLXJlc2V0LW1hcmdpbi1sZWZ0LW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWN0aW9ubnVtYmVyLXRpdGxlLXBhZGRpbmctbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tc2VjdGlvbm51bWJlci1yZXNldCB7XG4gICAgY291bnRlci1yZXNldDogc3RlcC1jb3VudGVyO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChtZWRpdW0pIHtcbiAgICAgICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc2VjdGlvbm51bWJlci10aXRsZS1wYWRkaW5nLWxlZnQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcC1jb3VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1tYXJnaW4tYm90dG9tO1xuICAgIHdpZHRoOiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24td2lkdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tbWFyZ2luLWJvdHRvbS1tb2JpbGU7XG4gICAgfVxuXG4gICAgLmZvcm0tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tc2VjdGlvbm51bWJlci10aXRsZSk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgLy8gVHlwb2dyYXBoeSBtaXhpbiBpcyBnaXZpbmcgbGluZS1oZWlnaHQgaW4gZW1zIGFuZCB0aGF0IGlzIHZhcnlpbmcgYmV0d2VlbiB2aWV3cG9ydHMgYW5kIGZvbnQgc2l6ZXMuXG4gICAgICAgIC8vICAgIFNvIHNwZWNpZnlpbmcgdGhlIHN0eWxlcyBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGZvciBlYWNoIHZpZXdwb3J0LlxuXG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcC1jb3VudGVyKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLXRleHQtY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1jaXJjbGUtcmFkaXVzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWNpcmNsZS1zaXplO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWJlZm9yZS1tYXJnaW4tbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tYmVmb3JlLW1hcmdpbi1yaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWNpcmNsZS1tYXJnaW4tdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tY2lyY2xlLXNpemU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgIGhlaWdodDogJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLWNpcmNsZS1zaXplLXNtYWxsO1xuICAgICAgICAgICAgd2lkdGg6ICRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1jaXJjbGUtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tY2lyY2xlLW1hcmdpbi1sZWZ0LW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbi1iZWZvcmUtbWFyZ2luLWxlZnQtbW9iaWxlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zZWN0aW9ubnVtYmVyLXNlY3Rpb24tYmVmb3JlLW1hcmdpbi1yaWdodC1tb2JpbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogJGZyb20tc2VjdGlvbm51bWJlci1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbn1cblxuLmlzLWhpZGRlbiB7XG4gICAgJi5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZm9ybS1zZWN0aW9ubnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tc2VjdGlvbm51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmcm9tLXNlY3Rpb25udW1iZXItbWFyZ2luLWxlZnQtbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXNlY3Rpb25udW1iZXItc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAmLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG4gICAgICAgICAgICA+IC5mb3JtLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBmb3JtLXNlY3Rpb25udW1iZXItZXh0ZW5kZWQoXG4gICAgJGJvcmRlci1jb2xvcjogJGZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uLXRleHQtY29sb3Jcbikge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvcm0gSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0taWNvbnMtd3JhcHBlci1tYXJnaW4tYm90dG9tOiA2cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy13cmFwcGVyLW1hcmdpbi1ib3R0b20tbW9iaWxlOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy1tZXNzYWdlLWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtaWNvbi1iZWZvcmUtdG9wOiAtLjAxNWVtICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtaWNvbi1iZWZvcmUtcGFkZGluZy1sZWZ0OiAuM2VtICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtbGVmdDogLjE5ZW0gIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy10b3A6IDNweCAhZGVmYXVsdDtcbiRmb3JtLWljb25zLWZvY3VzY2lyY2xlLXNpemU6IDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy1mb2N1c2NpcmNsZS1ib3gtc2hhZG93OiAuMmVtICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtYm94LXNoYWRvdy1jb2xvci1pZTogI2IyZGJmMCAhZGVmYXVsdDtcbiRmb3JtLWljb25zLWZvY3VzY2lyY2xlLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLWZvcm0tbGFiZWw6IDJweCAhZGVmYXVsdDtcbiRmb3JtLWljb25zLXZlcmlmaWVkLWNvbG9yOiBzd2F0Y2goZm9ybXZhbGlkKSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLW5vdHZlcmlmaWVkLWNvbG9yOiBzd2F0Y2goZm9ybWVycm9yKSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLXZlcmlmeS1jb2xvcjogc3dhdGNoKGZvcm1lcnJvcikgIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy1jbGVhci1jb2xvcjogc3dhdGNoKGZvcm1pY29uKSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLWluZm8tY29sb3I6IHN3YXRjaChibHVlKSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLWFkZC1jb2xvcjogc3dhdGNoKGJsdWUpICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtY2lyY2xlLWNvbG9yOiBzd2F0Y2goc21hbGwpICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtcmVtb3ZlLWNvbG9yOiBzd2F0Y2goZm9ybWVycm9yKSAhZGVmYXVsdDtcbiRmb3JtLWljb25zLW1lc3NhZ2UtY29sb3I6IHN3YXRjaChzbWFsbCkgIWRlZmF1bHQ7XG4kZm9ybS1pY29ucy1tZXNzYWdlLWNsaWNrYWJsZS1jb2xvcjogc3dhdGNoKGJsdWUpICFkZWZhdWx0O1xuJG1vYmlsZS1mb3JtLWljb25zLWZvcm0tbGFiZWw6IDJweCAhZGVmYXVsdDtcbiRmb3JtLWljb25zLW1lc3NhZ2UtbWFyZ2luLWxlZnQ6IDNweDtcblxuJGZhbGxiYWNrLWxpZ2h0LWJncG9zaXRpb24tbWFwcGluZzogKFxuICAgICdjaXJjbGUxNSc6IDAgLTg1cHgsXG4gICAgJ2NpcmNsZTEzJzogMCAtMTA3cHgsXG4gICAgJ2luZm8xNSc6IC0xMDBweCAtNXB4LFxuICAgICdjaGVja2FsdDE1JzogLTIwcHggLTI0NXB4LFxuICAgICdjaGVja2FsdDEzJzogLTIwcHggLTI2N3B4LFxuICAgICd1bnZhbGlkYXRlZGFsdDE1JzogLTQwcHggLTE2NXB4LFxuICAgICd1bnZhbGlkYXRlZGFsdDEzJzogLTQwcHggLTE4N3B4LFxuICAgICd1bnZhbGlkYXRlZDE1JzogLTYwcHggLTE2NXB4LFxuICAgICdjbGVhcnNvbGlkMTUnOiAtODBweCAtODVweCxcbiAgICAnYWRkMTUnOiAtMTIwcHggLTVweCxcbiAgICAncmVtb3ZlMTUnOiAtMTQwcHggLTE2NXB4XG4pO1xuXG4kZmFsbGJhY2stZGFyay1iZ3Bvc2l0aW9uLW1hcHBpbmc6IChcbiAgICAnY2lyY2xlMTUnOiAwIC0xMjVweCxcbiAgICAnY2lyY2xlMTMnOiAwIC0xNDdweCxcbiAgICAnaW5mbzE1JzogLTEwMHB4IC00NXB4LFxuICAgICdjaGVja2FsdDE1JzogLTIwcHggLTI0NXB4LFxuICAgICdjaGVja2FsdDEzJzogLTIwcHggLTI2N3B4LFxuICAgICd1bnZhbGlkYXRlZGFsdDE1JzotNDBweCAtMjA1cHgsXG4gICAgJ3VudmFsaWRhdGVkYWx0MTMnOi00MHB4IC0yMjdweCxcbiAgICAndW52YWxpZGF0ZWQxNSc6IC02MHB4IC0yMDVweCxcbiAgICAnY2xlYXJzb2xpZDE1JzogLTgwcHggLTEyNXB4LFxuICAgICdhZGQxNSc6IC0xMjBweCAtNDVweCxcbiAgICAncmVtb3ZlMTUnOiAtMTQwcHggLTIwNXB4XG4pO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLWljb24tbWVzc2FnZSwgKFxuICAgIGxhcmdlOiAoMjQsIDI2LCA0MDApXG4pKTtcblxuQG1peGluIGZvcm1pY29uLXN2ZyAoJGljb24sICRjb2xvciwgJHRoZW1lLCAkc2l6ZToxNSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHNhc3N2ZygnI3skaWNvbn0xNScsICRmaWxsY29sb3I6ICRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAjeyRzaXplfXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICBAaW5jbHVkZSBpZTgge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocGF0aCgnZmFsbGJhY2tzL2ljb25zX2Zvcm1zX3Nwcml0ZS5wbmcnLCAnYWMtZm9ybXMnKSk7XG5cbiAgICAgICAgQGlmICR0aGVtZSA9PSAnbGlnaHQnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IG1hcC1nZXQoJGZhbGxiYWNrLWxpZ2h0LWJncG9zaXRpb24tbWFwcGluZywgJGljb24gKyAnJyArICRzaXplKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBtYXAtZ2V0KCRmYWxsYmFjay1kYXJrLWJncG9zaXRpb24tbWFwcGluZywgJGljb24gKyAnJyArICRzaXplKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGZvcm1pY29ucyAoXG4gICAgJHRoZW1lOidsaWdodCcsXG4gICAgJGluZm8tY29sb3I6ICRmb3JtLWljb25zLWluZm8tY29sb3IsXG4gICAgJGNpcmNsZS1jb2xvcjogJGZvcm0taWNvbnMtY2lyY2xlLWNvbG9yLFxuICAgICR2YWxpZC1jb2xvcjogJGZvcm0taWNvbnMtdmVyaWZpZWQtY29sb3IsXG4gICAgJGVycm9yLWNvbG9yOiAkZm9ybS1pY29ucy1ub3R2ZXJpZmllZC1jb2xvcixcbiAgICAkY2xlYXItY29sb3I6ICRmb3JtLWljb25zLWNsZWFyLWNvbG9yXG4pIHtcbiAgICAmLmZvcm0taWNvbnMtY2lyY2xlMTMge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoJ2NpcmNsZScsICRjaXJjbGUtY29sb3IsICR0aGVtZSwgJHNpemU6MTMpO1xuICAgIH1cblxuICAgICYuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybWljb24tc3ZnKCdjaGVja2FsdCcsICR2YWxpZC1jb2xvciwgJHRoZW1lLCAkc2l6ZToxMyk7XG4gICAgfVxuXG4gICAgJi5mb3JtLWljb25zLXVudmFsaWRhdGVkYWx0MTMge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoJ3VudmFsaWRhdGVkYWx0JywgJGVycm9yLWNvbG9yLCAkdGhlbWUsICRzaXplOjEzKTtcbiAgICB9XG5cbiAgICAmLmZvcm0taWNvbnMtaW5mbzE1IHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybWljb24tc3ZnKFwiaW5mb1wiLCAkaW5mby1jb2xvciwgJHRoZW1lKTtcbiAgICB9XG5cbiAgICAmLmZvcm0taWNvbnMtY2lyY2xlMTUge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoJ2NpcmNsZScsICRjaXJjbGUtY29sb3IsICR0aGVtZSk7XG4gICAgfVxuXG4gICAgJi5mb3JtLWljb25zLWNoZWNrYWx0MTUge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoXCJjaGVja2FsdFwiLCAkdmFsaWQtY29sb3IsICR0aGVtZSk7XG4gICAgfVxuXG4gICAgJi5mb3JtLWljb25zLXVudmFsaWRhdGVkYWx0MTUge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoXCJ1bnZhbGlkYXRlZGFsdFwiLCAkZXJyb3ItY29sb3IsICR0aGVtZSk7XG4gICAgfVxuXG4gICAgJi5mb3JtLWljb25zLXVudmFsaWRhdGVkMTUge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoXCJ1bnZhbGlkYXRlZFwiLCAkZXJyb3ItY29sb3IsICR0aGVtZSk7XG4gICAgfVxuXG4gICAgJi5mb3JtLWljb25zLWNsZWFyc29saWQxNSB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm1pY29uLXN2ZyhcImNsZWFyc29saWRcIiwgJGNsZWFyLWNvbG9yLCAkdGhlbWUpO1xuICAgIH1cblxuICAgICYuZm9ybS1pY29ucy1hZGQxNSB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm1pY29uLXN2ZyhcImFkZFwiLCAkaW5mby1jb2xvciwgJHRoZW1lKTtcbiAgICB9XG5cbiAgICAmLmZvcm0taWNvbnMtcmVtb3ZlMTUge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbi1zdmcoXCJyZW1vdmVcIiwgJGVycm9yLWNvbG9yLCAkdGhlbWUpO1xuICAgIH1cbn1cblxuLmZvcm0taWNvbnMge1xuICAgIEBpbmNsdWRlIGZvcm1pY29ucygpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1pY29ucy1mb2N1c2NpcmNsZS1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1pY29ucy1mb2N1c2NpcmNsZS1zaXplO1xuICAgIGhlaWdodDogJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtc2l6ZTtcbiAgICB0b3A6ICRmb3JtLWljb25zLXRvcDtcbiAgICBsZWZ0OiAkZm9ybS1pY29ucy1sZWZ0O1xuXG4gICAgLmZvcm0taWNvbnMtbWVzc2FnZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmLmljb24tYmVmb3JlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGZvcm0taWNvbnMtaWNvbi1iZWZvcmUtdG9wO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb25zLWljb24tYmVmb3JlLXBhZGRpbmctbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmljb246aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uZm9ybS1pY29ucy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tZGVmYXVsdC10ZXh0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1pY29ucy13cmFwcGVyLW1hcmdpbi1ib3R0b207XG5cblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1pY29ucy13cmFwcGVyLW1hcmdpbi1ib3R0b20tbW9iaWxlO1xuICAgIH1cblxuICAgICYuZm9ybS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWljb25zLWZvcm0tbGFiZWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWljb25zIHtcbiAgICAgICAgKyAuZm9ybS1sYWJlbC5mb3JtLXRvb2x0aXAtdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtb2JpbGUtZm9ybS1pY29ucy1mb3JtLWxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5mb2N1c2VkIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1pY29ucy1mb2N1c2NpcmNsZS1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtYm94LXNoYWRvdyB0cmFuc3BhcmVudGl6ZShzd2F0Y2goYmx1ZSksIC43KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgaWU4IHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtYm94LXNoYWRvdy1jb2xvci1pZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbjphZnRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWljb25zLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1pY29uLW1lc3NhZ2UpO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb3JtLWljb25zLW1lc3NhZ2UtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRmb3JtLWljb25zLW1lc3NhZ2UtY29sb3I7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWljb25zLW1lc3NhZ2UtbWFyZ2luLWxlZnQ7XG5cbiAgICAmLmlzLWNsaWNrYWJsZSB7XG4gICAgICAgIGNvbG9yOiAkZm9ybS1pY29ucy1tZXNzYWdlLWNsaWNrYWJsZS1jb2xvcjtcbiAgICB9XG59XG5cbi5mb3JtLWljb25zLWZvY3VzYWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmZvcm0taWNvbnM6Zm9jdXMsXG4gICAgLmZvcm0taWNvbnMuZm9jdXNlZCB7XG4gICAgICAgIEBpbmNsdWRlIGllOCB7XG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtYm94LXNoYWRvdy1jb2xvci1pZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vbG9naWMgdG8gc2hvdyB0b29sdGlwIGluZm9cbiAgICAgICAgKyAuZm9ybS10b29sdGlwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZm9ybS1pY29ucy1leHRlbmRlZChcbiAgICAkaWNvbnMtbWVzc2FnZS1jb2xvcjogJGZvcm0taWNvbnMtbWVzc2FnZS1jb2xvcixcbiAgICAkaWNvbnMtdmVyaWZpZWQtY29sb3I6ICRmb3JtLWljb25zLXZlcmlmaWVkLWNvbG9yLFxuICAgICRpY29ucy1ub3R2ZXJpZmllZC1jb2xvcjogJGZvcm0taWNvbnMtbm90dmVyaWZpZWQtY29sb3IsXG4gICAgJGljb25zLXZlcmlmeS1jb2xvcjogJGZvcm0taWNvbnMtdmVyaWZ5LWNvbG9yLFxuICAgICRpY29ucy1jbGVhci1jb2xvcjogJGZvcm0taWNvbnMtY2xlYXItY29sb3IsXG4gICAgJGljb25zLWluZm8tY29sb3I6ICRmb3JtLWljb25zLWluZm8tY29sb3IsXG4gICAgJGljb25zLWFkZC1jb2xvcjogJGZvcm0taWNvbnMtYWRkLWNvbG9yLFxuICAgICRpY29ucy1yZW1vdmUtY29sb3I6ICRmb3JtLWljb25zLXJlbW92ZS1jb2xvcixcbiAgICAkaWNvbnMtbWVzc2FnZS1jbGlja2JsZS1jb2xvcjogJGZvcm0taWNvbnMtbWVzc2FnZS1jbGlja2JsZS1jb2xvclxuKSB7XG4gICAgLmZvcm0taWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBmb3JtaWNvbnMoXG4gICAgICAgICAgICAkdGhlbWU6J2RhcmsnLFxuICAgICAgICAgICAgJGNpcmNsZS1jb2xvcjogJGljb25zLW1lc3NhZ2UtY29sb3IsXG4gICAgICAgICAgICAkaW5mby1jb2xvcjogJGljb25zLWluZm8tY29sb3IsXG4gICAgICAgICAgICAkdmFsaWQtY29sb3I6ICRpY29ucy12ZXJpZmllZC1jb2xvcixcbiAgICAgICAgICAgICRlcnJvci1jb2xvcjogJGljb25zLW5vdHZlcmlmaWVkLWNvbG9yLFxuICAgICAgICAgICAgJGNsZWFyLWNvbG9yOiAkaWNvbnMtY2xlYXItY29sb3JcbiAgICAgICAgKTtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmZvY3VzZWQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGZvcm0taWNvbnMtZm9jdXNjaXJjbGUtYm94LXNoYWRvdyB0cmFuc3BhcmVudGl6ZShzd2F0Y2goYmx1ZSksIC43KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWljb25zLW1lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogJGljb25zLW1lc3NhZ2UtY29sb3I7XG5cbiAgICAgICAgJi5pcy1jbGlja2FibGUge1xuICAgICAgICAgICAgY29sb3I6ICRpY29ucy1tZXNzYWdlLWNsaWNrYmxlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBUb29sdGlwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXRvb2x0aXAtc2l6ZTogLjQzNzVlbSAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtYWZ0ZXItYm90dG9tOiAtLjM3NWVtICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goYmFja2dyb3VuZGZvb3RlcikgIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXRleHQtY29sb3I6IHN3YXRjaCh0aXRsZSkgIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXBhZGRpbmc6IDFlbSAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtd2lkdGg6IDE5NnB4ICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC1ib3R0b206IDMycHggIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLW1pZGRsZS1sZWZ0LXBvc2l0aW9uOiAtMTA4cHggIWRlZmF1bHQ7XG4kZm9udC10b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjMyICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC10aXRsZS1tYXJnaW4tYm90dG9tOiA4cHggIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXRpdGxlLXdvcmQtc3BhY2U6IDJweCAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtbGVmdC1sZWZ0LXBvc2l0aW9uOiAtMjlweCAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtcmlnaHQtbGVmdC1wb3NpdGlvbjogLTIwMnB4ICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC1taWRkbGUtdHJpYW5nbGUtcmlnaHQtcG9zaXRpb246IDYuNGVtICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC1yaWdodC10cmlhbmdsZS1yaWdodC1wb3NpdGlvbjogLjUxNTZlbSAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtbGVmdC10cmlhbmdsZS1sZWZ0LXBvc2l0aW9uOiAuNGVtICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC1oYWxmOiA1MCUgIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlci10b29sdGlwLWJvdHRvbTogOHB4ICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXItdGV4dGJveC10b3A6IDlweCAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb250b29sdGlwLWJvdHRvbTogNTdweCAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb250b29sdGlwLWljb24tdG9wOiAycHggIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9udG9vbHRpcC1ib3R0b20tbW9iaWxlOiA0M3B4ICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbnRvb2x0aXAtcGFkZGluZy1yaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbnRvb2x0aXAtaWNvbi1tYXJnaW4tbGVmdDogLS4yOGVtICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbnRvb2x0aXAtaWNvbi1tYXJnaW4tbGVmdC1tb2JpbGU6IC0uNWVtICFkZWZhdWx0O1xuJGZvcm0taWNvbnMtZm9jdXNhYmxlLXRvb2x0aXAtdGV4dGJveC13aWR0aDogY2FsYygxMDAlIC0gMjNweCkgIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXZhbGlkYXRpb24tZm9ybS1sYWJlbC1wYWRkaW5nLXRvcDogMS4xMjVlbSAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyLWZvcm0tZm9ybS1pY29ucy1sZWZ0OiAtMjNweCAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyLWZvcm0taWNvbnMtbGVmdDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXItZm9ybS1pY29ucy1tYXJnaW4tcmlnaHQtbW9iaWxlOiA2cHggIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXZhbGlkYXRpb24tbXNnLW1hcmdpbi1ib3R0b206IC0xcHggIWRlZmF1bHQ7XG4kZm9ybS10b29sdGlwLXZhbGlkYXRpb24tbXNnLWljb24tc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRmb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2ctZm9ybS1pY29ucy10b3A6IC0uMTI1ZW0gIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGZvcm0tdG9vbHRpcC1kZWZhdWx0LWZvbnQsIChcbiAgICBsYXJnZTogKDMyLCA0NCwgNDAwKVxuKSk7XG5cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLW1zZywgKFxuICAgIGxhcmdlOiAoMjgsIDQyLCA0MDApXG4pKTtcblxuLmZvcm0tdG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeShmb3JtLXRvb2x0aXAtZGVmYXVsdC1mb250KTtcbiAgICBwYWRkaW5nOiAkZm9ybS10b29sdGlwLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRmb3JtLXRvb2x0aXAtd2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3R0b206ICRmb3JtLXRvb2x0aXAtYm90dG9tO1xuICAgIGNvbG9yOiAkZm9ybS10b29sdGlwLXRleHQtY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6ICRmb250LXRvb2x0aXAtbGluZS1oZWlnaHQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRmb3JtLXRvb2x0aXAtc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkZm9ybS10b29sdGlwLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRmb3JtLXRvb2x0aXAtc2l6ZSBzb2xpZCAkZm9ybS10b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvdHRvbTogJGZvcm0tdG9vbHRpcC1hZnRlci1ib3R0b207XG4gICAgfVxuXG4gICAgLmZvcm0taWNvbnMtYmVmb3JlIH4gJiB7XG4gICAgICAgIGJvdHRvbTogJGZvcm0tdG9vbHRpcC1ib3R0b20gKyAxcHg7XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZm9ybS1pY29ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5mb3JtLWljb25zLWJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXRvb2x0aXAtdGV4dGJveC1pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5mb3JtLXRvb2x0aXAtd3JhcHBlciB7XG4gICAgICAgIC5mb3JtLWljb25zLmZvcm0taWNvbnMtYmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tdG9vbHRpcC1kZWZhdWx0LWZvbnQpO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXRvb2x0aXAtdGl0bGUtbWFyZ2luLWJvdHRvbTtcbiAgICB3b3JkLXNwYWNpbmc6ICRmb3JtLXRvb2x0aXAtdGl0bGUtd29yZC1zcGFjZTtcblxuICAgIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLXdyYXBwZXIgJiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLWxlZnQge1xuICAgIGxlZnQ6ICRmb3JtLXRvb2x0aXAtbGVmdC1sZWZ0LXBvc2l0aW9uO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6ICRmb3JtLXRvb2x0aXAtbGVmdC10cmlhbmdsZS1sZWZ0LXBvc2l0aW9uO1xuXG4gICAgICAgIC5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi13cmFwcGVyICYge1xuICAgICAgICAgICAgbGVmdDogJGZvcm0tdG9vbHRpcC1sZWZ0LXRyaWFuZ2xlLWxlZnQtcG9zaXRpb24gKiAyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLXJpZ2h0IHtcbiAgICBsZWZ0OiAkZm9ybS10b29sdGlwLXJpZ2h0LWxlZnQtcG9zaXRpb247XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6ICRmb3JtLXRvb2x0aXAtcmlnaHQtdHJpYW5nbGUtcmlnaHQtcG9zaXRpb247XG4gICAgfVxufVxuXG4uZm9ybS10b29sdGlwLW1pZGRsZSB7XG4gICAgbGVmdDogJGZvcm0tdG9vbHRpcC1taWRkbGUtbGVmdC1wb3NpdGlvbjtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgIGxlZnQ6ICRmb3JtLXRvb2x0aXAtcmlnaHQtbGVmdC1wb3NpdGlvbjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6ICRmb3JtLXRvb2x0aXAtbWlkZGxlLXRyaWFuZ2xlLXJpZ2h0LXBvc2l0aW9uO1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgICByaWdodDogJGZvcm0tdG9vbHRpcC1yaWdodC10cmlhbmdsZS1yaWdodC1wb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cblxuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICB9XG5cbiAgICAuZm9ybS10b29sdGlwLXJpZ2h0IHtcbiAgICAgICAgbGVmdDogLSRmb3JtLXRvb2x0aXAtd2lkdGggLSAxO1xuICAgIH1cblxuICAgIC5mb3JtLXRvb2x0aXAtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZm9ybS10b29sdGlwIHtcbiAgICAgICAgYm90dG9tOiAkZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlci10b29sdGlwLWJvdHRvbTtcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMjlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXRvb2x0aXAtbWlkZGxlIHtcbiAgICAgICAgbGVmdDogLTEwMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG4gICAgICAgICAgICBsZWZ0OiAtJGZvcm0tdG9vbHRpcC13aWR0aCAtIDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMjlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWljb25zIHtcbiAgICAgICAgdG9wOiAkZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlci10ZXh0Ym94LXRvcDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAkZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlci1mb3JtLWZvcm0taWNvbnMtbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyLWZvcm0taWNvbnMtbWFyZ2luLXJpZ2h0LW1vYmlsZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgd2lkdGg6ICRmb3JtLWljb25zLWZvY3VzYWJsZS10b29sdGlwLXRleHRib3gtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICArIC5mb3JtLXRvb2x0aXAtd3JhcHBlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXRleHRib3ggKyAuZm9ybS10b29sdGlwLXdyYXBwZXIge1xuICAgIC5mb3JtLWljb25zIHtcbiAgICAgICAgbGVmdDogJGZvcm0tdG9vbHRpcC10ZXh0Ym94LXdyYXBwZXItZm9ybS1pY29ucy1sZWZ0O1xuICAgIH1cbn1cblxuLmhhcy1sYWJlbCAuZm9ybS10b29sdGlwLXRleHRib3gtd3JhcHBlciAuZm9ybS10ZXh0Ym94IHtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLiN7JGZvcm0tZXJyb3ItY2xhc3N9IC5mb3JtLXRvb2x0aXAtdGV4dGJveC13cmFwcGVyIC5mb3JtLXRleHRib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAuZm9ybS10ZXh0Ym94OmZvY3VzIH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS10ZXh0Ym94ICsgLmZvcm0tY2VsbC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIC5oYXMtbGFiZWwgJiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXRleHRib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuaGFzLWxhYmVsICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRmb3JtLWVycm9yLWNsYXNzfSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICArIC5mb3JtLWNlbGwuZm9ybS1sYWJlbCB7XG4gICAgICAgIC5oYXMtbGFiZWwgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLWZvcm0tbGFiZWwtcGFkZGluZy10b3A7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3R0b206ICRmb3JtLXZhbGlkYXRpb250b29sdGlwLWJvdHRvbTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICBib3R0b206ICRmb3JtLXZhbGlkYXRpb250b29sdGlwLWJvdHRvbS1tb2JpbGU7XG4gICAgfVxuXG4gICAgLmZvcm0taWNvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGZvcm0tdmFsaWRhdGlvbnRvb2x0aXAtaWNvbi1tYXJnaW4tbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tdmFsaWRhdGlvbnRvb2x0aXAtcGFkZGluZy1yaWdodDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiAkZm9ybS12YWxpZGF0aW9udG9vbHRpcC1pY29uLXRvcDtcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS12YWxpZGF0aW9udG9vbHRpcC1pY29uLW1hcmdpbi1sZWZ0LW1vYmlsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWljb25zLWNpcmNsZTEzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pcy12YWxpZCxcbiAgICAuaXMtaW52YWxpZCB7XG4gICAgICAgIC5mb3JtLWljb25zLWNpcmNsZTEzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtdmFsaWQge1xuICAgICAgICAuZm9ybS1pY29ucy1jaGVja2FsdDEzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1pbnZhbGlkIHtcbiAgICAgICAgLmZvcm0taWNvbnMtdW52YWxpZGF0ZWRhbHQxMyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2cge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS10b29sdGlwLXZhbGlkYXRpb24tbXNnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS10b29sdGlwLXZhbGlkYXRpb24tbXNnLW1hcmdpbi1ib3R0b207XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgIC5mb3JtLWljb25zIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2ctaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRmb3JtLXRvb2x0aXAtdmFsaWRhdGlvbi1tc2ctaWNvbi1zaXplO1xuXG4gICAgICAgICYuaWNvbi1iZWZvcmU6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogJGZvcm0tdG9vbHRpcC12YWxpZGF0aW9uLW1zZy1mb3JtLWljb25zLXRvcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGZvcm0tdG9vbHRpcC1leHRlbmRlZChcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICR0ZXh0LWNvbG9yOiAkZm9ybS10b29sdGlwLXRleHQtY29sb3Jcbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3JtIFRleHRib3hcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tdGV4dGJveC10ZXh0LWNvbG9yOiBzd2F0Y2goY29weSkgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yOiBzd2F0Y2goc21hbGwpICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC1iYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gocGFnZSkgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LW5vbmVkaXRhYmxlLWJhY2tncm91bmQtY29sb3I6IHN3YXRjaChiYWNrZ3JvdW5kKSAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtbm9uZWRpdGFibGUtY29sb3I6IHN3YXRjaChzbWFsbCkgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWVycm9yLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goZm9ybWVycm9yKSwgLjk2KSAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzIC0gMXB4ICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1taW5oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS16aW5kZXg6IDEgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLW1vYmlsZS16aW5kZXg6IDMgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWhlaWdodDogMi4xMjVlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtaGVpZ2h0OiAxLjk5ZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWllLWhlaWdodDogMzRweCAgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWllLXBhZGRpbmctdG9wOiA3cHggICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1tb2JpbGUtaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1ob3Jpem9udGFsLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1tb2JpbGUtdGV4dGJveC1jb3VudHJ5Y29kZS1ob3Jpem9udGFsLXBhZGRpbmctbGVmdDogLjZlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtbW9iaWxlLXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLXRleHRib3gtcGFkZGluZy1sZWZ0OiAzLjJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtY29kZXNwYWNlOiAuNDY2N2VtICFkZWZhdWx0O1xuJGZvcm0tY291bnRyeWNvZGUtbGFiZWwtcGFkZGluZy1ib3R0b206IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1yb3ctZ3V0dGVyLXdpZHRoOiA4cHggICFkZWZhdWx0O1xuJGZvcm0tdGV4dGJveC10ZXh0YXJlYS1ib3R0b206IDlweCAhZGVmYXVsdDtcbiRmb3JtLXRleHRib3gtZmlyc3QtY2hpbGQtbWFyZ2luLXRvcDogMnB4O1xuJGZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1wYWRkaW5nLWxlZnQtbm9uanM6IDc0cHg7XG4kZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94LXNtYWxsLXBhZGRpbmctbGVmdC1ub25qczogNjZweDtcbiRmb3JtLWNvdW50cnljb2RlLXRleHRib3gtbWVkaXVtLXBhZGRpbmctbGVmdC1ub25qczogODJweDtcbiRmb3JtLWNvdW50cnljb2RlLXRleHRib3gtbGFyZ2UtcGFkZGluZy1sZWZ0LW5vbmpzOiA5NXB4O1xuJGZvcm0tZmx5b3V0bGFiZWwtbGVmdC1kaWZmOiAxNnB4O1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLW1lc3NnZS10ZXh0LCAoXG4gICAgbGFyZ2U6ICgyNCwgMjgsIDQwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLXRleHRib3gtY291bnRyeWNvZGUsIChcbiAgICBsYXJnZTogKDMyLCA2NywgNDAwKVxuKSk7XG5AbWl4aW4gdGV4dGJveC1lcnJvci1zdGF0ZShcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZXJyb3ItYmFja2dyb3VuZC1jb2xvcixcbiAgICAkYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1ib3JkZXItY29sb3Jcbikge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9ybS10ZXh0Ym94LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIH4gLmZvcm0taXMtdmFsaWQtaWNvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuQG1peGluIHRleHRib3gtdmFsaWQtc3RhdGUoKSB7XG4gICAgJjpmb2N1cyB+IC5mb3JtLWlzLXZhbGlkLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgfVxufVxuXG4uZm9ybS10ZXh0Ym94IHtcbiAgICBAaW5jbHVkZSAtZm9ybXMtaWU3LWlubGluZS1ibG9jaygpO1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeShmb3JtLWRlZmF1bHQtdGV4dCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gICAgcGFkZGluZy10b3A6IDVweFxcMDtcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBjb2xvcjogJGZvcm0tdGV4dGJveC10ZXh0LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXRleHRib3gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIG91dGxpbmU6IDA7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIC5oYXMtbGFiZWwgLmZvcm0tYmxvY2stbGFiZWwgKyAmIHtcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3I7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdHJhbnNwYXJlbnRpemUoc3dhdGNoKGJsdWUpLCAuNyk7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXRleHRib3gtbm9uZWRpdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHRib3gtbm9uZWRpdGFibGUtY29sb3I7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElFIGtpbGxzIHRoZXNlIHJ1bGUgd2hlbiB0cnlpbmcgdG8gZG8gdGhpczpcbiAgICAvL1xuICAgIC8vICY6aW52YWxpZCxcbiAgICAvLyAmLmlzLWVycm9yIHsgLi4uIH1cbiAgICAvL1xuICAgIC8vIFNvIHRoZSBiZXN0IG9wdGlvbiB3YXMgdG8gc2VwYXJhdGUgdGhlbS5cblxuICAgICY6aW52YWxpZCB7XG4gICAgICAgIEBpbmNsdWRlIHRleHRib3gtZXJyb3Itc3RhdGUoXG4gICAgICAgICAgICAkZm9ybS10ZXh0Ym94LWJhY2tncm91bmQtY29sb3IsXG4gICAgICAgICAgICAkZm9ybS1kZWZhdWx0LWJvcmRlci1jb2xvclxuICAgICAgICApO1xuICAgIH1cblxuICAgICY6dmFsaWQgeyBAaW5jbHVkZSB0ZXh0Ym94LXZhbGlkLXN0YXRlKCk7IH1cblxuICAgICZbdmFsdWU9XCJcIl0geyB+IC5mb3JtLWlzLXZhbGlkLWljb24geyBkaXNwbGF5OiBub25lOyB9IH1cbn1cblxuLiN7JGZvcm0tZXJyb3ItY2xhc3N9IHtcbiAgICAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dGJveC1lcnJvci1zdGF0ZSgpO1xuICAgIH1cbn1cblxuLmlzLXZhbGlkIC5mb3JtLXRleHRib3ggeyBAaW5jbHVkZSB0ZXh0Ym94LXZhbGlkLXN0YXRlKCk7IH1cblxuLiN7JGZvcm0tZXJyb3ItY2xhc3N9IC5mb3JtLXRleHRib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGV4dGFyZWFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZvcm0tdGV4dGJveC10ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTM2cHg7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXRleHRib3gtdGV4dGFyZWEtYm90dG9tO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZXNzYWdlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uI3skZm9ybS1lcnJvci1tZXNzYWdlLWNsYXNzfSB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeShmb3JtLW1lc3NnZS10ZXh0KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uI3skZm9ybS1lcnJvci1jbGFzc30ge1xuICAgIC4jeyRmb3JtLWVycm9yLW1lc3NhZ2UtY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgLWZvcm1zLWllNy1pbmxpbmUtYmxvY2soKTtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWJvcmRlci1jb2xvcjtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBDb3VudHJ5Y29kZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZSk7XG5cbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZm9ybS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBzd2F0Y2goYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1ib3JkZXItcmFkaXVzICRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWJvcmRlci1yYWRpdXMgJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIGhlaWdodDogJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1oZWlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIHotaW5kZXg6ICRmb3JtLXRleHRib3gtY291bnRyeWNvZGUtemluZGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1tb2JpbGUtemluZGV4O1xuICAgIH1cblxuICAgIC4jeyRmb3JtLWVycm9yLWNsYXNzfSAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS1lcnJvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWVycm9yLWNvbG9yO1xuICAgIH1cblxuICAgIC5mb3JtLXRleHRib3g6Zm9jdXMgfiAmIHtcbiAgICAgICAgLiN7JGZvcm0tZXJyb3ItY2xhc3N9ICYge1xuICAgICAgICAgICAgei1pbmRleDogJGZvcm0tdGV4dGJveC1jb3VudHJ5Y29kZS16aW5kZXggKyAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogc3dhdGNoKGJhY2tncm91bmRmb290ZXIpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZm9ybS1kZWZhdWx0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciB7XG4gICAgLmZvcm0tdGV4dGJveCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG5cbiAgICAgICAgLy9maXggZm9yIHpvb20gdGV4dCBvbmx5IGlzc3VlXG4gICAgICAgIGhlaWdodDogJGZvcm0tdGV4dGJveC1oZWlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAmLmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd24gfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuI3skZm9ybS10ZXh0LWVudGVyZWR9IH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy90ZXh0ZmllbGQgbGVmdCBwYWRkaW5nIGZvciBub24ganNcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS1kZXRlY3Qobm8tanMpIHtcblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1zbWFsbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94LXNtYWxsLXBhZGRpbmctbGVmdC1ub25qcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mb3JtLWNvdW50cnljb2RlLXRleHRib3gtc21hbGwgKyAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRmb3JtLWNvdW50cnljb2RlLXRleHRib3gtc21hbGwtcGFkZGluZy1sZWZ0LW5vbmpzIC0gJGZvcm0tZmx5b3V0bGFiZWwtbGVmdC1kaWZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcm0tY291bnRyeWNvZGUtdGV4dGJveCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94LXBhZGRpbmctbGVmdC1ub25qcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mb3JtLWNvdW50cnljb2RlLXRleHRib3ggKyAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRmb3JtLWNvdW50cnljb2RlLXRleHRib3gtcGFkZGluZy1sZWZ0LW5vbmpzIC0gJGZvcm0tZmx5b3V0bGFiZWwtbGVmdC1kaWZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1tZWRpdW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1tZWRpdW0tcGFkZGluZy1sZWZ0LW5vbmpzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1tZWRpdW0gKyAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRmb3JtLWNvdW50cnljb2RlLXRleHRib3gtbWVkaXVtLXBhZGRpbmctbGVmdC1ub25qcyAtICRmb3JtLWZseW91dGxhYmVsLWxlZnQtZGlmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mb3JtLWNvdW50cnljb2RlLXRleHRib3gtbGFyZ2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tY291bnRyeWNvZGUtdGV4dGJveC1sYXJnZS1wYWRkaW5nLWxlZnQtbm9uanM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94LWxhcmdlICsgLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkZm9ybS1jb3VudHJ5Y29kZS10ZXh0Ym94LWxhcmdlLXBhZGRpbmctbGVmdC1ub25qcyAtICRmb3JtLWZseW91dGxhYmVsLWxlZnQtZGlmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vc2V0IGNvdW50cnljb2RlIHRleHRib3ggaGVpZ2h0IGluIGllOFxuICAgICAgICBAaW5jbHVkZSBpZTgge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWllLWhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlLWllLXBhZGRpbmctdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLy90aGUgcGxhY2Vob2xkZXIgY29sb3IgaXMgdHJhbnNwYXJlbnQgd2hlbiB0ZXh0IGZpZWxkIHBhZGRpbmcgaXMgbm90IHNldFxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvL3RoZSBwbGFjZWhvbGRlciBjb2xvciBpcyBmb3JtIGRlZmF1dGwgcGxhY2Vob2xkZXIgY29sb3Igd2hlbiB0ZXh0IGZpZWxkIHBhZGRpbmcgaXMgc2V0XG4gICAgICAgICYuZm9ybS10ZXh0Ym94LWlzcGxhY2Vob2xkZXJzaG93bjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgICAgIC8vdGhlIHBsYWNlaG9sZGVyIGNvbG9yIGlzIHRyYW5zcGFyZW50IHdoZW4gdGhlIHRleHRmaWVsZCBpcyBub3QgZm9jdXNlZCBpbiBmb3JtLWNvbXBhY3QgbW9kZVxuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybS10ZXh0Ym94LWlzcGxhY2Vob2xkZXJzaG93bjo6cGxhY2Vob2xkZXI6Zm9jdXMsXG4gICAgICAgICYuZm9ybS10ZXh0Ym94LWlzcGxhY2Vob2xkZXJzaG93bjo6cGxhY2Vob2xkZXIuZm9jdXNlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgICAgICAvL3RoZSBwbGFjZWhvbGRlciBjb2xvciBpcyBkZWZhdWx0IHBsYWNlaG9sZGVyIGNvbG9yIHdoZW4gdGhlIHRleHRmaWVsZCBpcyBmb2N1c2VkIGluIGZvcm0tY29tcGFjdCBtb2RlXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5oYXMtbGFiZWwgJiB7XG4gICAgICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNlbGwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uaGFzLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgLmZvcm0tY291bnRyeWNvZGUtd3JhcHBlciB7XG4gICAgICAgICAgICAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1zaWRlYnlzaWRlLXRleHRib3hlcyB7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckRlcHRoXG4gICAgICAgICAgICAuY29sdW1uICsgLmNvbHVtbiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNlbGwuZm9ybS1zaWRlYnlzaWRlLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBpZTgge1xuICAgIC5mb3JtLXRleHRib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgfVxuXG4gICAgLmZvcm0tdGV4dGJveC10ZXh0YXJlYSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgIH1cbn1cblxuQG1peGluIGZvcm0tdGV4dGJveC1leHRlbmRlZChcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tdGV4dGJveC1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRib3JkZXItY29sb3I6ICRmb3JtLWRlZmF1bHQtYm9yZGVyLWNvbG9yLFxuICAgICRib3JkZXItZm9jdXMtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcixcbiAgICAkdGV4dC1jb2xvcjogJGZvcm0tdGV4dGJveC10ZXh0LWNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yOiAkZm9ybS1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRib3JkZXItZXJyb3ItY29sb3I6ICRmb3JtLWVycm9yLWJvcmRlci1jb2xvcixcbiAgICAkcGxhY2Vob2xkZXItdGV4dC1jb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvcixcbiAgICAkbm9uZWRpdGFibGUtYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tdGV4dGJveC1ub25lZGl0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRub25lZGl0YWJsZS1jb2xvcjogJGZvcm0tdGV4dGJveC1ub25lZGl0YWJsZS1jb2xvclxuKSB7XG4gICAgLmZvcm0tdGV4dGJveCB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgICAmOmludmFsaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB0cmFuc3BhcmVudGl6ZSgkYm9yZGVyLWZvY3VzLWNvbG9yLCAuNyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub25lZGl0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRub25lZGl0YWJsZS1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyLXRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgLmhhcy1sYWJlbCAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIH4gLmZvcm0tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goa2V5bGluZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB+IC5mb3JtLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogc3dhdGNoKGtleWxpbmUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlci10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtbGFiZWwgLmZvcm0tYmxvY2stbGFiZWwgKyAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyLXRleHQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZm9ybS1lcnJvci1jbGFzc30ge1xuICAgICAgICAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9jdXMtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHRyYW5zcGFyZW50aXplKCRib3JkZXItZm9jdXMtY29sb3IsIC43KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9yZGVyLWVycm9yLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbGFiZWwtZmx5b3V0LmlzLWhpZGRlbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZm9ybS1jb3VudHJ5Y29kZS1leHRlbmRlZChcbiAgICAkY291bnRyeWNvZGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcjogc3dhdGNoKGtleWxpbmUpLFxuICAgICRjb3VudHJ5Y29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goYmFja2dyb3VuZGZvb3RlciksXG4gICAgJGNvdW50cnljb2RlLWJhY2tncm91bmQtZXJyb3ItY29sb3I6IHN3YXRjaChmb3JtZXJyb3IpLFxuICAgICRjb3VudHJ5Y29kZS1ib3JkZXItZXJyb3ItY29sb3I6IHN3YXRjaChmb3JtZXJyb3IpLFxuICAgICRwbGFjZWhvbGRlci10ZXh0LWNvbG9yOiAkZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yXG4pIHtcbiAgICAuI3skZm9ybS1lcnJvci1jbGFzc30ge1xuICAgICAgICAuZm9ybS10ZXh0Ym94IHtcbiAgICAgICAgICAgICY6Zm9jdXMgfiAuZm9ybS10ZXh0Ym94LWNvdW50cnljb2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY291bnRyeWNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb3VudHJ5Y29kZS1ib3JkZXItc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB+IC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3VudHJ5Y29kZS1iYWNrZ3JvdW5kLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvdW50cnljb2RlLWJvcmRlci1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyLXRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3VudHJ5Y29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb3VudHJ5Y29kZS1ib3JkZXItc2VwYXJhdG9yLWNvbG9yO1xuXG4gICAgICAgICYuZm9ybS10ZXh0Ym94IHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICAgICAgJi5mb3JtLXRleHRib3gtaXNwbGFjZWhvbGRlcnNob3duOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZvcm0tdGV4dGJveC1pc3BsYWNlaG9sZGVyc2hvd246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlci10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tc2lkZWJ5c2lkZS10ZXh0Ym94ZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXJvdy1ndXR0ZXItd2lkdGg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgKyAuY29sdW1uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tcm93LWd1dHRlci13aWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3JtIExhYmVsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3ItaGFzLWxhYmVsOiBzd2F0Y2goY29weSkgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yLWhhcy1sYWJlbC1mbHlvdXQ6IHN3YXRjaChzbWFsbCkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC10ZXh0LWNvbG9yOiBzd2F0Y2goY29weSkgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mbHlvdXQtdGV4dC1jb2xvcjogc3dhdGNoKGNvcHkpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGJhY2tncm91bmRmb290ZXIpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZXJyb3ItY29sb3I6IHN3YXRjaChmb3JtZXJyb3IpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZmx5b3V0LWVycm9yLWJhY2tncm91bmQtY29sb3I6ICNmZWViZWIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mbHlvdXQtZXJyb3ItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjNzMxNzE3ICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLWxhYmVsLWZseW91dCgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZm9ybS10ZXh0Ym94OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mb3JtLXRleHRib3g6Zm9jdXM6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3ItaGFzLWxhYmVsLWZseW91dDsgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS1kZXRlY3Qobm8tanMpIHtcbiAgICAgICAgLmZvcm0tdGV4dGJveDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvci1oYXMtbGFiZWwtZmx5b3V0OyB9XG4gICAgfVxuXG4gICAgLiN7JGZvcm0tZXJyb3ItY2xhc3N9IHtcbiAgICAgICAgLmZvcm0tbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvci1oYXMtbGFiZWwtZmx5b3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tdGV4dGJveDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tdGV4dGJveDpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3ItaGFzLWxhYmVsLWZseW91dDtcbiAgICAgICAgfVxuXHR9XG5cbiAgICAuZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcbiAgICB9XG5cbiAgICAuZm9ybS1sYWJlbC5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICBsZWZ0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvci1oYXMtbGFiZWwtZmx5b3V0O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguMjgsIC4xMSwgLjMyLCAxKSxcblx0XHRcdFx0XHR0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjI4LCAuMTEsIC4zMiwgMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgICAgICB0b3A6IC00OXB4O1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG5cdFx0Ly9oaWRlIGZseW91dCBsYWJlbCBpbiBub24ganMgbW9kZVxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLWRldGVjdChuby1qcykge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlkZGVuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0fVxuXG4gICAgLmZvcm0tdGV4dGJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gU28gd2UgY2FuIHotaW5kZXggdGhpc1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtNDJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mbHlvdXQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1sYWJlbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG5cdFx0XHR9XG5cbiAgICAgICAgICAgIH4gLmZvcm0tbGFiZWwtZmx5b3V0OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGZvcm0tbGFiZWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4gICAgLiN7JGZvcm0tZXJyb3ItY2xhc3N9IC5mb3JtLXRleHRib3g6Zm9jdXMgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9ybS1sYWJlbC1mbHlvdXQtZXJyb3ItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHRib3gtcGxhY2Vob2xkZXItY29sb3ItaGFzLWxhYmVsO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGZvcm0tbGFiZWwtZmx5b3V0LWVycm9yLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgLmZvcm0tdGV4dGJveC4jeyRmb3JtLXRleHQtZW50ZXJlZH0ge1xuICAgICAgICAgICAgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmZvY3VzZWQge1xuICAgICAgICAgICAgICAgIH4gLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWxhYmVsLFxuLmZvcm0tYmxvY2stbGFiZWwge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1kZWZhdWx0LXRleHQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLXRleHQtY29sb3I7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblx0Ly8gQGluY2x1ZGUgaWU3LWlubGluZS1ibG9jaztcbn1cblxuLmZvcm0tbGFiZWwtZmx5b3V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5mb3JtLWNlbGwgKyAuZm9ybS1jZWxsLmZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uaGFzLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgQGluY2x1ZGUgaGFzLWxhYmVsLWZseW91dCgpO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcblx0fVxuXG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBjb2xvcjogJGZvcm0tbGFiZWwtdGV4dC1jb2xvcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG5cdH1cblxuICAgIC5mb3JtLXJvdyAuZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDdweDtcblx0XHR9XG5cdH1cblxuICAgIC5mb3JtLXRleHRib3ggfiAuZm9ybS1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAgICAgJi5mb3JtLWxhYmVsLWZseW91dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuXHRcdH1cblx0fVxufVxuXG5cbi4jeyRmb3JtLWVycm9yLWNsYXNzfSB7XG4gICAgLmZvcm0tYmxvY2stbGFiZWwsXG5cdC5mb3JtLWxhYmVsLFxuXHQmLmZvcm0tbGFiZWwge1xuICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yO1xuXHR9XG59XG5cbjppbnZhbGlkIH4gLmZvcm0tbGFiZWwge1xuICAgIGNvbG9yOiAkZm9ybS10ZXh0Ym94LXBsYWNlaG9sZGVyLWNvbG9yLWhhcy1sYWJlbC1mbHlvdXQ7XG59XG5cbi5oYXMtbGFiZWwgLmZvcm0tcm93IC5mb3JtLWxhYmVsLFxuLmZvcm0tY2VsbC5mb3JtLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cdH1cbn1cblxuLmZvcm0tdGl0bGUgKyAuZm9ybS1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMTlweDtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtZXh0ZW5kZWQoXG5cdCR0ZXh0LWNvbG9yOiAkZm9ybS1sYWJlbC10ZXh0LWNvbG9yLFxuXHQkbGFiZWwtZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tbGFiZWwtZmx5b3V0LWVycm9yLWJhY2tncm91bmQtY29sb3Jcbikge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtZmx5b3V0LWV4dGVuZGVkKFxuXHQkbGFiZWwtZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tbGFiZWwtZmx5b3V0LWVycm9yLWJhY2tncm91bmQtY29sb3ItZGFya1xuKSB7XG4gICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgIC5oYXMtbGFiZWwgLiN7JGZvcm0tZXJyb3ItY2xhc3N9IC5mb3JtLXRleHRib3g6Zm9jdXMgfiAuZm9ybS1sYWJlbC1mbHlvdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxhYmVsLWVycm9yLWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRsYWJlbC1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmFkaW8gQnV0dG9ucyAvIENoZWNrYm94ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEuIFN1YnRyYWN0IHRoZSBib3JkZXIgZnJvbSB0aGUgdG90YWwgc2l6ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1jaG9pY2UtaW5kaWNhdG9yLXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kZm9ybS1jaG9pY2UtaW5kaWNhdG9yLWJvcmRlci1jaGVja2VkLWNvbG9yOiBzd2F0Y2goYmx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1jaG9pY2UtaW5kaWNhdG9yLWJhY2tncm91bmQtY29sb3I6IHN3YXRjaChwYWdlKSAhZGVmYXVsdDtcbiRmb3JtLWNob2ljZS1pbmRpY2F0b3ItY2hlY2tlZC1zaXplOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1jaG9pY2UtaW5kaWNhdG9yLWJvcmRlci1jaGVja2VkLXNpemU6IDVweCAhZGVmYXVsdDtcblxuJGZvcm0tY2hvaWNlLWhvdmVyLWNvbG9yOiBzd2F0Y2goY2FwdGlvbikgIWRlZmF1bHQ7XG4kZm9ybS1jaG9pY2UtZm9jdXMtY29sb3I6IHN3YXRjaChibHVlKSAhZGVmYXVsdDtcbiRmb3JtLWNob2ljZS1jaGVja2VkLWNvbG9yOiBzd2F0Y2goY29weSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNob2ljZS1zZWxlY3Rvci1oZWlnaHQ6IDUuOWVtO1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLXBhZGRpbmc6IDE2cHg7XG4kZm9ybS1jaG9pY2Utc2VsZWN0b3Itc21hbGwtaGVpZ2h0OiA3NHB4O1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWJvcmRlci1jb2xvcjogc3dhdGNoKGtleWxpbmUpICFkZWZhdWx0O1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWJvcmRlci1ob3Zlci1jb2xvcjogc3dhdGNoKHNtYWxsKSAhZGVmYXVsdDtcbiRmb3JtLWNob2ljZS1zZWxlY3Rvci1ib3JkZXItY2hlY2tlZC1jb2xvcjogc3dhdGNoKGJsdWUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaG9pY2Utc2VsZWN0b3ItdGV4dC1jb2xvcjogc3dhdGNoKGNhcHRpb24pICFkZWZhdWx0O1xuXG4kZG91YmxlLWNvbHVtbi1tYXJnaW46IDE2cHg7XG4kc2luZ2xlLWNvbHVtbi1taW4td2lkdGg6IDEyNXB4O1xuJGRvdWJsZS1jb2x1bW4tbWF4LXdpZHRoOiAzNzJweDtcbiRmb3JtLXNlbGVjdG9ycm93LWd1dHRlci13aWR0aDogOHB4O1xuJGNvbG9ybmF2LXN3YXRjaC1zaXplOiAyNHB4O1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWljb24tbWFyZ2luLXRvcDogMXB4O1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWljb24tYXBwbGUtc2l6ZTogMzNweDtcbiRmb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbC1pY29uLWNpcmNsZS1zaXplOiAyNHB4O1xuJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWZvcm0tbGFiZWwtc2l6ZTogMTRweDtcbiRmb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbC1pY29uLWxhYmVsLXRvcDogLTlweDtcbiRmb3JtLWxhYmVsLXNtYWxsLWZvbnQtc2l6ZTogMTBweDtcbiRmb3JtLWxhYmVsLXNtYWxsLWZvbnQtc2l6ZS1tYXJnaW4tdG9wOiAxcHg7XG4kY29sb3JuYXYtc3dhdGNoLW1hcmdpbi10b3A6IDNweDtcbiRmb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sLWljb24tbGFiZWwtdG9wOiAtNXB4O1xuJGZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wtaWNvbi1sYWJlbC1sZWZ0OiAzcHg7XG4kZm9ybS1jaG9pY2VzZWxlY3RvcmxhYmVsLXR3b2NvbC1pY29uLWNpcmNsZS1pY29uLWJlZm9yZS10b3A6IC0uMDhlbTtcbiRmb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sbGVmdC1pY29uLWxhYmVsLXRvcDogLTVweDtcbiRmb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sbGVmdC1jb2xvcm5hdi1zd2F0Y2gtbWFyZ2luLXRvcDogNXB4O1xuJGZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0LWZvcm0tbGFiZWwtc21hbGwtcGFkZGluZy1sZWZ0OiAzcHg7XG5cbkBpbmNsdWRlIHR5cG9ncmFwaHktc2V0KGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLCAoXG4gICAgbGFyZ2U6ICgyOCwgMzYsIDQwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLWNob2ljZS1zZWxlY3Rvci1pY29uLWxhYmVsLCAoXG4gICAgbGFyZ2U6ICgyOCwgMzQsIDQwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLWxhYmVsLXNtYWxsLCAoXG4gICAgbGFyZ2U6ICgyMCwgMjQsIDQwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChmb3JtLWxhYmVsLWxhcmdlLCAoXG4gICAgbGFyZ2U6ICgzMiwgMzYsIDQwMClcbikpO1xuXG5AbWl4aW4gZm9ybS1yb3ctd2l0aGd1dHRlcnMgKFxuICAgICRndXR0ZXItd2lkdGg6ICRmb3JtLXNlbGVjdG9ycm93LWd1dHRlci13aWR0aFxuICAgICkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGd1dHRlci13aWR0aDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyLXdpZHRoO1xuXG4gICAgPiAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuQG1peGluIGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWNoZWNrZWQge1xuICAgICY6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi5mb3JtLXNlbGVjdG9yLXJvd3dpdGhndXR0ZXJzIHtcbiAgICBAaW5jbHVkZSBmb3JtLXJvdy13aXRoZ3V0dGVycztcblxuICAgICYgKyAuI3skZm9ybS1lcnJvci1tZXNzYWdlLWNsYXNzfSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG4uZm9ybS1zZWxlY3RvciB7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAuaWNvbi1hcHBsZS1vbmVsaW5lIHtcbiAgICAgICAgKyAuaWNvbi1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLWFwcGxlLXR3b2xpbmVzIHtcbiAgICAgICAgKyAuaWNvbi1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGZvcm0tZXJyb3ItY2xhc3N9ICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwpO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWljb24tbWFyZ2luLXRvcDtcbiAgICB9XG5cbiAgICAuaWNvbi1hcHBsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWljb24tYXBwbGUtc2l6ZTtcblxuICAgICAgICAmLmljb24tYXBwbGUtb25lbGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tYXBwbGUtdHdvbGluZXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24tY2lyY2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwtaWNvbi1jaXJjbGUtc2l6ZTtcbiAgICB9XG5cbiAgICAuaWNvbi1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwtaWNvbi1sYWJlbC10b3A7XG5cbiAgICAgICAgJi5mb3JtLWxhYmVsLXNtYWxsIHtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xvcm5hdi1zd2F0Y2gge1xuICAgICAgICB3aWR0aDogJGNvbG9ybmF2LXN3YXRjaC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRjb2xvcm5hdi1zd2F0Y2gtc2l6ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICB9XG59XG5cbi5mb3JtLWxhYmVsLXNtYWxsIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tbGFiZWwtc21hbGwpO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWxhYmVsLXNtYWxsLWZvbnQtc2l6ZS1tYXJnaW4tdG9wO1xuXG4gICAgLmNvbG9ybmF2LXN3YXRjaCArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkY29sb3JuYXYtc3dhdGNoLW1hcmdpbi10b3A7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG59XG5cbi5mb3JtLWxhYmVsLWRhcmsge1xuICAgIGNvbG9yOiBzd2F0Y2goY29weSk7XG59XG5cbi5mb3JtLWxhYmVsLWxhcmdlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tbGFiZWwtbGFyZ2UpO1xuICAgIGNvbG9yOiBzd2F0Y2goY29weSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG59XG5cbi5mb3JtLXNlbGVjdG9yLXNpbmdsZWNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogJGRvdWJsZS1jb2x1bW4tbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgICAgICBtaW4td2lkdGg6ICRzaW5nbGUtY29sdW1uLW1pbi13aWR0aDtcblxuICAgICAgICAuaWNvbixcbiAgICAgICAgLmljb24tbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sb3JzZWxlY3Rvci1zd2F0Y2ggKyAuZm9ybS1sYWJlbC1zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tc2VsZWN0b3ItdHdvY29sdW1ucyB7XG4gICAgbWFyZ2luLXRvcDogJGRvdWJsZS1jb2x1bW4tbWFyZ2luO1xuICAgIG1heC13aWR0aDogJGRvdWJsZS1jb2x1bW4tbWF4LXdpZHRoO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQoZm9ybS1jb21wYWN0KSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvcm0tY2hvaWNlLXNlbGVjdG9yIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAgICAgaGVpZ2h0OiA1LjhlbTtcbiAgICB9XG5cbiAgICAmLmZvcm0tc2VsZWN0b3J0d29jb2x1bW5zLW9uZWxpbmUge1xuICAgICAgICAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZm9ybS1jaG9pY2Utc2VsZWN0b3Itc21hbGwtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jaG9pY2VzZWxlY3RvcmxhYmVsLXR3b2NvbCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaWNvbi1sYWJlbCB7XG4gICAgICAgIHRvcDogJGZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2wtaWNvbi1sYWJlbC10b3A7XG4gICAgICAgIGxlZnQ6ICRmb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sLWljb24tbGFiZWwtbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pY29uLWJlZm9yZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuaWNvbi1jaXJjbGUuaWNvbi1iZWZvcmU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkZm9ybS1jaG9pY2VzZWxlY3RvcmxhYmVsLXR3b2NvbC1pY29uLWNpcmNsZS1pY29uLWJlZm9yZS10b3A7XG4gICAgfVxuXG59XG5cbi5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sbGVmdCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAuaWNvbi1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoZm9ybS1jaG9pY2Utc2VsZWN0b3ItaWNvbi1sYWJlbCk7XG4gICAgICAgIHRvcDogJGZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0LWljb24tbGFiZWwtdG9wO1xuICAgICAgICBsZWZ0OiAtM3B4O1xuXG4gICAgICAgICYuZm9ybS1sYWJlbC1zbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tY2hvaWNlc2VsZWN0b3JsYWJlbC10d29jb2xsZWZ0LWZvcm0tbGFiZWwtc21hbGwtcGFkZGluZy1sZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbG9ybmF2LXN3YXRjaCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29sbGVmdC1jb2xvcm5hdi1zd2F0Y2gtbWFyZ2luLXRvcDtcbiAgICB9XG59XG5cbi5mb3JtLWNob2ljZXNlbGVjdG9ybGFiZWwtdHdvY29scmlnaHQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICAgICYuZm9ybS1jaG9pY2VzZWxlY3RvcmxhYmVsb25lbGluZS10d29jb2xyaWdodCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG5cbiAgICAgICAgJi5mb3JtLWxhYmVsLXNtYWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIC1mb3Jtcy1pZTctaW5saW5lLWJsb2NrKCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRmb3JtLWNob2ljZS1pbmRpY2F0b3Itc2l6ZSAtIDJweDsgLy8gMVxuICAgIGhlaWdodDogJGZvcm0tY2hvaWNlLWluZGljYXRvci1zaXplIC0gMnB4OyAvLyAxXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tY2hvaWNlLWluZGljYXRvci1iYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4uZm9ybS1jaG9pY2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMTJweDtcbiAgICBib3R0b206IDEycHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjtcblxuICAgIH4gLmZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAkZm9ybS1jaG9pY2UtY2hlY2tlZC1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG5cbiAgICAgICAgLmZvcm0tY2hvaWNlLWluZGljYXRvciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzZWQge1xuICAgICAgICArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzd2F0Y2goYmx1ZSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdHJhbnNwYXJlbnRpemUoc3dhdGNoKGJsdWUpLCAuNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgfiAuZm9ybS1sYWJlbCxcbiAgICAmOmNoZWNrZWQgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwgLmZvcm0tbGFiZWwgeyBjb2xvcjogJGZvcm0tY2hvaWNlLWNoZWNrZWQtY29sb3I7IH1cblxuICAgICY6Y2hlY2tlZCB+IC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgICBib3JkZXI6ICRmb3JtLWNob2ljZS1pbmRpY2F0b3ItYm9yZGVyLWNoZWNrZWQtc2l6ZSBzb2xpZCAkZm9ybS1jaG9pY2UtaW5kaWNhdG9yLWJvcmRlci1jaGVja2VkLWNvbG9yO1xuICAgICAgICB3aWR0aDogJGZvcm0tY2hvaWNlLWluZGljYXRvci1jaGVja2VkLXNpemU7XG4gICAgICAgIGhlaWdodDogJGZvcm0tY2hvaWNlLWluZGljYXRvci1jaGVja2VkLXNpemU7XG4gICAgfVxuXG59XG5cbi4jeyRmb3JtLWVycm9yLWNsYXNzfSAuZm9ybS1jaG9pY2Uge1xuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9ybS1jaG9pY2UtZXh0ZW5kZWQoXG4gICAgJHRleHQtY29sb3I6ICRmb3JtLWNob2ljZS1zZWxlY3Rvci10ZXh0LWNvbG9yLFxuICAgICR0ZXh0LWNoZWNrZWQtY29sb3I6ICRmb3JtLWNob2ljZS1jaGVja2VkLWNvbG9yXG4pIHtcbiAgICB+IC5mb3JtLWxhYmVsIHsgY29sb3I6ICR0ZXh0LWNvbG9yOyB9XG4gICAgJjpjaGVja2VkIH4gLmZvcm0tbGFiZWwgeyBjb2xvcjogJHRleHQtY2hlY2tlZC1jb2xvcjsgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSYWRpbyBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mb3JtLWNob2ljZS1yYWRpbyArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2hlY2tib3hlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9ybS1jaG9pY2UtY2hlY2tib3gge1xuXG4gICAgKyAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIHZpZXdwb3J0KGZvcm0tY29tcGFjdCkge1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgaWNvbihjaGVjayk7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmb3JtLWNob2ljZS1pbmRpY2F0b3ItYm9yZGVyLWNoZWNrZWQtY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3I6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWNob2ljZS1pbmRpY2F0b3ItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIHRvcDogLTEgKiAkZm9ybS1jaG9pY2UtaW5kaWNhdG9yLWJvcmRlci1jaGVja2VkLXNpemU7XG4gICAgICAgICAgICBsZWZ0OiAtMiAqICRmb3JtLWNob2ljZS1pbmRpY2F0b3ItYm9yZGVyLWNoZWNrZWQtc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb3JtLWNob2ljZS1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiAkZm9ybS1jaG9pY2UtaW5kaWNhdG9yLXNpemUgKyAoMiAqICRmb3JtLWNob2ljZS1pbmRpY2F0b3ItYm9yZGVyLWNoZWNrZWQtc2l6ZSk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZWxlY3RvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZvcm0tY2hvaWNlLXNlbGVjdG9yIHtcbiAgICBAaW5jbHVkZSAtZm9ybXMtaWU3LWlubGluZS1ibG9jaygpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBWZW5kb3JQcmVmaXhcbiAgICAtbXMtZmlsdGVyOiAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCknO1xuICAgIC8vIHNjc3MtbGludDplbmFibGUgVmVuZG9yUHJlZml4XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuXG4gICAgQGluY2x1ZGUgaWU4KCkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwtY2hlY2tlZCgpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItYm9yZGVyLWNoZWNrZWQtY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItcGFkZGluZyAtIDFweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLXBhZGRpbmcgLSAxcHg7XG5cbiAgICAgICAgLmZvcm0tbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWNob2ljZS1jaGVja2VkLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWhlaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLXRleHQtY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgJjpob3ZlciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWJvcmRlci1ob3Zlci1jb2xvcjtcblxuICAgICAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tY2hvaWNlLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcjpjaGVja2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItYm9yZGVyLWNoZWNrZWQtY29sb3I7XG5cbiAgICAgICAgLmZvcm0tbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWNob2ljZS1jaGVja2VkLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmZvY3VzZWQge1xuICAgICAgICB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWNob2ljZS1zZWxlY3Rvci1ib3JkZXItY2hlY2tlZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHRyYW5zcGFyZW50aXplKHN3YXRjaChibHVlKSwgLjcpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6Zm9jdXMsXG4gICAgJjpjaGVja2VkLmZvY3VzZWQge1xuICAgICAgICB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hvaWNlLXNlbGVjdG9yLWJvcmRlci1jaGVja2VkLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yb3VuZGVkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzO1xuICAgIH1cbn1cblxuQG1peGluIGZvcm0tY2hvaWNlLXNlbGVjdG9yLWV4dGVuZGVkKFxuICAgICR3aWR0aDogYXV0byxcbiAgICAkdGV4dC1jb2xvcjogJGZvcm0tY2hvaWNlLWNoZWNrZWQtY29sb3IsXG4gICAgJHRleHQtY29sb3ItbGFyZ2U6ICRmb3JtLWNob2ljZS1jaGVja2VkLWNvbG9yLFxuICAgICR0ZXh0LWZvY3VzLWNvbG9yOiAkZm9ybS1jaG9pY2UtY2hlY2tlZC1jb2xvcixcbiAgICAkdGV4dC1jaGVja2VkLWNvbG9yOiAkZm9ybS1jaG9pY2UtY2hlY2tlZC1jb2xvcixcbiAgICAkYm9yZGVyLWNvbG9yOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItYm9yZGVyLWNvbG9yLFxuICAgICRib3JkZXItaG92ZXItY29sb3I6ICRmb3JtLWNob2ljZS1ob3Zlci1jb2xvcixcbiAgICAkYm9yZGVyLWZvY3VzLWNvbG9yOiAkZm9ybS1jaG9pY2UtZm9jdXMtY29sb3IsXG4gICAgJGZvY3VzLWJveC1zaGFkb3ctdW5zZWxlY3RlZDogMCAwIDAgM3B4IHRyYW5zcGFyZW50aXplKHN3YXRjaChibHVlKSwgLjcpLFxuICAgICRmb2N1cy1ib3gtc2hhZG93LXNlbGVjdGVkOiAwIDAgMCAycHggdHJhbnNwYXJlbnRpemUoc3dhdGNoKGJsdWUpLCAuNyksXG4gICAgJGNvbG9yc3dhdGNoLWJhY2tncm91bmQtY29sb3I6IHN3YXRjaChncmFwaGdyYXkpXG4pIHtcbiAgICB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1sYWJlbC1sYXJnZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY2hlY2tlZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWxhYmVsLWRhcmsge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNoZWNrZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sb3JuYXYtc3dhdGNoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcnN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1ob3Zlci1jb2xvcjtcblxuICAgICAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuZm9jdXNlZCB7XG4gICAgICAgIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93LXVuc2VsZWN0ZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsLWNoZWNrZWQoKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcblxuICAgICAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY2hlY2tlZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZDpmb2N1cyxcbiAgICAmOmNoZWNrZWQuZm9jdXNlZCB7XG4gICAgICAgIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93LXNlbGVjdGVkO1xuICAgICAgICAgICB9XG4gICAgIH1cbn1cblxuQG1peGluIGZvcm0tY2hvaWNlLXJhZGlvLWV4dGVuZGVkIChcbiAgICAkYm9yZGVyLWZvY3VzLWNvbG9yOiAkZm9ybS1jaG9pY2Utc2VsZWN0b3ItYm9yZGVyLWNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLWZvY3VzLWNvbG9yOiAkZm9ybS1jaG9pY2UtZm9jdXMtY29sb3IsXG4gICAgJGJvcmRlci1jb2xvcjogc3dhdGNoKGZyYW1pbmcpLFxuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gocGFnZSkpIHtcbiAgICAuZm9ybS1jaG9pY2UtcmFkaW8ge1xuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgfiAuZm9ybS1sYWJlbCAuZm9ybS1jaG9pY2UtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9jdXMtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZm9jdXMtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRmb3JtLWVycm9yLWNsYXNzfSAuZm9ybS1jaG9pY2UtcmFkaW8ge1xuICAgICAgICB+IC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZm9ybS1jaG9pY2UtY2hlY2tib3gtZXh0ZW5kZWQgKFxuICAgICRib3JkZXItZm9jdXMtY29sb3I6ICRmb3JtLWNob2ljZS1zZWxlY3Rvci1ib3JkZXItY29sb3IsXG4gICAgJGJhY2tncm91bmQtZm9jdXMtY29sb3I6ICRmb3JtLWNob2ljZS1mb2N1cy1jb2xvcixcbiAgICAkYm9yZGVyLWNvbG9yOiBzd2F0Y2goZnJhbWluZyksXG4gICAgJGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChwYWdlKSkge1xuICAgIC5mb3JtLWNob2ljZS1jaGVja2JveCB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICB+IC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyLWZvY3VzLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB+IC5mb3JtLWxhYmVsIC5mb3JtLWNob2ljZS1pbmRpY2F0b3I6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZC1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICsgLmZvcm0tbGFiZWwgLmZvcm0tY2hvaWNlLWluZGljYXRvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRmb3JtLWVycm9yLWNsYXNzfSAuZm9ybS1jaG9pY2UtY2hlY2tib3gge1xuICAgICAgICB+IC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1kcm9wZG93bi10ZXh0LWNvbG9yOiBzd2F0Y2goY29weSkgIWRlZmF1bHQ7XG4kZm9ybS1kcm9wZG93bi1pY29uLWNvbG9yOiBzd2F0Y2goc21hbGwpICFkZWZhdWx0O1xuJGZvcm0tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKHBhZ2UpICFkZWZhdWx0O1xuXG4uZm9ybS1kcm9wZG93biB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyLjEyNWVtO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgY29sb3I6ICRmb3JtLWRyb3Bkb3duLXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1kZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tZGVmYXVsdC1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcblxuXHQvLyBBdXRvcHJlZml4ZXIgZG9lc24ndCBwcmVmaXggdGhlc2VcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cblx0Ly8gd2Via2l0LWFwcGVhcmFuY2Ugbm90IHN1cHBvcnRpbmcgaW4gSUVcbiAgICBwYWRkaW5nOiAwIDAgMCAxNnB4XFwwO1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7IC8vIGhlaWdodCBvZiBzZWxlY3Qgc2hvdWxkIG1hdGNoIHdpdGggdGV4dGJveFxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdHJhbnNwYXJlbnRpemUoc3dhdGNoKGJsdWUpLCAuNyk7XG5cdH1cblxuICAgIH4gLmZvcm0taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6IHN3YXRjaChzbWFsbCk7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjtcblx0XHQvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgICAgICBkaXNwbGF5OiBub25lXFwwO1xuXHRcdC8vIHNjc3MtbGludDplbmFibGUgRHVwbGljYXRlUHJvcGVydHlcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydChmb3JtLWNvbXBhY3QpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICB9XG5cdH1cblxuICAgIC4jeyRmb3JtLWVycm9yLWNsYXNzfSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmb3JtLWVycm9yLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChwYWdlKTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvcm0tZHJvcGRvd24tZXh0ZW5kZWQoXG5cbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tdGV4dGJveC1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRib3JkZXItY29sb3I6ICRmb3JtLWRlZmF1bHQtYm9yZGVyLWNvbG9yLFxuICAgICRib3JkZXItZm9jdXMtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcixcbiAgICAkdGV4dC1jb2xvcjogJGZvcm0tdGV4dGJveC10ZXh0LWNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yOiAkZm9ybS1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICRib3JkZXItZXJyb3ItY29sb3I6ICRmb3JtLWVycm9yLWJvcmRlci1jb2xvcixcbiAgICAkcGxhY2Vob2xkZXItdGV4dC1jb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvclxuKSB7XG4gICAgLmZvcm0tZHJvcGRvd24ge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdHJhbnNwYXJlbnRpemUoJGJvcmRlci1mb2N1cy1jb2xvciwgLjcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGZvcm0tZXJyb3ItY2xhc3N9IHtcbiAgICAgICAgLmZvcm0tZHJvcGRvd24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb2N1cy1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdHJhbnNwYXJlbnRpemUoJGJvcmRlci1mb2N1cy1jb2xvciwgLjcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9ybSBCdXR0b25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvcm0tYnV0dG9uLWFvcy10b3AtY29sb3I6ICMxNWM0MTggIWRlZmF1bHQ7XG4kZm9ybS1idXR0b24tYW9zLWJvdHRvbS1jb2xvcjogIzAzOTgwOCAhZGVmYXVsdDtcbiRmb3JtLWJ1dHRvbi1ob2xpZGF5LXRvcC1jb2xvcjogI2UyMiAhZGVmYXVsdDtcbiRmb3JtLWJ1dHRvbi1ob2xpZGF5LWJvdHRvbS1jb2xvcjogc3dhdGNoKGhvbGlkYXlyZWQpICFkZWZhdWx0O1xuXG4uZm9ybS1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5mb3JtLWJ1dHRvbi1hb3Mge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHRlbmRlZCgkYmFja2dyb3VuZC10b3A6ICRmb3JtLWJ1dHRvbi1hb3MtdG9wLWNvbG9yLCAkYmFja2dyb3VuZC1ib3R0b206ICRmb3JtLWJ1dHRvbi1hb3MtYm90dG9tLWNvbG9yKTtcblxuICAgIGJvcmRlcjogMDtcbn1cblxuLmZvcm0tYnV0dG9uLWhvbGlkYXkge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHRlbmRlZCgkYmFja2dyb3VuZC10b3A6ICRmb3JtLWJ1dHRvbi1ob2xpZGF5LXRvcC1jb2xvciwgJGJhY2tncm91bmQtYm90dG9tOiAkZm9ybS1idXR0b24taG9saWRheS1ib3R0b20tY29sb3IpO1xuXG4gICAgYm9yZGVyOiAwO1xuXG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3JtIFRvZ2dsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS10b2dnbGUtaGVpZ2h0OiAxM3B4ICFkZWZhdWx0O1xuJGZvcm0tdG9nZ2xlLXdpZHRoOiAyOHB4ICFkZWZhdWx0O1xuJGZvcm0tdG9nZ2xlLWluZGljYXRvci1iZWZvcmUtdG9wLXBvc2l0aW9uOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1sZWZ0LXBvc2l0aW9uOiAxOHB4ICFkZWZhdWx0O1xuJGZvcm0tdG9nZ2xlLWluZGljYXRvci1iZWZvcmUtY2hlY2tlZC1sZWZ0LXBvc2l0aW9uOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1jaGVja2VkLXRvcC1wb3NpdGlvbjogNHB4ICFkZWZhdWx0O1xuJGZvcm0tdG9nZ2xlLWluZGljYXRvci1iZWZvcmUtY2hlY2tlZC1oZWlnaHQ6IDVweCAhZGVmYXVsdDtcbiRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYmVmb3JlLXNpemU6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYWZ0ZXItc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYWZ0ZXItY2hlY2tlZC1sZWZ0LXBvc2l0aW9uOiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tdG9nZ2xlLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1lOiAuNHMgIWRlZmF1bHQ7XG4kZm9ybS10b2dnbGUtbGVmdC1wb3NpdGlvbjogMzhweCAhZGVmYXVsdDtcbiRmb3JtLXRvZ2dsZS1oYWxmOiA1MCUgIWRlZmF1bHQ7XG4kZm9ybS10b2dnbGUtcGFkZGluZy10b3A6IDFweCAhZGVmYXVsdDtcbiRmb3JtLXRvZ2dsZS1mb3JtLWxhYmVsLW1hcmdpbi10b3A6IDhweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoZm9ybS10b2dnbGUtdGV4dCwgKFxuICAgIGxhcmdlOiAoMzIsIDM2LCA0MDApXG4pKTtcblxuLmZvcm0tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KGZvcm0tdG9nZ2xlLXRleHQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXRvZ2dsZS1wYWRkaW5nLXRvcDtcblxuICAgICYuZm9ybS1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGZvcm0tdG9nZ2xlLWxlZnQtcG9zaXRpb247XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLXRvZ2dsZS1mb3JtLWxhYmVsLW1hcmdpbi10b3A7XG4gICAgfVxuICAgIFxufVxuXG4uZm9ybS10b2dnbGUtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGZvcm0tdG9nZ2xlLXBhZGRpbmctdG9wO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGtleWxpbmUpO1xuICAgIHdpZHRoOiAkZm9ybS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS10b2dnbGUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXRvZ2dsZS1oZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkZm9ybS10b2dnbGUtZGVmYXVsdC10cmFuc2l0aW9uLXRpbWU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgc3dhdGNoKGtleWxpbmUpO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYmVmb3JlLXRvcC1wb3NpdGlvbjtcbiAgICAgICAgbGVmdDogJGZvcm0tdG9nZ2xlLWluZGljYXRvci1iZWZvcmUtbGVmdC1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6ICRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYmVmb3JlLXNpemU7XG4gICAgICAgIGhlaWdodDogJGZvcm0tdG9nZ2xlLWluZGljYXRvci1iZWZvcmUtc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvcm0tdG9nZ2xlLWhhbGY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHN3YXRjaChzbWFsbCk7XG5cbiAgICAgICAgLmZvcm0tY2hvaWNlOmNoZWNrZWQgKyAuZm9ybS10b2dnbGUgJiB7XG4gICAgICAgICAgICBsZWZ0OiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1jaGVja2VkLWxlZnQtcG9zaXRpb247XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBzd2F0Y2goY29weSk7XG4gICAgICAgICAgICBoZWlnaHQ6ICRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYmVmb3JlLWNoZWNrZWQtaGVpZ2h0O1xuICAgICAgICAgICAgdG9wOiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1jaGVja2VkLXRvcC1wb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWFmdGVyLXNpemU7XG4gICAgICAgIGhlaWdodDogJGZvcm0tdG9nZ2xlLWluZGljYXRvci1hZnRlci1zaXplO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gocGFnZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXRvZ2dsZS1oYWxmO1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0ICRmb3JtLXRvZ2dsZS1kZWZhdWx0LXRyYW5zaXRpb24tdGltZTtcblxuICAgICAgICAuZm9ybS1jaG9pY2U6Y2hlY2tlZCArIC5mb3JtLXRvZ2dsZSAmIHtcbiAgICAgICAgICAgIGxlZnQ6ICRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYWZ0ZXItY2hlY2tlZC1sZWZ0LXBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY2hvaWNlOmNoZWNrZWQgKyAuZm9ybS10b2dnbGUgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChibHVlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzd2F0Y2goYmx1ZSk7XG4gICAgfVxuXG4gICAgLmZvcm0tY2hvaWNlOmZvY3VzICsgLmZvcm0tdG9nZ2xlICYsXG4gICAgLmZvcm0tY2hvaWNlLmZvY3VzZWQgKyAuZm9ybS10b2dnbGUgJiB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHN3YXRjaChibHVlKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHRyYW5zcGFyZW50aXplKHN3YXRjaChibHVlKSwgLjcpO1xuICAgIH1cblxuICAgIC5mb3JtLWNob2ljZTpmb2N1czpjaGVja2VkICsgLmZvcm0tdG9nZ2xlICYsXG4gICAgLmZvcm0tY2hvaWNlOmNoZWNrZWQuZm9jdXNlZCArIC5mb3JtLXRvZ2dsZSAmIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgc3dhdGNoKGJsdWUpO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBpZTgge1xuICAgIC5mb3JtLWNob2ljZS5zZWxlY3RlZCB+IC5mb3JtLXRvZ2dsZSB7XG5cbiAgICAgICAgLmZvcm0tdG9nZ2xlLWluZGljYXRvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goYmx1ZSk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1jaGVja2VkLWxlZnQtcG9zaXRpb247XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBzd2F0Y2goY29weSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWJlZm9yZS1jaGVja2VkLWhlaWdodDtcbiAgICAgICAgICAgICAgICB0b3A6ICRmb3JtLXRvZ2dsZS1pbmRpY2F0b3ItYmVmb3JlLWNoZWNrZWQtdG9wLXBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkZm9ybS10b2dnbGUtaW5kaWNhdG9yLWFmdGVyLWNoZWNrZWQtbGVmdC1wb3NpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGZvcm0tdG9nZ2xlLWV4dGVuZGVkKFxuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goa2V5bGluZSksXG4gICAgJGJvcmRlci1jb2xvcjogc3dhdGNoKGtleWxpbmUpLFxuICAgICRyaW5nLWJvcmRlci1jb2xvcjogc3dhdGNoKHNtYWxsKSxcbiAgICAkYmFja2dyb3VuZC1jaGVja2VkLWNvbG9yOiBzd2F0Y2goYmx1ZSksXG4gICAgJGluZGljYXRvci1jaGVja2VkLWNvbG9yOiBzd2F0Y2goc21hbGwpXG4gICAgKSB7XG5cbiAgICAuZm9ybS10b2dnbGUtaW5kaWNhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRyaW5nLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNob2ljZTpjaGVja2VkICsgLmZvcm0tdG9nZ2xlIC5mb3JtLXRvZ2dsZS1pbmRpY2F0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jaGVja2VkLWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNoZWNrZWQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZvcm0tY2hvaWNlOmNoZWNrZWQgKyAuZm9ybS10b2dnbGUgLmZvcm0tdG9nZ2xlLWluZGljYXRvcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIH1cbn1cbiIsIiRzd2F0Y2gtYm9vazogZGFyaztcblxuLnRoZW1lLWRhcmsge1xuXG4gICAgLy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8vIFNlZTogbW9kdWxlcy9fZm9ybS1sYWJlbC5zY3NzXG4gICAgLy8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBAaWYgbWl4aW4tZXhpc3RzKGZvcm0tbGFiZWwtZXh0ZW5kZWQpIHtcbiAgICAgICAgLmZvcm0tbGFiZWwsXG4gICAgICAgIC5mb3JtLWJsb2NrLWxhYmVsLFxuXHRcdC5mb3JtLWNob2ljZSB+IC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtZXh0ZW5kZWQoXG5cdFx0XHRcdCR0ZXh0LWNvbG9yOiBzd2F0Y2goY29weSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vLyBTZWU6IG1vZHVsZXMvX2Zvcm0tbGFiZWwuc2Nzc1xuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIEBpZiBtaXhpbi1leGlzdHMoZm9ybS1sYWJlbC1mbHlvdXQtZXh0ZW5kZWQpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1mbHlvdXQtZXh0ZW5kZWQoXG5cdFx0XHQkbGFiZWwtZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogICM3MzE3MTdcblx0XHQpO1xuXHR9XG5cblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vLyBTZWU6IG1vZHVsZXMvX2Zvcm0tbGFiZWwuc2Nzc1xuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIEBpZiBtaXhpbi1leGlzdHMoZm9ybS1kcm9wZG93bi1leHRlbmRlZCkge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWRyb3Bkb3duLWV4dGVuZGVkKFxuXHRcdFx0JGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHN3YXRjaChwYWdlLCBsaWdodCksIC45KSxcbiAgICBcdFx0JGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGtleWxpbmUsIGxpZ2h0KSwgLjgpLFxuICAgIFx0XHQkYm9yZGVyLWZvY3VzLWNvbG9yOiBzd2F0Y2goYmx1ZSksXG4gICAgXHRcdCR0ZXh0LWNvbG9yOiBzd2F0Y2goY29weSksXG4gICAgXHRcdCRwbGFjZWhvbGRlci10ZXh0LWNvbG9yOiBzd2F0Y2goc21hbGwpLFxuICAgIFx0XHQkYmFja2dyb3VuZC1lcnJvci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZvcm1lcnJvciksIC44KSxcbiAgICBcdFx0JGJvcmRlci1lcnJvci1jb2xvcjogc3dhdGNoKGZvcm1lcnJvcilcblx0XHQpO1xuXHR9XG5cblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vLyBTZWU6IG1vZHVsZXMvX2Zvcm0tdG9nZ2xlLnNjc3Ncblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBAaWYgbWl4aW4tZXhpc3RzKGZvcm0tdG9nZ2xlLWV4dGVuZGVkKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tdG9nZ2xlLWV4dGVuZGVkKFxuXHRcdFx0JGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHN3YXRjaChwYWdlLCBsaWdodCksIC44NyksXG5cdFx0XHQkYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goa2V5bGluZSwgbGlnaHQpLCAuOCksXG5cdFx0XHQkcmluZy1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50aXplKHN3YXRjaChwYWdlLCBsaWdodCksIC43KSxcblx0XHRcdCRiYWNrZ3JvdW5kLWNoZWNrZWQtY29sb3I6IHN3YXRjaChibHVlKSxcblx0XHRcdCRpbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogIHRyYW5zcGFyZW50aXplKHN3YXRjaChwYWdlLCBsaWdodCksIC42KVxuXHRcdCk7XG5cdH1cblxuXG5cdC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLy8gU2VlOiBtb2R1bGVzL19mb3JtLWNob2ljZS5zY3NzXG5cdC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLWNob2ljZS1zZWxlY3Rvci1leHRlbmRlZCkge1xuICAgICAgICAuZm9ybS1jaG9pY2Utc2VsZWN0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9ybS1jaG9pY2Utc2VsZWN0b3ItZXh0ZW5kZWQoXG5cdFx0XHRcdCR0ZXh0LWNvbG9yOiBzd2F0Y2goY2FwdGlvbiksXG5cdFx0XHRcdCR0ZXh0LWZvY3VzLWNvbG9yOiBzd2F0Y2goY29weSksXG5cdFx0XHRcdCR0ZXh0LWNoZWNrZWQtY29sb3I6IHN3YXRjaChjb3B5KSxcblx0XHRcdFx0JGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGtleWxpbmUsIGxpZ2h0KSwgLjcpLFxuXHRcdFx0XHQkYm9yZGVyLWhvdmVyLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goa2V5bGluZSwgbGlnaHQpLCAuNCksXG5cdFx0XHRcdCRib3JkZXItZm9jdXMtY29sb3I6IHN3YXRjaChibHVlKSxcblx0XHRcdFx0JGNvbG9yc3dhdGNoLWJhY2tncm91bmQtY29sb3I6IHN3YXRjaChncmFwaGdyYXkpXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLWNob2ljZS1yYWRpby1leHRlbmRlZCkge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWNob2ljZS1yYWRpby1leHRlbmRlZChcblx0XHRcdCRiYWNrZ3JvdW5kLWZvY3VzLWNvbG9yOiBzd2F0Y2goZnJhbWluZyksXG5cdFx0XHQkYm9yZGVyLWZvY3VzLWNvbG9yOiBzd2F0Y2goYmx1ZSksXG5cdFx0XHQkYm9yZGVyLWNvbG9yOiBzd2F0Y2goZnJhbWluZyksXG5cdFx0XHQkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKHBhZ2UsIGxpZ2h0KSwgLjkpXG5cdFx0KTtcblx0fVxuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLWNob2ljZS1jaGVja2JveC1leHRlbmRlZCkge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWNob2ljZS1jaGVja2JveC1leHRlbmRlZChcblx0XHRcdCRiYWNrZ3JvdW5kLWZvY3VzLWNvbG9yOiBzd2F0Y2goZnJhbWluZyksXG5cdFx0XHQkYm9yZGVyLWZvY3VzLWNvbG9yOiBzd2F0Y2goYmx1ZSksXG5cdFx0XHQkYm9yZGVyLWNvbG9yOiBzd2F0Y2goZnJhbWluZyksXG5cdFx0XHQkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKHBhZ2UsIGxpZ2h0KSwgLjkpXG5cdFx0KTtcblx0fVxuXG5cblxuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8vIFNlZTogbW9kdWxlcy9fZm9ybS1hbGVydC5zY3NzXG5cdC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLy9cblxuICAgIEBpZiBtaXhpbi1leGlzdHMoZm9ybS1hbGVydC1leHRlbmRlZCkge1xuICAgICAgICAuZm9ybS1hbGVydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3JtLWFsZXJ0LWV4dGVuZGVkKFxuICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goYmFja2dyb3VuZGZvb3RlciwgbGlnaHQpLCAuOCksXG4gICAgICAgICAgICAgICAgJGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZyYW1pbmcsIGxpZ2h0KSwgLjcpLFxuICAgIFx0XHRcdCRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goZm9ybWVycm9yKSwgLjc1KSxcblx0XHRcdFx0JGJvcmRlci1lcnJvci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZvcm1lcnJvciksIC42KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8vIFNlZTogbW9kdWxlcy9fZm9ybS10b29sdGlwLnNjc3Ncblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vL1xuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLXRvb2x0aXAtZXh0ZW5kZWQpIHtcbiAgICAgICAgLmZvcm0tdG9vbHRpcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3JtLXRvb2x0aXAtZXh0ZW5kZWQoXG5cdFx0XHRcdCRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2goa2V5bGluZSksXG4gICAgXHRcdFx0JHRleHQtY29sb3I6ICNjNWM1YzVcbiAgICBcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8vIFNlZTogbW9kdWxlcy9fZm9ybS1zZWN0aW9ubnVtYmVyLnNjc3Ncblx0Ly8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdC8vL1xuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLXNlY3Rpb25udW1iZXItZXh0ZW5kZWQpIHtcbiAgICAgICAgLmZvcm0tc2VjdGlvbm51bWJlci1zZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tc2VjdGlvbm51bWJlci1leHRlbmRlZChcblx0XHRcdFx0JGJvcmRlci1jb2xvcjogc3dhdGNoKGNvcHkpXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8vIFNlZTogbW9kdWxlcy9fZm9ybS1pY29ucy5zY3NzXG5cdC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLy9cblxuICAgIEBpZiBtaXhpbi1leGlzdHMoZm9ybS1pY29ucy1leHRlbmRlZCkge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWljb25zLWV4dGVuZGVkKFxuXHRcdFx0XHQkaWNvbnMtbWVzc2FnZS1jb2xvcjogc3dhdGNoKHNtYWxsKSxcblx0XHRcdFx0JGljb25zLXZlcmlmaWVkLWNvbG9yOiBzd2F0Y2goa2VsbHlncmVlbiksXG5cdFx0XHQgICAgJGljb25zLW5vdHZlcmlmaWVkLWNvbG9yOiBzd2F0Y2goaG9saWRheXJlZCksXG5cdFx0XHQgICAgJGljb25zLXZlcmlmeS1jb2xvcjogc3dhdGNoKGhvbGlkYXlyZWQpLFxuXHRcdFx0ICAgICRpY29ucy1jbGVhci1jb2xvcjogc3dhdGNoKGtleWxpbmUpLFxuXHRcdFx0ICAgICRpY29ucy1pbmZvLWNvbG9yOiBzd2F0Y2goYmx1ZSksXG5cdFx0XHQgICAgJGljb25zLWFkZC1jb2xvcjogc3dhdGNoKGJsdWUpLFxuXHRcdFx0ICAgICRpY29ucy1yZW1vdmUtY29sb3I6IHN3YXRjaChob2xpZGF5cmVkKSxcblx0XHRcdCAgICAkaWNvbnMtbWVzc2FnZS1jbGlja2JsZS1jb2xvcjogc3dhdGNoKGJsdWUpXG5cdFx0XHQpO1xuXHR9XG5cdC8vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQvLy8gU2VlOiBtb2R1bGVzL19mb3JtLXRleHRib3guc2Nzc1xuXHQvLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Ly8vXG5cbiAgICBAaWYgbWl4aW4tZXhpc3RzKGZvcm0tdGV4dGJveC1leHRlbmRlZCkge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLXRleHRib3gtZXh0ZW5kZWQoXG5cdFx0XHQkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKHBhZ2UsIGxpZ2h0KSwgLjkpLFxuICAgIFx0XHQkYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goa2V5bGluZSwgbGlnaHQpLCAuOCksXG4gICAgXHRcdCRib3JkZXItZm9jdXMtY29sb3I6IHN3YXRjaChibHVlKSxcbiAgICBcdFx0JHRleHQtY29sb3I6IHN3YXRjaChjb3B5KSxcbiAgICBcdFx0JHBsYWNlaG9sZGVyLXRleHQtY29sb3I6IHN3YXRjaChzbWFsbCksXG4gICAgXHRcdCRiYWNrZ3JvdW5kLWVycm9yLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goZm9ybWVycm9yKSwgLjgpLFxuXHRcdFx0JGJvcmRlci1lcnJvci1jb2xvcjogc3dhdGNoKGZvcm1lcnJvciksXG5cdFx0XHQkbm9uZWRpdGFibGUtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGJhY2tncm91bmQsIGxpZ2h0KSwgLjg2KSxcblx0XHRcdCRub25lZGl0YWJsZS1jb2xvcjogc3dhdGNoKHNtYWxsKVxuICAgIFx0KTtcblx0fVxuXG4gICAgQGlmIG1peGluLWV4aXN0cyhmb3JtLWNvdW50cnljb2RlLWV4dGVuZGVkKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tY291bnRyeWNvZGUtZXh0ZW5kZWQoXG4gICAgXHRcdCRjb3VudHJ5Y29kZS1ib3JkZXItc2VwYXJhdG9yLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2goa2V5bGluZSwgbGlnaHQpLCAuOSksXG4gICAgXHRcdCRjb3VudHJ5Y29kZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShzd2F0Y2gocGFnZSwgbGlnaHQpLCAuOTYpLFxuICAgIFx0XHQkY291bnRyeWNvZGUtYmFja2dyb3VuZC1lcnJvci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZvcm1lcnJvciksIC45KSxcbiAgICBcdFx0JGNvdW50cnljb2RlLWJvcmRlci1lcnJvci1jb2xvcjogdHJhbnNwYXJlbnRpemUoc3dhdGNoKGZvcm1lcnJvciksIC45KSxcbiAgICBcdFx0JHBsYWNlaG9sZGVyLXRleHQtY29sb3I6IHN3YXRjaChzbWFsbClcbiAgICBcdCk7XG5cdH1cbn1cblxuJHN3YXRjaC1ib29rOiAkc3dhdGNoLWRlZmF1bHRib29rO1xuIiwiLy8vL1xuLy8vIENvcmVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IGEgbGlzdCBvZiB2aWV3cG9ydHMgd2l0aGluIGEgbmFtZXNwYWNlLlxuLy8vIENvbXBhdGlibGUgd2l0aCBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhYy10b29sa2l0LlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVzcGFjZSBbZGVmYXVsdF1cbi8vL1xuQGZ1bmN0aW9uIC12aWV3cG9ydC1lbWl0dGVyLXZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZTogZGVmYXVsdCkge1xuXHRAaWYgZnVuY3Rpb24tZXhpc3RzKHNlbXZlci1ndGUpIHtcblx0XHQvLyBhYy1zYXNza2l0L3Rvb2xraXQgPj0gMy4yLjBcblx0XHRAcmV0dXJuIHZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZSk7XG5cdH1cblxuXHQvLyBubyBuYW1lc3BhY2Ugc3VwcG9ydCBiZWZvcmUgMy4yLjBcblx0QGlmICRuYW1lc3BhY2UgIT0gZGVmYXVsdCB7XG5cdFx0QHJldHVybiAoKTtcblx0fVxuXG5cdC8vIGFjLXRvb2xraXQgPj0gMy4xLjBcblx0QGlmIGZ1bmN0aW9uLWV4aXN0cyh2aWV3cG9ydC1saXN0KSB7XG5cdFx0QHJldHVybiB2aWV3cG9ydC1saXN0KCk7XG5cdH1cblxuXHQvLyBhYy10b29sa2l0IDwgMy4xLjBcblx0QGlmICRuYW1lc3BhY2UgIT0gZGVmYXVsdCB7XG5cdFx0QHJldHVybiAoKTtcblx0fVxuXG5cdEByZXR1cm4gbWFwLWtleXMoJC12aWV3cG9ydHMpO1xufVxuXG4vLy9cbi8vLyBPdXRwdXQgc3R5bGVzIGZvciBhIFZpZXdwb3J0RW1pdHRlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRpZFxuLy8vICAgICAgICBUaGUgZWxlbWVudCBJRFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lc3BhY2UgW2RlZmF1bHRdXG4vLy8gICAgICAgIFRoZSB2aWV3cG9ydCBuYW1lc3BhY2Vcbi8vL1xuQG1peGluIHZpZXdwb3J0LWVtaXR0ZXIoJGlkLCAkbmFtZXNwYWNlOiBkZWZhdWx0KSB7XG5cdCMjeyRpZH0ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGhlaWdodDogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0ei1pbmRleDogLTE7XG5cblx0XHRAZWFjaCAkbmFtZSBpbiAtdmlld3BvcnQtZW1pdHRlci12aWV3cG9ydC1saXN0KCRuYW1lc3BhY2UpIHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KCRuYW1lKSB7XG5cdFx0XHRcdHgtY29udGVudDogJyN7JG5hbWV9JztcblxuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcjeyRuYW1lfSc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuJGFjLXZpZXdwb3J0LWVtaXR0ZXItdmVyc2lvbjogXCIxLjUuMFwiO1xuIiwiLy8vL1xuLy8vIFdyYXBwZXJcbi8vL1xuLy8vIEBncm91cCBhYy1sb2NhbG5hdlxuLy8vXG4vLy8gMS4gc2xpZ2h0bHkgYWJvdmUgYG1lZGl1bWAgdG8gYWNjb3VudCBmb3Igc2Nyb2xsYmFyIGlzc3VlIG9uIENocm9tZS9GRlxuLy8vIDIuIGAudGhlbWUtZGFya2AgaW4gYWMtdG9vbGtpdCBzZXRzIGEgYmFja2dyb3VuZFxuLy8vL1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LXZpZXdwb3J0LWVtaXR0ZXItaWQ6ICRsb2NhbG5hdi1jbGFzc25hbWUgKyAnLXZpZXdwb3J0LWVtaXR0ZXInICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdhYy12aWV3cG9ydC1lbWl0dGVyL2NvcmUnO1xuXG5AYXQtcm9vdCB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0LWVtaXR0ZXIoJGxvY2FsbmF2LXZpZXdwb3J0LWVtaXR0ZXItaWQsICdhYy1sb2NhbG5hdicpO1xuXG5cdCN7JGxvY2FsbmF2LXNlbGVjdG9yfSB7XG5cdFx0JG1pbi13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcignYWMtbG9jYWxuYXY6bGFyZ2UnLCBtaW4td2lkdGgpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6ICQtbG9jYWxuYXYtaGVpZ2h0O1xuXHRcdG1pbi13aWR0aDogJG1pbi13aWR0aDtcblx0XHR6LWluZGV4OiAkLWxvY2FsbmF2LXotaW5kZXg7XG5cblx0XHRAaWYgJGxvY2FsbmF2LWZsdWlkIHsgLy8gMVxuXHRcdFx0QGluY2x1ZGUgbWF4LXdpZHRoKCRtaW4td2lkdGggKyAyMHB4KSB7XG5cdFx0XHRcdG1pbi13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcignYWMtbG9jYWxuYXY6c21hbGwnLCBtaW4td2lkdGgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRcdGhlaWdodDogJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw7XG5cdFx0fVxuXG5cdFx0LiN7JGxvY2FsbmF2LW92ZXJsYXAtY2xhc3NuYW1lfSAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IC0kLWxvY2FsbmF2LWhlaWdodDtcblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LiN7JGxvY2FsbmF2LW92ZXJsYXAtdG9wbmF2LWNsYXNzbmFtZX0gJiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkLWxvY2FsbmF2LWduLWhlaWdodDtcblx0XHRcdG1hcmdpbi1ib3R0b206IC0oJC1sb2NhbG5hdi1oZWlnaHQgKyAkLWxvY2FsbmF2LWduLWhlaWdodCk7XG5cblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogJC1sb2NhbG5hdi1nbi1oZWlnaHQtc21hbGw7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC0oJC1sb2NhbG5hdi1oZWlnaHQtc21hbGwgKyAkLWxvY2FsbmF2LWduLWhlaWdodC1zbWFsbCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji50aGVtZS1kYXJrIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7IC8vIDJcblx0XHR9XG5cdH1cblxuXHQjeyRsb2NhbG5hdi1tZW51c3RhdGUtc2VsZWN0b3J9IHtcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cbn1cblxuLiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0td3JhcHBlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uI3skbG9jYWxuYXYtY2xhc3NuYW1lfS1jb250ZW50IHtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogJC1sb2NhbG5hdi1jb250ZW50LXdpZHRoO1xuXHRwYWRkaW5nOiAwICQtbG9jYWxuYXYtY29udGVudC1wYWRkaW5nO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cblx0QGluY2x1ZGUgc2VsZmNsZWFyKCk7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2Om1lZGl1bScpIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdHBhZGRpbmc6IDAgJC1sb2NhbG5hdi1jb250ZW50LXBhZGRpbmctc21hbGw7XG5cdH1cbn1cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBTZXR0aW5nc1xuLy8vXG4vLy8gQGdyb3VwIGFjLWxvY2FsbmF2XG4vLy8vXG5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kbG9jYWxuYXYtY2xhc3NuYW1lOiAnbG9jYWxuYXYnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LXNlbGVjdG9yOiAnLiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0nICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LW1lbnVzdGF0ZS1zZWxlY3RvcjogJyN7JGxvY2FsbmF2LXNlbGVjdG9yfS1tZW51c3RhdGUnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LXN0aWNraW5nLWNsYXNzbmFtZTogJyN7JGxvY2FsbmF2LWNsYXNzbmFtZX0tc3RpY2tpbmcnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LXN1Ym1vZHVsZS1jbGFzc25hbWU6ICRsb2NhbG5hdi1jbGFzc25hbWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kbG9jYWxuYXYtaGVyby1jbGFzc25hbWU6ICcjeyRsb2NhbG5hdi1zdWJtb2R1bGUtY2xhc3NuYW1lfS1oZXJvJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRsb2NhbG5hdi1zY3JpbS1jbGFzc25hbWU6ICcjeyRsb2NhbG5hdi1zdWJtb2R1bGUtY2xhc3NuYW1lfS1zY3JpbScgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kbG9jYWxuYXYtbm9ib3JkZXItY2xhc3NuYW1lOiAnI3skbG9jYWxuYXYtc3VibW9kdWxlLWNsYXNzbmFtZX0tbm9ib3JkZXInICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LWRhcmstY2xhc3NuYW1lOiAndGhlbWUtZGFyaycgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kbG9jYWxuYXYtZGFyay1wYXJlbnQtY2xhc3NuYW1lOiAkbG9jYWxuYXYtZGFyay1jbGFzc25hbWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4kbG9jYWxuYXYtb3ZlcmxhcC1jbGFzc25hbWU6ICcjeyRsb2NhbG5hdi1jbGFzc25hbWV9LW92ZXJsYXAnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuJGxvY2FsbmF2LW92ZXJsYXAtdG9wbmF2LWNsYXNzbmFtZTogJ3RvcG5hdi1vdmVybGFwJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRW5hYmxlIFVJIEJsdXIgd2hlbiBiYWNrZHJvcC1maWx0ZXIgaXMgc3VwcG9ydGVkXG4vLy9cbi8vLyBOb3RlOiByZXF1aXJlcyBTYXNzS2l0ID49IDQuMlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vXG4kbG9jYWxuYXYtdWlibHVyOiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBJbmNsdWRlIG1lZGl1bSBhbmQgc21hbGwgdmlld3BvcnRzXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy9cbiRsb2NhbG5hdi1mbHVpZDogdmlld3BvcnQtZXhpc3RzKHNtYWxsKSAhZGVmYXVsdDtcblxuLy9cbi8vIEFkZCBsb2NhbG5hdi1zcGVjaWZpYyB2aWV3cG9ydHNcbi8vXG5cbkBpbmNsdWRlIHZpZXdwb3J0LXNldCgnYWMtbG9jYWxuYXY6bGFyZ2UnLCAoXG5cdG1pbi13aWR0aDogMTAyNHB4LFxuXHRvbGRpZTogdHJ1ZSxcblx0cXVlcnk6IGZhbHNlXG4pKTtcblxuQGlmICRsb2NhbG5hdi1mbHVpZCB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0LXNldCgnYWMtbG9jYWxuYXY6bWVkaXVtJywgKFxuXHRcdG1heC13aWR0aDogMTAyM3B4LFxuXHRcdG1pbi13aWR0aDogNzY4cHhcblx0KSk7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQtc2V0KCdhYy1sb2NhbG5hdjpzbWFsbCcsIChcblx0XHRtYXgtd2lkdGg6IDc2N3B4LFxuXHRcdG1pbi13aWR0aDogMzIwcHhcblx0KSk7XG59XG5cbi8vXG4vLyBBZGQgbG9jYWxuYXYtc3BlY2lmaWMgc3dhdGNoZXNcbi8vXG4kLWxvY2FsbmF2LXN3YXRjaGVzLWxpZ2h0OiAoXG5cdGxvY2FsbmF2LXNjcmltOiByZ2JhKHN3YXRjaChwYWdlKSwgMC45KSxcblx0bG9jYWxuYXYtc3R1Y2s6IHJnYmEoc3dhdGNoKHBhZ2UpLCAwLjkpLFxuXHRsb2NhbG5hdi1leHBhbmRlZDogc3dhdGNoKHBhZ2UpLFxuXHRsb2NhbG5hdi11aWJsdXItc2NyaW06IHJnYmEoc3dhdGNoKHBhZ2UpLCAwLjcpLFxuXHRsb2NhbG5hdi11aWJsdXItc3R1Y2s6IHJnYmEoc3dhdGNoKHBhZ2UpLCAwLjcpLFxuXHRsb2NhbG5hdi11aWJsdXItZXhwYW5kZWQ6IHJnYmEoc3dhdGNoKHBhZ2UpLCAwLjkpLFxuXHRsb2NhbG5hdi1ydWxlOiByZ2JhKHN3YXRjaChrZXlsaW5lKSwgMC41KVxuKTtcblxuJC1sb2NhbG5hdi1zd2F0Y2hlcy1kYXJrOiAoXG5cdGxvY2FsbmF2LXNjcmltOiByZ2JhKHN3YXRjaChiYWNrZ3JvdW5kZm9vdGVyLCBkYXJrKSwgMC45KSxcblx0bG9jYWxuYXYtc3R1Y2s6IHJnYmEoc3dhdGNoKGJhY2tncm91bmRmb290ZXIsIGRhcmspLCAwLjkpLFxuXHRsb2NhbG5hdi1leHBhbmRlZDogc3dhdGNoKGJhY2tncm91bmRmb290ZXIsIGRhcmspLFxuXHRsb2NhbG5hdi11aWJsdXItc2NyaW06IHJnYmEoc3dhdGNoKGJhY2tncm91bmRmb290ZXIsIGRhcmspLCAwLjcpLFxuXHRsb2NhbG5hdi11aWJsdXItc3R1Y2s6IHJnYmEoc3dhdGNoKGJhY2tncm91bmRmb290ZXIsIGRhcmspLCAwLjcpLFxuXHRsb2NhbG5hdi11aWJsdXItZXhwYW5kZWQ6IHJnYmEoc3dhdGNoKGJhY2tncm91bmRmb290ZXIsIGRhcmspLCAwLjkpLFxuXHRsb2NhbG5hdi1ydWxlOiByZ2JhKHN3YXRjaChrZXlsaW5lLCBkYXJrKSwgMC41KVxuKTtcblxuQGlmIG1peGluLWV4aXN0cyhzd2F0Y2gtYm9vay1zZXQpIHtcblx0QGluY2x1ZGUgc3dhdGNoLWJvb2stc2V0KGxpZ2h0LCAkLWxvY2FsbmF2LXN3YXRjaGVzLWxpZ2h0KTtcblx0QGluY2x1ZGUgc3dhdGNoLWJvb2stc2V0KGRhcmssICQtbG9jYWxuYXYtc3dhdGNoZXMtZGFyayk7XG59IEBlbHNlIHtcblx0QGluY2x1ZGUgc3dhdGNoLXNldChsaWdodCwgJC1sb2NhbG5hdi1zd2F0Y2hlcy1saWdodCk7XG5cdEBpbmNsdWRlIHN3YXRjaC1zZXQoZGFyaywgJC1sb2NhbG5hdi1zd2F0Y2hlcy1kYXJrKTtcbn1cblxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbiQtbG9jYWxuYXYtaGVpZ2h0OiA1MnB4O1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw6IDQ4cHg7XG5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LWNvbnRlbnQtd2lkdGg6IDk4MHB4O1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1jb250ZW50LXBhZGRpbmc6IDIycHg7XG5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LWNvbnRlbnQtcGFkZGluZy1zbWFsbDogMTZweDtcblxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbiQtbG9jYWxuYXYtei1pbmRleDogOTk5NztcblxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbiQtbG9jYWxuYXYtZ24taGVpZ2h0OiA0NHB4O1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1nbi1oZWlnaHQtc21hbGw6IDQ4cHg7XG5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LW1lbnUtaXRlbS1tYXJnaW46IDI0cHg7XG5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LW1lbnUtaXRlbS1tYXJnaW4tbWVkaXVtOiAxNnB4O1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1tZW51Y3RhLXdpZHRoOiA0MHB4O1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1tZW51Y3RhLXNoaWZ0OiAxMXB4O1xuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi10aW1pbmdmdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjgsIDAuMTEsIDAuMzIsIDEpO1xuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1pdGVtcy10aW1pbmdmdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpO1xuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuJC1sb2NhbG5hdi1jb2xvci10cmFuc2l0aW9uOiAwLjVzICQtbG9jYWxuYXYtdGltaW5nZnVuY3Rpb247XG5cbiRhYy1sb2NhbG5hdi12ZXJzaW9uOiBcIjQuMy4wXCI7XG4iLCIvLy8vXG4vLy8gU3RpY2t5XG4vLy9cbi8vLyBAZ3JvdXAgYWMtbG9jYWxuYXZcbi8vLy9cblxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRsb2NhbG5hdi1zdGlja3ktcGxhY2Vob2xkZXItc2VsZWN0b3I6ICcjeyRsb2NhbG5hdi1zZWxlY3Rvcn0tc3RpY2t5LXBsYWNlaG9sZGVyJyAhZGVmYXVsdDtcblxuQGF0LXJvb3Qge1xuXHQjeyRsb2NhbG5hdi1zZWxlY3Rvcn0ge1xuXHRcdCYuY3NzLXN0aWNreSB7XG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdH1cblxuXHRcdCYubm8tY3NzLXN0aWNreSB7XG5cdFx0XHQmLiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0tc3RpY2tpbmcge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCN7JGxvY2FsbmF2LXN0aWNreS1wbGFjZWhvbGRlci1zZWxlY3Rvcn0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0ei1pbmRleDogLTE7XG5cblx0XHQmLm5vLWNzcy1zdGlja3kge1xuXHRcdFx0Ji4jeyRsb2NhbG5hdi1zdGlja2luZy1jbGFzc25hbWV9IHtcblx0XHRcdFx0aGVpZ2h0OiAkLWxvY2FsbmF2LWhlaWdodDtcblxuXHRcdFx0XHQuI3skbG9jYWxuYXYtb3ZlcmxhcC1jbGFzc25hbWV9ICYsXG5cdFx0XHRcdC4jeyRsb2NhbG5hdi1vdmVybGFwLXRvcG5hdi1jbGFzc25hbWV9ICYge1xuXHRcdFx0XHQgICAgaGVpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0XHRcdGhlaWdodDogJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBDdXJ0YWluXG4vLy9cbi8vLyBAZ3JvdXAgYWMtbG9jYWxuYXZcbi8vL1xuLy8vIDEuIGRlbGF5IG9uIHdpZHRoL2hlaWdodCB0byBhbGxvdyBvcGFjaXR5IHRvIHRyYW5zaXRpb25cbi8vLy9cblxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiRsb2NhbG5hdi1jdXJ0YWluLXNlbGVjdG9yOiAnI3skbG9jYWxuYXYtc2VsZWN0b3J9LWN1cnRhaW4nICFkZWZhdWx0O1xuXG5AYXQtcm9vdCB7XG5cdCN7JGxvY2FsbmF2LWN1cnRhaW4tc2VsZWN0b3J9IHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuMik7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHotaW5kZXg6ICgkLWxvY2FsbmF2LXotaW5kZXggLSAxKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRcdCRzaXplLXRyYW5zaXRpb246IDBzIGVhc2UgMS4ycztcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZSAwLjJzLCB3aWR0aCAkc2l6ZS10cmFuc2l0aW9uLCBoZWlnaHQgJHNpemUtdHJhbnNpdGlvbjsgLy8gMVxuXHRcdH1cblxuXHRcdCN7JGxvY2FsbmF2LW1lbnVzdGF0ZS1zZWxlY3Rvcn06Y2hlY2tlZCB+ICYsXG5cdFx0I3skbG9jYWxuYXYtbWVudXN0YXRlLXNlbGVjdG9yfTp0YXJnZXQgfiAmIHtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZSAwLjFzO1xuXG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6c21hbGwnKSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiRhYy1sb2NhbG5hdi12ZXJzaW9uOiBcIjQuMy4wXCI7XG4iLCIvLy8vXG4vLy8gQWN0aW9uc1xuLy8vXG4vLy8gQGdyb3VwIGFjLWxvY2FsbmF2XG4vLy9cbi8vLyAxLiBmbG9hdCBgcmlnaHRgIGluc2lkZSBvZiBgbGVmdGAgZG9lc24ndCB3b3JrIGZvciBSVEwgaW4gSUUgN1xuLy8vIDIuIHNlZSBtZW51Y3RhXG4vLy8gMy4gZml4IFZPIG91dGxpbmUgYWxpZ25tZW50XG4vLy8vXG5cbi4jeyRsb2NhbG5hdi1jbGFzc25hbWV9LWFjdGlvbnMge1xuXHRmbG9hdDogaW5saW5lLXN0YXJ0KCk7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLWlubGluZS1lbmQoMCk7XG5cdFx0cGFkZGluZzogMCAkLWxvY2FsbmF2LWNvbnRlbnQtcGFkZGluZy1zbWFsbDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblxuXHQmLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24taW5saW5lLXN0YXJ0KDUwJSk7XG5cdFx0fVxuXG5cdFx0LiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0tYWN0aW9uLW1lbnVjdGEge1xuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4taW5saW5lLXN0YXJ0KC0kLWxvY2FsbmF2LW1lbnVjdGEtd2lkdGggLyAyKTtcblx0XHRcdFx0QGluY2x1ZGUgcG9zaXRpb24taW5saW5lLXN0YXJ0KDApO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi4jeyRsb2NhbG5hdi1jbGFzc25hbWV9LWFjdGlvbiB7XG5cdEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUtc3RhcnQoJC1sb2NhbG5hdi1tZW51LWl0ZW0tbWFyZ2luKTtcblx0ZmxvYXQ6IGlubGluZS1zdGFydCgpO1xuXG5cdEBpbmNsdWRlIC1sb2NhbG5hdi1pZTctcnRsKCkgeyAvLyAxXG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6bWVkaXVtJykge1xuXHRcdEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUtc3RhcnQoJC1sb2NhbG5hdi1tZW51LWl0ZW0tbWFyZ2luLW1lZGl1bSk7XG5cdH1cblxuXHQmLWJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luLWlubGluZS1zdGFydCgkLWxvY2FsbmF2LW1lbnUtaXRlbS1tYXJnaW4tbWVkaXVtICsgJC1sb2NhbG5hdi1tZW51Y3RhLXNoaWZ0KTsgLy8gMlxuXHRcdFx0ZmxvYXQ6IGlubGluZS1lbmQoKTtcblx0XHR9XG5cdH1cblxuXHQmLXByb2R1Y3Qge1xuXHRcdEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuKCk7XG5cdFx0dG9wOiBhdXRvOyAvLyAzXG5cdFx0bGVmdDogYXV0bzsgLy8gM1xuXHR9XG5cblx0Ji1tZW51Y3RhIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRcdGZsb2F0OiBpbmxpbmUtc3RhcnQoKTtcblx0XHR9XG5cdH1cbn1cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBCYWNrZ3JvdW5kXG4vLy9cbi8vLyBAZ3JvdXAgYWMtbG9jYWxuYXZcbi8vLy9cblxuLy8vXG4vLy8gQHRvZG9cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gLWxvY2FsbmF2LWJvcmRlci1mdWxsd2lkdGgoKSB7XG5cdEBpbmNsdWRlIG1hcmdpbi1pbmxpbmUtc3RhcnQoMCk7XG5cdEBpbmNsdWRlIHBvc2l0aW9uLWlubGluZS1zdGFydCgwKTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vL1xuLy8vIEB0b2RvXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQGZ1bmN0aW9uIC1sb2NhbG5hdi1vbGRpZS1iYWNrZ3JvdW5kLWNvbG9yKCRzd2F0Y2gsICRib29rOiBsaWdodCkge1xuXHRAcmV0dXJuIG5vLWFscGhhKHN3YXRjaCgkc3dhdGNoLCAkYm9vayksIHN3YXRjaChwYWdlLCAkYm9vaykpO1xufVxuXG4vLy9cbi8vLyBAdG9kb1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiAtbG9jYWxuYXYta2V5bGluZS1jb2xvcigkc3dhdGNoLCAkc3dhdGNoLW9sZGllOiAkc3dhdGNoLCAkYm9vazogbGlnaHQsICRhbHBoYTogMC40KSB7XG5cdCRjb2xvcjogcmdiYShzd2F0Y2goJHN3YXRjaCwgJGJvb2spLCAkYWxwaGEpO1xuXHQkY29sb3Itb2xkaWU6IG5vLWFscGhhKHN3YXRjaCgkc3dhdGNoLW9sZGllLCAkYm9vaykpO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0fVxuXG5cdEBpbmNsdWRlIG9sZGllKCkge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLW9sZGllO1xuXHR9XG59XG5cbi4jeyRsb2NhbG5hdi1jbGFzc25hbWV9LWJhY2tncm91bmQge1xuXHRAaW5jbHVkZSAtbG9jYWxuYXYta2V5bGluZS1jb2xvcihrZXlsaW5lKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHotaW5kZXg6IDE7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJC1sb2NhbG5hdi1jb2xvci10cmFuc2l0aW9uO1xuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRtaW4taGVpZ2h0OiAkLWxvY2FsbmF2LWhlaWdodC1zbWFsbDtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZSAwLjdzO1xuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtaGVybygpIHtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGxvY2FsbmF2LWhlcm8oKSB7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWtleWxpbmUtY29sb3IocGFnZSwga2V5bGluZSk7XG5cdH1cblxuXHRAaW5jbHVkZSBsb2NhbG5hdi1zY3JpbSgpIHtcblx0XHRAaW5jbHVkZSAtbG9jYWxuYXYta2V5bGluZS1jb2xvcihrZXlsaW5lKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtc2NyaW0pO1xuXG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LXN1cHBvcnRzLXVpYmx1cigpIHtcblx0XHRcdEBpbmNsdWRlIGJhY2tkcm9wLWZpbHRlci11aWJsdXIoKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHN3YXRjaChsb2NhbG5hdi11aWJsdXItc2NyaW0pO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtc2NyaW0sIGRhcmspO1xuXG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtc3VwcG9ydHMtdWlibHVyKCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtdWlibHVyLXNjcmltLCBkYXJrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRAaW5jbHVkZSAtbG9jYWxuYXYta2V5bGluZS1jb2xvcihrZXlsaW5lKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtc3R1Y2spO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJC1sb2NhbG5hdi1jb2xvci10cmFuc2l0aW9uO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJhY2tkcm9wLWZpbHRlcjtcblxuXHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1zdXBwb3J0cy11aWJsdXIoKSB7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZHJvcC1maWx0ZXItdWlibHVyKCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtdWlibHVyLXN0dWNrKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1kYXJrKCkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGxvY2FsbmF2LXN0dWNrLCBkYXJrKTtcblxuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LXN1cHBvcnRzLXVpYmx1cigpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGxvY2FsbmF2LXVpYmx1ci1zdHVjaywgZGFyayk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWtleWxpbmUtY29sb3Ioa2V5bGluZSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGxvY2FsbmF2LWV4cGFuZGVkKTtcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJhY2tkcm9wLWZpbHRlcjtcblxuXHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1zdXBwb3J0cy11aWJsdXIoKSB7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZHJvcC1maWx0ZXItdWlibHVyKCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtdWlibHVyLWV4cGFuZGVkKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBsb2NhbG5hdi1kYXJrKCkge1xuXHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1rZXlsaW5lLWNvbG9yKGNhcHRpb24sIGtleWxpbmUsIGRhcmspO1xuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtaGVybygpIHtcblx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1rZXlsaW5lLWNvbG9yKHRpdGxlLCBrZXlsaW5lLCBkYXJrKTtcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1rZXlsaW5lLWNvbG9yKGtleWxpbmUsIGtleWxpbmUsIGRhcmssIDEpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LXNjcmltKCkge1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWtleWxpbmUtY29sb3IoY2FwdGlvbiwga2V5bGluZSwgZGFyayk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYta2V5bGluZS1jb2xvcihrZXlsaW5lLCBrZXlsaW5lLCBkYXJrLCAxKTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1kYXJrKCkge1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWtleWxpbmUtY29sb3Ioa2V5bGluZSwga2V5bGluZSwgZGFyaywgMSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtZXhwYW5kZWQsIGRhcmspO1xuXG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtc3VwcG9ydHMtdWlibHVyKCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzd2F0Y2gobG9jYWxuYXYtdWlibHVyLWV4cGFuZGVkLCBkYXJrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4taW5saW5lLXN0YXJ0KC0oJC1sb2NhbG5hdi1jb250ZW50LXdpZHRoIC8gMikpO1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLWlubGluZS1zdGFydCg1MCUpO1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTAwJTtcblx0XHR3aWR0aDogJC1sb2NhbG5hdi1jb250ZW50LXdpZHRoO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHRAaW5jbHVkZSBvbGRpZSgpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2Om1lZGl1bScpIHtcblx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1ib3JkZXItZnVsbHdpZHRoKCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtbm9ib3JkZXIoKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtc2NyaW0oKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtYm9yZGVyLWZ1bGx3aWR0aCgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LXN0aWNraW5nKCkge1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWJvcmRlci1mdWxsd2lkdGgoKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1ib3JkZXItZnVsbHdpZHRoKCk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgb2xkaWUoKSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luLWlubGluZS1zdGFydCgtKCQtbG9jYWxuYXYtY29udGVudC13aWR0aCAvIDIpKTtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbi1pbmxpbmUtc3RhcnQoNTAlKTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHdpZHRoOiAkLWxvY2FsbmF2LWNvbnRlbnQtd2lkdGg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtbm9ib3JkZXIoKSB7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LXNjcmltKCkge1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWJvcmRlci1mdWxsd2lkdGgoKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IC1sb2NhbG5hdi1vbGRpZS1iYWNrZ3JvdW5kLWNvbG9yKGxvY2FsbmF2LXNjcmltKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1ib3JkZXItZnVsbHdpZHRoKCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAtbG9jYWxuYXYtb2xkaWUtYmFja2dyb3VuZC1jb2xvcihsb2NhbG5hdi1zdHVjayk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtZGFyaygpIHtcblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXNjcmltKCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAtbG9jYWxuYXYtb2xkaWUtYmFja2dyb3VuZC1jb2xvcihsb2NhbG5hdi1zY3JpbSwgZGFyayk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXN0aWNraW5nKCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAtbG9jYWxuYXYtb2xkaWUtYmFja2dyb3VuZC1jb2xvcihsb2NhbG5hdi1zdHVjaywgZGFyayk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiRhYy1sb2NhbG5hdi12ZXJzaW9uOiBcIjQuMy4wXCI7XG4iLCIvLy8vXG4vLy8gSGVscGVyc1xuLy8vXG4vLy8gQGdyb3VwIGFjLWxvY2FsbmF2XG4vLy8vXG5cbi8vL1xuLy8vIEFwcGVuZCBhIHNlbGVjdG9yIHRvIHRoZSBMb2NhbCBOYXYgd3JhcHBlclxuLy8vXG4vLy8gQHBhcmFtICRzZWxlY3RvclxuLy8vXG5AbWl4aW4gbG9jYWxuYXYtc2VsZWN0b3IoJHNlbGVjdG9yKSB7XG5cdEBpbmNsdWRlIHNlbGVjdG9yLXVuaWZ5LXRhcmdldCgkbG9jYWxuYXYtc2VsZWN0b3IsICRzZWxlY3Rvcikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGVuZCB0aGUgaGVybyBzZWxlY3RvciB0byB0aGUgTG9jYWwgTmF2IHdyYXBwZXJcbi8vL1xuQG1peGluIGxvY2FsbmF2LWhlcm8oKSB7XG5cdEBpbmNsdWRlIGxvY2FsbmF2LXNlbGVjdG9yKCcuI3skbG9jYWxuYXYtaGVyby1jbGFzc25hbWV9Jykge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGVuZCB0aGUgc2NyaW0gc2VsZWN0b3IgdG8gdGhlIExvY2FsIE5hdiB3cmFwcGVyXG4vLy9cbkBtaXhpbiBsb2NhbG5hdi1zY3JpbSgpIHtcblx0QGluY2x1ZGUgbG9jYWxuYXYtc2VsZWN0b3IoJy4jeyRsb2NhbG5hdi1zY3JpbS1jbGFzc25hbWV9Jykge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGVuZCB0aGUgbm9ib3JkZXIgc2VsZWN0b3IgdG8gdGhlIExvY2FsIE5hdiB3cmFwcGVyXG4vLy9cbkBtaXhpbiBsb2NhbG5hdi1ub2JvcmRlcigpIHtcblx0QGluY2x1ZGUgbG9jYWxuYXYtc2VsZWN0b3IoJy4jeyRsb2NhbG5hdi1ub2JvcmRlci1jbGFzc25hbWV9Jykge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIEFwcGVuZCB0aGUgc3RpY2tpbmcgc2VsZWN0b3IgdG8gdGhlIExvY2FsIE5hdiB3cmFwcGVyXG4vLy9cbkBtaXhpbiBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0QGluY2x1ZGUgbG9jYWxuYXYtc2VsZWN0b3IoJy4jeyRsb2NhbG5hdi1zdGlja2luZy1jbGFzc25hbWV9Jykge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vL1xuLy8vIEFkZCBzZWxlY3RvciBmb3IgdGhlIGRhcmsgdGhlbWVcbi8vL1xuQG1peGluIGxvY2FsbmF2LWRhcmsoKSB7XG5cdCRzZWxlY3Rvci1ib2R5OiAnJztcblx0JHNlbGVjdG9yLXdyYXBwZXI6ICcnO1xuXG5cdEBpbmNsdWRlIGxvY2FsbmF2LXNlbGVjdG9yKCcnKSB7XG5cdFx0LiN7JGxvY2FsbmF2LWRhcmstcGFyZW50LWNsYXNzbmFtZX0gJiB7XG5cdFx0XHQkc2VsZWN0b3ItYm9keTogJjtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBsb2NhbG5hdi1zZWxlY3RvcignLiN7JGxvY2FsbmF2LWRhcmstY2xhc3NuYW1lfScpIHtcblx0XHQkc2VsZWN0b3Itd3JhcHBlcjogJjtcblx0fVxuXG5cdEBhdC1yb290IHtcblx0XHQjeyRzZWxlY3Rvci1ib2R5fSxcblx0XHQjeyRzZWxlY3Rvci13cmFwcGVyfSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gQWRkIHNlbGVjdG9yIGZvciB0aGUgbWVudSBvcGVuIHN0YXRlXG4vLy9cbkBtaXhpbiBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0JHRhcmdldDogJGxvY2FsbmF2LXNlbGVjdG9yO1xuXHQkc2VsZWN0b3I6IHNlbGVjdG9yLXBhcnNlKCcjeyRsb2NhbG5hdi1tZW51c3RhdGUtc2VsZWN0b3J9OmNoZWNrZWQgfiAjeyR0YXJnZXR9LCAjeyRsb2NhbG5hdi1tZW51c3RhdGUtc2VsZWN0b3J9OnRhcmdldCB+ICN7JHRhcmdldH0nKTtcblx0JHBhcmVudDogJjtcblx0JG91dHB1dDogKCk7XG5cblx0QGlmICRwYXJlbnQgPT0gbnVsbCB7XG5cdFx0JG91dHB1dDogJHNlbGVjdG9yO1xuXHR9IEBlbHNlIHtcblxuXHRcdC8vIEV4dGVuZCBlYWNoIHBhc3NlZCBzZWxlY3RvciBpbnRvIGVhY2ggc2VsZWN0b3IgaW4gJlxuXG5cdFx0JHBhcmVudDogc2VsZWN0b3ItcGFyc2UoJHBhcmVudCk7XG5cblx0XHRAZWFjaCAkc2VsIGluICRwYXJlbnQge1xuXHRcdFx0QGlmIG5vdCBzZWxlY3Rvci1jb250YWlucygkc2VsLCAkdGFyZ2V0KSB7XG5cdFx0XHRcdCRzZWw6IHNlbGVjdG9yLW5lc3QoJHNlbGVjdG9yLCAkc2VsKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkc2VsOiBzZWxlY3Rvci1yZXBsYWNlKCRzZWwsICR0YXJnZXQsICRzZWxlY3Rvcilcblx0XHRcdH1cblxuXHRcdFx0JG91dHB1dDogam9pbigkb3V0cHV0LCAkc2VsLCBjb21tYSk7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgI3skb3V0cHV0fSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0IHN0eWxlcyBmb3IgYSB0aXRsZSBpbWFnZVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGltYWdlIGluIHRoZSBpbWFnZXMgZGljdGlvbmFyeVxuLy8vXG5AbWl4aW4gLWxvY2FsbmF2LXRpdGxlLWltYWdlKCRuYW1lKSB7XG5cdEBpZiBtaXhpbi1leGlzdHMocGljdHVyZSkge1xuXHRcdEBpbmNsdWRlIHBpY3R1cmUoJG5hbWUpO1xuXHR9IEBlbHNlIHtcblx0XHRAaW5jbHVkZSBpbWFnZSgkbmFtZSk7XG5cdH1cblxuXHRsaW5lLWhlaWdodDogaW1hZ2UtaGVpZ2h0LWZvcigkbmFtZSwgJ2FjLWxvY2FsbmF2OmxhcmdlJyk7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdGxpbmUtaGVpZ2h0OiBpbWFnZS1oZWlnaHQtZm9yKCRuYW1lLCAnYWMtbG9jYWxuYXY6c21hbGwnKTtcblx0fVxuXG5cdEBpbmNsdWRlIG9sZGllKCkge1xuXHRcdCRzaGlmdDogMXB4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGlubGluZS1zdGFydCgpIGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiAkc2hpZnQ7XG5cdFx0aGVpZ2h0OiAkLWxvY2FsbmF2LWhlaWdodCAtICRzaGlmdDtcblx0fVxufVxuXG4vLy9cbi8vLyBTZXQgYSB0aXRsZSBpbWFnZVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgICAgICBUaGUgbmFtZSBvZiB0aGUgaW1hZ2UgaW4gdGhlIGltYWdlcyBkaWN0aW9uYXJ5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRhcmsgW251bGxdXG4vLy8gICAgICAgIFRoZSBuYW1lIG9mIHRoZSBpbWFnZSBpbiB0aGUgaW1hZ2VzIGRpY3Rpb25hcnlcbi8vL1xuQG1peGluIGxvY2FsbmF2LXRpdGxlLWltYWdlKCRsaWdodCwgJGRhcms6IG51bGwpIHtcblx0QGluY2x1ZGUgLWxvY2FsbmF2LXRpdGxlLWltYWdlKCRsaWdodCk7XG5cblx0QGlmICRkYXJrIHtcblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1oZXJvKCkge1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LXRpdGxlLWltYWdlKCRkYXJrKTtcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi10aXRsZS1pbWFnZSgkbGlnaHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtdGl0bGUtaW1hZ2UoJGRhcmspO1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1oZXJvKCkge1xuXHRcdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtdGl0bGUtaW1hZ2UoJGRhcmspO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgZm9yIGVuYWJsaW5nIFVJIEJsdXJcbi8vL1xuQG1peGluIC1sb2NhbG5hdi1zdXBwb3J0cy11aWJsdXIoKSB7XG5cdEBpZiAkbG9jYWxuYXYtdWlibHVyIGFuZCBtaXhpbi1leGlzdHMoYmFja2Ryb3AtZmlsdGVyLXVpYmx1cikge1xuXHRcdEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBpbml0aWFsKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gV3JhcCBnbG9iYWwgY3VycmVudCBzdGF0ZSBjbGFzc25hbWUgZm9yIHNhc3NraXQgY29tcGF0aWJpbGl0eVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBmdW5jdGlvbiAtbG9jYWxuYXYtc3RhdGUtY3VycmVudC1jbGFzc25hbWUoKSB7XG5cdEBpZiB2YXJpYWJsZS1leGlzdHMoc3RhdGUtY3VycmVudC1jbGFzc25hbWUpIHtcblx0XHRAcmV0dXJuICRzdGF0ZS1jdXJyZW50LWNsYXNzbmFtZTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiAkZ2xvYmFsLWN1cnJlbnQtY2xhc3M7XG5cdH1cbn1cblxuLy8vXG4vLy8gV3JhcCB0eXBvZ3JhcGh5LXNldCBmb3Igc2Fzc2tpdCBjb21wYXRpYmlsaXR5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIC1sb2NhbG5hdi1pc28tdHlwb2dyYXBoeS1zZXQoJHR5cG9ncmFwaHktbmFtZSwgJHR5cG9ncmFwaHktZGVmaW5pdGlvbnMsICRpc286IGVuLVdXKSB7XG5cdCQtaXNvOiAkaXNvO1xuXG5cdEBpZiBmdW5jdGlvbi1leGlzdHModHlwb2dyYXBoeS1saXN0KSB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoJHR5cG9ncmFwaHktbmFtZSwgJHR5cG9ncmFwaHktZGVmaW5pdGlvbnMsICRpc286ICQtaXNvKTtcblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoJHR5cG9ncmFwaHktbmFtZSwgJHR5cG9ncmFwaHktZGVmaW5pdGlvbnMsICRsb2NhbGUtY29kZTogJC1pc28pO1xuXHR9XG59XG5cbi8vL1xuLy8vIFdyYXAgaWU3LWlubGluZS1ibG9jayBmb3IgYWMtc2Fzc2tpdCBjb21wYXRpYmlsaXR5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIC1sb2NhbG5hdi1pZTctaW5saW5lLWJsb2NrKCkge1xuXHRAaWYgbWl4aW4tZXhpc3RzKGllNy1pbmxpbmUtYmxvY2spIHtcblx0XHRAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XG5cdH1cbn1cblxuLy8vXG4vLy8gVGFyZ2V0IElFIDcgKyBSVExcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gLWxvY2FsbmF2LWllNy1ydGwoKSB7XG5cdEBpZiBtaXhpbi1leGlzdHMoaWU3KSBhbmQgJGRpcmVjdGlvbiA9PSBydGwge1xuXHRcdEBpbmNsdWRlIGllNygpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG4kYWMtbG9jYWxuYXYtdmVyc2lvbjogXCI0LjMuMFwiO1xuIiwiLy8vL1xuLy8vIE1lbnVcbi8vL1xuLy8vIEBncm91cCBhYy1sb2NhbG5hdlxuLy8vXG4vLy8gMS4gYWNjb21vZGF0ZSBkaWZmZXJlbmNlIGluIHRpdGxlIGFuZCBsaW5rIGZvbnQgc2l6ZVxuLy8vIDIuIGZsb2F0IGByaWdodGAgaW5zaWRlIG9mIGBsZWZ0YCBkb2Vzbid0IHdvcmsgZm9yIFJUTCBpbiBJRSA3XG4vLy8gMy4gYHZoYCBmYWxsYmFjayB2YWx1ZXMgY2FsY3VsYXRlZCBiYXNlZCBvbiBpUGhvbmUgNFxuLy8vL1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChsb2NhbG5hdi1tZW51LCAoXG5cdCdhYy1sb2NhbG5hdjpsYXJnZSc6ICgyNiwgMjYsIDQwMCksXG5cdCdhYy1sb2NhbG5hdjpzbWFsbCc6ICgzMiwgMzIsIDQwMClcbikpO1xuXG5AaW5jbHVkZSAtbG9jYWxuYXYtaXNvLXR5cG9ncmFwaHktc2V0KGxvY2FsbmF2LW1lbnUsIChcblx0J2FjLWxvY2FsbmF2OmxhcmdlJzogKGZvbnQtc2l6ZTogMTRweCksXG5cdCdhYy1sb2NhbG5hdjpzbWFsbCc6IChmb250LXNpemU6IDE2cHgpXG4pLCAkaXNvOiAoamEtSlAsIGtvLUtSKSk7XG5cbi8vL1xuLy8vIEB0b2RvXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3dhdGNoXG4vLy9cbkBtaXhpbiAtbG9jYWxuYXYtY3VycmVudC1jb2xvcigkc3dhdGNoLCAkc3dhdGNoLW9sZGllOiAkc3dhdGNoLCAkYm9vazogbGlnaHQpIHtcblx0JGNvbG9yOiByZ2JhKHN3YXRjaCgkc3dhdGNoLCAkYm9vayksIDAuNik7XG5cdCRjb2xvci1vbGRpZTogc3dhdGNoKCRzd2F0Y2gtb2xkaWUsICRib29rKTtcblxuXHRjb2xvcjogJGNvbG9yO1xuXG5cdEBpbmNsdWRlIG9sZGllKCkge1xuXHRcdGNvbG9yOiAkY29sb3Itb2xkaWU7XG5cdH1cblxuXHRAaW5jbHVkZSBtb3VzZS1ob3ZlcigpIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXG5cdFx0QGluY2x1ZGUgb2xkaWUoKSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLW9sZGllO1xuXHRcdH1cblx0fVxufVxuXG4uI3skbG9jYWxuYXYtY2xhc3NuYW1lfS1tZW51IHtcblx0JGxpbmUtaGVpZ2h0LW9mZnNldDogY2VpbCgoMjhweCAtIDEzcHgpIC8gMik7IC8vIDFcblxuXHRAaW5jbHVkZSB0eXBvZ3JhcGh5KGxvY2FsbmF2LW1lbnUpO1xuXHRmbG9hdDogaW5saW5lLWVuZCgpO1xuXHRsaW5lLWhlaWdodDogKCQtbG9jYWxuYXYtaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LW9mZnNldCk7XG5cdHBhZGRpbmctdG9wOiAkbGluZS1oZWlnaHQtb2Zmc2V0O1xuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRsaW5lLWhlaWdodDogJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmLXRyYXkge1xuXHRcdGZsb2F0OiBpbmxpbmUtc3RhcnQoKTtcblxuXHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1pZTctcnRsKCkge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNXMgJC1sb2NhbG5hdi10aW1pbmdmdW5jdGlvbiAwLjRzLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAxcztcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdCRtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skLWxvY2FsbmF2LWduLWhlaWdodC1zbWFsbH0gLSAjeyQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsfSk7XG5cblx0XHRcdFx0bWF4LWhlaWdodDogNDAwcHg7IC8vIDNcblx0XHRcdFx0bWF4LWhlaWdodDogJG1heC1oZWlnaHQ7XG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnMsIDBzO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGxhbmRzY2FwZSgpIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAyODBweDsgLy8gM1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc2VsZWN0b3IoJy4jeyRsb2NhbG5hdi1jbGFzc25hbWV9LW9wZW5pbmcnKSB7XG5cdFx0XHRcdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JC1sb2NhbG5hdi1oZWlnaHQtc21hbGx9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtaXRlbXMge1xuXHRcdCRwYWRkaW5nLXRvcDogMTdweDtcblx0XHQkcGFkZGluZy1ib3R0b206IDI4cHg7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6c21hbGwnKSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cGFkZGluZzogJHBhZGRpbmctdG9wICgkLWxvY2FsbmF2LWhlaWdodC1zbWFsbCAtICQtbG9jYWxuYXYtY29udGVudC1wYWRkaW5nLXNtYWxsKSAkcGFkZGluZy1ib3R0b20gKCQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsIC0gJC1sb2NhbG5hdi1jb250ZW50LXBhZGRpbmctc21hbGwpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwcHgsIDApO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzICQtbG9jYWxuYXYtaXRlbXMtdGltaW5nZnVuY3Rpb24gMC41cywgb3BhY2l0eSAwLjdzICQtbG9jYWxuYXYtaXRlbXMtdGltaW5nZnVuY3Rpb24gMC4ycztcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnMsIDAuNHM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1pdGVtIHtcblx0XHRAaW5jbHVkZSBtYXJnaW4taW5saW5lLXN0YXJ0KCQtbG9jYWxuYXYtbWVudS1pdGVtLW1hcmdpbik7XG5cdFx0ZmxvYXQ6IGlubGluZS1zdGFydCgpO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6bWVkaXVtJykge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luLWlubGluZS1zdGFydCgkLWxvY2FsbmF2LW1lbnUtaXRlbS1tYXJnaW4tbWVkaXVtKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6c21hbGwnKSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4taW5saW5lLXN0YXJ0KDApO1xuXHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWllNy1pbmxpbmUtYmxvY2soKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bGluZS1oZWlnaHQ6ICQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6ICQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0LiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0tbWVudS1saW5rIHtcblx0XHRcdFx0XHRib3JkZXItdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogc3dhdGNoKGxvY2FsbmF2LXJ1bGUsIGRhcmspO1xuXHRcdFx0fVxuXG5cdFx0XHRAZm9yICRpIGZyb20gMSB0byA4IHtcblx0XHRcdFx0JjpudGgtY2hpbGQoI3skaX0pIHtcblx0XHRcdFx0XHQuI3skbG9jYWxuYXYtY2xhc3NuYW1lfS1tZW51LWxpbmsge1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4wN3MgKiAkaTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdEBmb3IgJGkgZnJvbSAxIHRvIDgge1xuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKCN7JGl9KSB7XG5cdFx0XHRcdFx0XHQuI3skbG9jYWxuYXYtY2xhc3NuYW1lfS1tZW51LWxpbmsge1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjA3cyAqICg5IC0gJGkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtbGluayB7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWllNy1pbmxpbmUtYmxvY2soKTtcblx0XHRjb2xvcjogc3dhdGNoKGNvcHkpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHN3YXRjaChsb2NhbG5hdi1ydWxlKTtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRsaW5lLWhlaWdodDogJC1sb2NhbG5hdi1oZWlnaHQtc21hbGw7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjVweCwgMCk7XG5cdFx0XHR0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogc3dhdGNoKGZyYW1pbmcsIGRhcmspO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1oZXJvKCkge1xuXHRcdFx0Y29sb3I6IHN3YXRjaCh0aXRsZSwgZGFyayk7XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXN0aWNraW5nKCkge1xuXHRcdFx0XHRjb2xvcjogc3dhdGNoKGNvcHkpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdFx0Y29sb3I6IHN3YXRjaChjb3B5KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbW91c2UtaG92ZXIoKSB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2goYmx1ZSwgZGFyayk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdFx0Y29sb3I6IHN3YXRjaChibHVlKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LWV4cGFuZGVkKCkge1xuXHRcdFx0XHRcdGNvbG9yOiBzd2F0Y2goYmx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1kYXJrKCkge1xuXHRcdFx0Y29sb3I6IHN3YXRjaCh0aXRsZSwgZGFyayk7XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXN0aWNraW5nKCkge1xuXHRcdFx0XHRjb2xvcjogc3dhdGNoKHRpdGxlLCBkYXJrKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2godGl0bGUsIGRhcmspO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtb3VzZS1ob3ZlcigpIHtcblx0XHRcdFx0Y29sb3I6IHN3YXRjaChibHVlLCBkYXJrKTtcblxuXHRcdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0XHRjb2xvcjogc3dhdGNoKGJsdWUsIGRhcmspO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdFx0Y29sb3I6IHN3YXRjaChibHVlLCBkYXJrKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1vdXNlLWhvdmVyKCkge1xuXHRcdFx0Y29sb3I6IHN3YXRjaChibHVlKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmLiN7LWxvY2FsbmF2LXN0YXRlLWN1cnJlbnQtY2xhc3NuYW1lKCl9IHtcblx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1jdXJyZW50LWNvbG9yKGNvcHksIGNhcHRpb24pO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1oZXJvKCkge1xuXHRcdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY3VycmVudC1jb2xvcih0aXRsZSwgY2FwdGlvbiwgZGFyayk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWN1cnJlbnQtY29sb3IoY29weSwgY2FwdGlvbik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY3VycmVudC1jb2xvcihjb3B5LCBjYXB0aW9uKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1kYXJrKCkge1xuXHRcdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY3VycmVudC1jb2xvcih0aXRsZSwgY2FwdGlvbiwgZGFyayk7XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWN1cnJlbnQtY29sb3IodGl0bGUsIGNhcHRpb24sIGRhcmspO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtaGVybygpIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1jdXJyZW50LWNvbG9yKHRpdGxlLCBjYXB0aW9uLCBkYXJrKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBNZW51XG4vLy9cbi8vLyBAZ3JvdXAgYWMtbG9jYWxuYXZcbi8vL1xuLy8vIDEuIGFsaWduIHdpdGggYmFnIHdoZW4gYnV5IGJ1dHRvbiBpcyBub3QgcHJlc2VudFxuLy8vL1xuXG4uI3skbG9jYWxuYXYtY2xhc3NuYW1lfS1hY3Rpb24tbWVudWN0YSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi4jeyRsb2NhbG5hdi1jbGFzc25hbWV9LW1lbnVjdGEge1xuXHRAaW5jbHVkZSBtYXJnaW4taW5saW5lLWVuZCgtJC1sb2NhbG5hdi1tZW51Y3RhLXNoaWZ0KTsgLy8gMVxuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR3aWR0aDogJC1sb2NhbG5hdi1tZW51Y3RhLXdpZHRoO1xuXHRoZWlnaHQ6ICQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdCYtY2hldnJvbiB7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWNoZXZyb24oKTtcblx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY2hldnJvbi1zd2F0Y2goY29weSk7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWNoZXZyb24tZG93bigpO1xuXG5cdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY2hldnJvbi11cCgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LWhlcm8oKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY2hldnJvbi1zd2F0Y2godGl0bGUsIGRhcmspO1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWNoZXZyb24tc3dhdGNoKGNvcHkpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWNoZXZyb24tc3dhdGNoKGNvcHkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRAaW5jbHVkZSAtbG9jYWxuYXYtY2hldnJvbi1zd2F0Y2godGl0bGUsIGRhcmspO1xuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1zdGlja2luZygpIHtcblx0XHRcdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWNoZXZyb24tc3dhdGNoKHRpdGxlLCBkYXJrKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1jaGV2cm9uLXN3YXRjaCh0aXRsZSwgZGFyayk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1hbmNob3Ige1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0ei1pbmRleDogMTA7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAtNnB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ji1jbG9zZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCYtbGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW4oKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgnYWMtbG9jYWxuYXY6c21hbGwnKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdCYtb3BlbiB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdCYtY2xvc2Uge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBDaGV2cm9uIEhlbHBlcnNcbi8vL1xuLy8vIEBncm91cCBhYy1sb2NhbG5hdlxuLy8vL1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LWNoZXZyb24tYW5nbGU6IDQwZGVnO1xuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LWNoZXZyb24tdGhpY2tuZXNzOiAxLjU7XG5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4kLWxvY2FsbmF2LWNoZXZyb24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKSwgdHJhbnNmb3JtLW9yaWdpbiAxcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG5cbi8vL1xuLy8vIEB0b2RvXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIC1sb2NhbG5hdi1jaGV2cm9uKCkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxO1xuXHR0cmFuc2l0aW9uOiAkLWxvY2FsbmF2LWNoZXZyb24tdHJhbnNpdGlvbjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR3aWR0aDogMTJweDtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRyYW5zaXRpb246ICQtbG9jYWxuYXYtY2hldnJvbi10cmFuc2l0aW9uO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRyaWdodDogNTAlO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGxlZnQ6IDUwJTtcblx0fVxufVxuXG4vLy9cbi8vLyBAdG9kb1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN3YXRjaFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRib29rXG4vLy9cbkBtaXhpbiAtbG9jYWxuYXYtY2hldnJvbi1zd2F0Y2goJHN3YXRjaCwgJGJvb2s6IGxpZ2h0KSB7XG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQ6IHN3YXRjaCgkc3dhdGNoLCAkYm9vayk7XG5cdH1cbn1cblxuLy8vXG4vLy8gQHRvZG9cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gLWxvY2FsbmF2LWNoZXZyb24tZG93bigpIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgjeyQtbG9jYWxuYXYtY2hldnJvbi1hbmdsZX0pIHNjYWxlWSgkLWxvY2FsbmF2LWNoZXZyb24tdGhpY2tuZXNzKTtcbn1cblxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjowJSAxMDAlO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0jeyQtbG9jYWxuYXYtY2hldnJvbi1hbmdsZX0pIHNjYWxlWSgkLWxvY2FsbmF2LWNoZXZyb24tdGhpY2tuZXNzKTtcblx0fVxufVxuXG4vLy9cbi8vLyBAdG9kb1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiAtbG9jYWxuYXYtY2hldnJvbi11cCgpIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDAlO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0jeyQtbG9jYWxuYXYtY2hldnJvbi1hbmdsZX0pIHNjYWxlWSgkLWxvY2FsbmF2LWNoZXZyb24tdGhpY2tuZXNzKTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOjAlIDAlO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKCN7JC1sb2NhbG5hdi1jaGV2cm9uLWFuZ2xlfSkgc2NhbGVZKCQtbG9jYWxuYXYtY2hldnJvbi10aGlja25lc3MpO1xuXHR9XG59XG5cblxuJGFjLWxvY2FsbmF2LXZlcnNpb246IFwiNC4zLjBcIjtcbiIsIi8vLy9cbi8vLyBUaXRsZVxuLy8vXG4vLy8gQGdyb3VwIGFjLWxvY2FsbmF2XG4vLy9cbi8vLyAxLiBtYXRjaCBub24taW1hZ2Ugc3BhY2luZyB3aXRoIHN1YmhlYWRcbi8vLyAyLiBiZXR0ZXIgYWxpZ25tZW50IHdpdGggZ2xvYmFsbmF2IGljb25cbi8vLy9cblxuLy8vXG4vLy8gQHR5cGUge1N0cmluZ31cbi8vL1xuJGxvY2FsbmF2LXRpdGxlLWltYWdlOiBudWxsICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBAdHlwZSB7U3RyaW5nfVxuLy8vXG4kbG9jYWxuYXYtdGl0bGUtaW1hZ2UtZGFyazogbnVsbCAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChsb2NhbG5hdi10aXRsZSwgKFxuXHQnYWMtbG9jYWxuYXY6bGFyZ2UnOiAoNTYsICQtbG9jYWxuYXYtaGVpZ2h0ICogMiAvIDFweCwgMzAwKSxcblx0J2FjLWxvY2FsbmF2OnNtYWxsJzogKDQwLCAkLWxvY2FsbmF2LWhlaWdodC1zbWFsbCAqIDIgLyAxcHgsIDMwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChsb2NhbG5hdi10aXRsZS1zdWJoZWFkLCAoXG5cdCdhYy1sb2NhbG5hdjpsYXJnZSc6ICg0MiwgNDIsIDMwMCksXG5cdCdhYy1sb2NhbG5hdjpzbWFsbCc6ICgyOCwgMjgsIDMwMClcbikpO1xuXG5AaW5jbHVkZSB0eXBvZ3JhcGh5LXNldChsb2NhbG5hdi10aXRsZS1hcHBsZSwgKFxuXHQnYWMtbG9jYWxuYXY6bGFyZ2UnOiAoNTYsIDU2LCA0MDApLFxuXHQnYWMtbG9jYWxuYXY6c21hbGwnOiAoMzgsIDM4LCA0MDApXG4pKTtcblxuLiN7JGxvY2FsbmF2LWNsYXNzbmFtZX0tdGl0bGUge1xuXHRAaW5jbHVkZSB0eXBvZ3JhcGh5KGxvY2FsbmF2LXRpdGxlKTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxvYXQ6IGlubGluZS1zdGFydCgpO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGhlaWdodDogJC1sb2NhbG5hdi1oZWlnaHQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJ2FjLWxvY2FsbmF2OnNtYWxsJykge1xuXHRcdEBpbmNsdWRlIC1sb2NhbG5hdi1pZTctaW5saW5lLWJsb2NrKCk7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAkLWxvY2FsbmF2LWhlaWdodC1zbWFsbDtcblx0XHRoZWlnaHQ6ICQtbG9jYWxuYXYtaGVpZ2h0LXNtYWxsO1xuXHR9XG5cblx0YSB7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWllNy1pbmxpbmUtYmxvY2soKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRAaW5jbHVkZSBvbGRpZSgpIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkLWxvY2FsbmF2LWhlaWdodDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtb3VzZS1ob3ZlcigpIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmLFxuXHRhIHtcblx0XHRjb2xvcjogc3dhdGNoKHRpdGxlKTtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAkLWxvY2FsbmF2LWNvbG9yLXRyYW5zaXRpb247XG5cblx0XHRAaW5jbHVkZSBsb2NhbG5hdi1oZXJvKCkge1xuXHRcdFx0Y29sb3I6IHN3YXRjaCh0aXRsZSwgZGFyayk7XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXN0aWNraW5nKCkge1xuXHRcdFx0XHRjb2xvcjogc3dhdGNoKHRpdGxlKTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtZXhwYW5kZWQoKSB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2godGl0bGUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRjb2xvcjogc3dhdGNoKHRpdGxlLCBkYXJrKTtcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtc3RpY2tpbmcoKSB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2godGl0bGUsIGRhcmspO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbG5hdi1leHBhbmRlZCgpIHtcblx0XHRcdFx0Y29sb3I6IHN3YXRjaCh0aXRsZSwgZGFyayk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji1pbWFnZSB7XG5cdFx0QGluY2x1ZGUgaW1hZ2VyZXBsYWNlKCk7XG5cdFx0QGluY2x1ZGUgLWxvY2FsbmF2LWllNy1pbmxpbmUtYmxvY2soKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRAaWYgJGxvY2FsbmF2LXRpdGxlLWltYWdlIHtcblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXRpdGxlLWltYWdlKCRsb2NhbG5hdi10aXRsZS1pbWFnZSk7XG5cdFx0fVxuXG5cdFx0QGlmICRsb2NhbG5hdi10aXRsZS1pbWFnZS1kYXJrIHtcblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LXRpdGxlLWltYWdlKCRsb2NhbG5hdi10aXRsZS1pbWFnZS1kYXJrLCB0cnVlKTtcblx0XHR9XG5cdH1cblxuXHQmLXN1YmhlYWQsXG5cdCYtY29taW5nc29vbiB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShsb2NhbG5hdi10aXRsZS1zdWJoZWFkKTtcblx0fVxuXG5cdCYtY29taW5nc29vbiB7XG5cdFx0b3BhY2l0eTogMC42O1xuXG5cdFx0QGluY2x1ZGUgb2xkaWUoKSB7XG5cdFx0XHRjb2xvcjogc3dhdGNoKHNtYWxsY3RhKTtcblxuXHRcdFx0QGluY2x1ZGUgbG9jYWxuYXYtaGVybygpIHtcblx0XHRcdFx0Y29sb3I6IHN3YXRjaChzbWFsbGN0YSwgZGFyayk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGxvY2FsbmF2LWRhcmsoKSB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2goc21hbGxjdGEsIGRhcmspO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtYXBwbGUge1xuXHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkobG9jYWxuYXYtdGl0bGUtYXBwbGUpO1xuXHRcdEBpbmNsdWRlIHBhZGRpbmctaW5saW5lLXN0YXJ0KDJweCk7IC8vIDJcblxuXHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoaWNvbi1mb250LWZhbWlseSkge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRpY29uLWZvbnQtZmFtaWx5O1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QGluY2x1ZGUgZm9udC1mYW1pbHkoaWNvbnMpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KCdhYy1sb2NhbG5hdjpzbWFsbCcpIHtcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmctaW5saW5lLXN0YXJ0KDApO1xuXHRcdH1cblx0fVxufVxuXG4kYWMtbG9jYWxuYXYtdmVyc2lvbjogXCI0LjMuMFwiO1xuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpdGUtU3BlY2lmaWMgVXRpbGl0aWVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENlbnRlcnMgYW4gaW1hZ2UgcGVyIHRoZSBwcm92aWRlZCB2aWV3cG9ydFxuICogQHBhcmFtXHR7c3RyaW5nfSAkaW1hZ2VcdFx0XHRUaGUgaW1hZ2UgZmlsZW5hbWVcbiAqIEBwYXJhbVx0e3N0cmluZ30gJHZpZXdwb3J0XHQgVGhlIHZpZXdwb3J0IG9mIHRoZSBpbWFnZVxuICogQHBhcmFtXHR7c3RyaW5nfSBbJHBvc2l0aW9uXSBPcHRpb25hbCBwb3NpdGlvbiB2YWx1ZVxuICogQHR5cGVcdCB7bWl4aW59XG4gKiBAcmV0dXJuIHtzdHJpbmd9XHRcdFx0XHRcdFx0IFN0eWxpbmcgdG8gY2VudGVyIHRoZSBpbWFnZVxuICovXG5AbWl4aW4gY2VudGVyLWltYWdlKCRpbWFnZSwgJHZpZXdwb3J0LCAkcG9zaXRpb246cmVsYXRpdmUpIHtcblx0cG9zaXRpb246ICRwb3NpdGlvbjtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLShpbWFnZS13aWR0aC1mb3IoJGltYWdlLCAkdmlld3BvcnQpIC8gMik7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbWF4aW11bSBpbWFnZSBoZWlnaHQgb2YgYW4gaW1hZ2UgaW4gdGhlIHByb3ZpZGVkIHZpZXdwb3J0XG4gKiBAcGFyYW1cdHtzdHJpbmd9XHQgJGltYWdlc1x0XHRUaGUgcm9vdCBpbWFnZSBmaWxlbmFtZVxuICogQHBhcmFtXHR7c3RyaW5nfVx0ICR2aWV3cG9ydFx0VGhlIHZpZXdwb3J0IG9mIHRoZSBpbWFnZVxuICogQHR5cGVcdCB7ZnVuY3Rpb259XG4gKiBAcmV0dXJuIHtzdHJpbmd9XHQgJG1heC1oZWlnaHQgVGhlIG1heCBoZWlnaHQgb2YgdGhlIGltYWdlIGluIHBpeGVsc1xuICovXG5AZnVuY3Rpb24gZ2V0LW1heGltdW0taW1hZ2UtaGVpZ2h0KCRpbWFnZXMsICR2aWV3cG9ydCkge1xuXHQkbWF4LWhlaWdodDogMDtcblx0QGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuXHRcdCRoZWlnaHQ6IHN0cmlwLXVuaXRzKGltYWdlLWhlaWdodC1mb3IoJGltYWdlLCAkdmlld3BvcnQpKTtcblx0XHRAaWYgKCRoZWlnaHQgPiAkbWF4LWhlaWdodCkge1xuXHRcdFx0JG1heC1oZWlnaHQ6ICRoZWlnaHQ7XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gJG1heC1oZWlnaHQgKyAwcHg7XG59XG5cbi8vQGZ1bmN0aW9uIHh4eCgkdmFsdWUpIHtcbi8vXHRAcmV0dXJuICR2YWx1ZTtcbi8vfVxuXG4vKipcbiAqIFJlcGxhY2VzIGFsbCBvY2N1cnJlbmNlcyBvZiBhIHNlYXJjaCBzdHJpbmcgd2l0aCBhIHJlcGxhY2VtZW50IHN0cmluZ1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nXG4gKiBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaFxuICogQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJylcbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IGAkc3RyaW5nYCB3aXRoIGAkc2VhcmNoYCByZXBsYWNlZCB3aXRoIGAkcmVwbGFjZWBcbiAqL1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuXHQkbGVuZ3RoOiBzdHItbGVuZ3RoKCRzZWFyY2gpO1xuXHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuXHRAd2hpbGUgJGluZGV4IHtcblx0XHQkYmVmb3JlOiBpZigkaW5kZXggPT0gMSwgJycsIHN0ci1zbGljZSgkc3RyaW5nLCAwLCAkaW5kZXggLSAxKSk7XG5cdFx0JGFmdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgJGxlbmd0aCk7XG5cdFx0JHN0cmluZzogJGJlZm9yZSArICRyZXBsYWNlICsgJGFmdGVyO1xuXHRcdCRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXHR9XG5cblx0QHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gYWxsY2FwcygpIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IHRyYWNraW5nKDIwMCk7XG59XG5cbi8qKlxuICogT3V0cHV0cyB0aGUgQ1NTIHByb3BlcnR5IGF0IGVhY2ggdmlld3BvcnRcbiAqXG4gKiBAZ3JvdXAgdmlld3BvcnRzXG4gKlxuICogQGFjY2VzcyBwdWJsaWNcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0ge01hcH0gJHZhbHVlcyAtIFRoZSB2YWx1ZXMgaW4gdGhlIGZvcm0gYHZpZXdwb3J0OiB2YWx1ZWBcbiAqXG4gKiBAcmVxdWlyZXMgdmlld3BvcnQtZXhpc3RzXG4gKiBAcmVxdWlyZXMge21peGlufSB2aWV3cG9ydFxuICpcbiAqL1xuQG1peGluIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaCgkcHJvcGVydHksICR2YWx1ZXMpIHtcblx0QGVhY2ggJHZpZXdwb3J0LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG5cdFx0QGlmIHZpZXdwb3J0LWV4aXN0cygkdmlld3BvcnQpIHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydCkge1xuXHRcdFx0XHQjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvbnQtZmFtaWx5KCkge1xuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1sb2NhbGVzLCBkZWZhdWx0KTtcblxuXHRAZWFjaCAkbGFuZywgJGZvbnQgaW4gJGZvbnQtbG9jYWxlcyB7XG5cdFx0QGlmICRsYW5nICE9IGRlZmF1bHQge1xuXHRcdFx0QGluY2x1ZGUgaHRtbC1zZWxlY3RvcignW2xhbmc9I3skbGFuZ31dJykge1xuXHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG4gfVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpdGUtV2lkZSBTdHlsZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIaWRlL1Nob3cgaGVscGVyc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGhpZGUgeyBkaXNwbGF5OiBub25lOyB9XG5AbWl4aW4gc2hvdyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtaXhpbiByZXRpbmEtaGlkZS1zaG93IHtcblx0QGluY2x1ZGUgcmV0aW5hLWhpZGUoKTtcblx0QGluY2x1ZGUgcmV0aW5hLXNob3coKTtcbn1cblxuQG1peGluIHJldGluYS1oaWRlIHtcblx0Ji5oaWRlLWZvci1yZXRpbmEge1xuXHRcdEBpbmNsdWRlIHJldGluYSgpIHtcblx0XHRcdEBpbmNsdWRlIGhpZGUoKTtcblx0XHR9XG5cdH1cblxuXHQmLmhpZGUtZm9yLXJldGluYS0zeCB7XG5cdFx0QGluY2x1ZGUgcmV0aW5hKDMpIHtcblx0XHRcdEBpbmNsdWRlIGhpZGUoKTtcblx0XHR9XG5cdH1cblxuXHQmLnNob3ctb25seS1mb3ItcmV0aW5hIHtcblx0XHRAaW5jbHVkZSBoaWRlKCk7XG5cdH1cblxuXHQmLnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcblx0XHRAaW5jbHVkZSBoaWRlKCk7XG5cblx0XHRAaW5jbHVkZSByZXRpbmEoKSB7XG5cdFx0XHRAaW5jbHVkZSBoaWRlKCk7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiByZXRpbmEtc2hvdyB7XG5cdCYuc2hvdy1vbmx5LWZvci1yZXRpbmEge1xuXHRcdEBpbmNsdWRlIHJldGluYSgpIHtcblx0XHRcdEBpbmNsdWRlIHNob3coKTtcblx0XHR9XG5cdH1cblxuXHQmLnNob3ctb25seS1mb3ItcmV0aW5hLTN4IHtcblx0XHRAaW5jbHVkZSByZXRpbmEoMykge1xuXHRcdFx0QGluY2x1ZGUgc2hvdygpO1xuXHRcdH1cblx0fVxufVxuXG4qIHsgQGluY2x1ZGUgcmV0aW5hLWhpZGUtc2hvdygpOyB9XG5cbi5oaWRlLWZvci1sYXJnZSB7XG5cdEBpbmNsdWRlIGhpZGUoKTtcblxuXHRAaW5jbHVkZSB2aWV3cG9ydChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBzaG93KCk7XG5cdH1cbn1cblxuLmhpZGUtZm9yLW1lZGl1bSB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIGhpZGUoKTtcblx0fVxuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0QGluY2x1ZGUgc2hvdygpO1xuXHR9XG59XG5cbi5oaWRlLWZvci1zbWFsbCB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0QGluY2x1ZGUgaGlkZSgpO1xuXHR9XG59XG5cbi5zaG93LWZvci1zbWFsbCB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0QGluY2x1ZGUgc2hvdygpO1xuXHR9XG59XG5cbi5zaG93LW9ubHktZm9yLXNtYWxsIHtcblx0QGluY2x1ZGUgaGlkZSgpO1xuXHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdEBpbmNsdWRlIHNob3coKTtcblx0XHRAaW5jbHVkZSByZXRpbmEtaGlkZS1zaG93KCk7XG5cdH1cbn1cblxuLnNob3ctZm9yLW1lZGl1bSB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIHNob3coKTtcblx0fVxufVxuXG4uc2hvdy1vbmx5LWZvci1tZWRpdW0ge1xuXHRAaW5jbHVkZSBoaWRlKCk7XG5cdEBpbmNsdWRlIHJldGluYS1oaWRlKCk7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIHNob3coKTtcblx0XHRAaW5jbHVkZSByZXRpbmEtc2hvdygpO1xuXHR9XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRAaW5jbHVkZSBoaWRlKCk7XG5cdFx0QGluY2x1ZGUgcmV0aW5hLWhpZGUoKTtcblx0fVxufVxuXG4uc2hvdy1mb3ItbGFyZ2Uge1xuXHRAaW5jbHVkZSBzaG93KCk7XG59XG5cbi5zaG93LWZvci1sYXJnZS1vbmx5IHtcblx0QGluY2x1ZGUgc2hvdygpO1xuXHRAaW5jbHVkZSByZXRpbmEtaGlkZS1zaG93KCk7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIGhpZGUoKTtcblx0XHRAaW5jbHVkZSByZXRpbmEtaGlkZSgpO1xuXHR9XG59XG5cbi5oaWRkZW4ge1xuXHQvLyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkZWQtc3BhY2VzOjphZnRlciB7XG5cdC8vICZuYnNwO1xuXHRjb250ZW50OiAnXFwwMGEwJztcbn1cblxuLm1hcmdpbi10b3Age1xuXHRtYXJnaW4tdG9wOiAxZW07XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQWxpZ25tZW50IGFuZCBTcGFjaW5nXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2VudGVyIHtcblx0QGluY2x1ZGUgY2VudGVyKCk7XG59XG5cbi8vIHdyYXBwZXIgZm9yIGNlbnRlcmluZyBpbWFnZXMgdGhhdCBuZWVkIG1hcmdpbiBvZmZzZXRzLlxuLmNvbnN0cmFpbi1hbmQtY2VudGVyIHtcblx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHdpZHRoLCAoXG5cdFx0bGFyZ2U6IHZpZXdwb3J0LWdldC1taW4obGFyZ2UpLFxuXHRcdG1lZGl1bTogdmlld3BvcnQtZ2V0LW1pbihtZWRpdW0pLFxuXHRcdHNtYWxsOiB2aWV3cG9ydC1nZXQtbWluKHNtYWxsKVxuXHQpKTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uYWxpZ24tY2VudGVyIHtcblx0QGluY2x1ZGUgY2VudGVyLXBhcmFncmFwaCgpO1xufVxuXG4uYWxpZ24tbGVmdCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ24tbGFyZ2UtY2VudGVyLXNtYWxsLWxlZnQge1xuXHRAaW5jbHVkZSBjZW50ZXItcGFyYWdyYXBoKCk7XG5cdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG4uYWxpZ24tbGFyZ2UtbGVmdC1zbWFsbC1jZW50ZXIge1xuXHQvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuXHQvLyBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHQvLyBcdEBpbmNsdWRlIGNlbnRlci1wYXJhZ3JhcGgoKTtcblx0Ly8gfVxufVxuXG4uc21hbGwtY2VudGVyIHtcblx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRAaW5jbHVkZSBjZW50ZXItcGFyYWdyYXBoKCk7XG5cdH1cbn1cblxuLm5vLW1hcmdpbi1ib3R0b20ge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZmx1c2gtYm90dG9tLXJpZ2h0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xufVxuIiwiLmFjY29yZGlvbi10cmFuc2l0aW9ucyB7XG5cdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1mYXEgZWFzZTtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZmFxIGVhc2U7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWZhcSBlYXNlO1xufVxuXG4uYWNjb3JkaW9uLXNlY3Rpb24ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWNjb3JkaW9uLWlubmVyIHtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9EVUxFOiBUeXBvZ3JhcGh5XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGZvbnRzLXNhbnMtc2VyaWY6IFwiTXlyaWFkIFNldCBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kc2VtaWJvbGQ6IDYwMDtcbiRib2xkOiAkc2VtaWJvbGQ7XG5cbi5pbnRybyB7XG5cdEBpbmNsdWRlIHR5cG9ncmFwaHkoaW50cm8pO1xufVxuXG4uaW50cm8tY2VudGVyIHtcblx0QGluY2x1ZGUgY2VudGVyLXBhcmFncmFwaCgpO1xufVxuXG4uYWxsY2FwcyB7XG5cdEBpbmNsdWRlIGFsbGNhcHMoKTtcbn1cblxuLnNtYWxsYmxvY2stY29weSB7XG5cdEBpbmNsdWRlIHR5cG9ncmFwaHkoc21hbGxibG9jay1jb3B5KTtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0RVTEU6IFNlY3Rpb25cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBrZXlsaW5lIHtcblx0Ym9yZGVyOiBzb2xpZCBzd2F0Y2goa2V5bGluZSk7XG5cdGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cblxuLm1haW4ge1xuXHQucGFkdG9wICYge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLXRvcCwgJHBhZ2UtcGFkZGluZyk7XG5cdH1cblxuXHQucGFkYm90dG9tICYge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLWJvdHRvbSwgJHBhZ2UtcGFkZGluZyk7XG5cdH1cbn1cblxuLnNlY3Rpb24ge1xuXHRAaW5jbHVkZSBzZWxmY2xlYXIoKTtcblx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmctdG9wLCAkc2VjdGlvbi1wYWRkaW5nKTtcblx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmctYm90dG9tLCAkc2VjdGlvbi1wYWRkaW5nKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5wYWdlLWVycm9ycyAmIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uc2VjdGlvbi1ub3BhZCxcbi5zZWN0aW9uLW5vcGFkdG9wIHtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi5zZWN0aW9uLW5vcGFkLFxuLnNlY3Rpb24tbm9wYWRib3R0b20ge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnNlY3Rpb24tYm9yZGVyYm90dG9tIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0LnNlY3Rpb24tY29udGVudCB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmctYm90dG9tLCAkc2VjdGlvbi1wYWRkaW5nKTtcblx0XHRib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuXHR9XG5cblx0Ji5zZWN0aW9uLW5vcGFkIHtcblx0XHQuc2VjdGlvbi1jb250ZW50IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuXG4uc2VjdGlvbi1ib3JkZXJib3R0b20tc21hbGwge1xuXHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0LnNlY3Rpb24tY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy1ib3R0b20sICRzZWN0aW9uLXBhZGRpbmcpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJGJvcmRlcjtcblx0XHR9XG5cdH1cbn1cblxuLnNlY3Rpb24tY29udGVudCB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLWJvdHRvbSwgJHNlY3Rpb24tcGFkZGluZyk7XG5cdEBpbmNsdWRlIGtleWxpbmUoKTtcblx0QGluY2x1ZGUgdmlld3BvcnQtY29udGVudCgpO1xuXG5cdCY6bGFzdC1vZi10eXBlIHtcblx0XHRib3JkZXItd2lkdGg6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHRoMixcblx0aDMsXG5cdC5zdWJzZWN0aW9uLXN1YmhlYWRsaW5lIHtcblx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHN1YnNlY3Rpb24tc3ViaGVhZGxpbmUpO1xuXHRcdG1hcmdpbi1ib3R0b206IC40NWVtO1xuXHR9XG59XG5cbi5zZWN0aW9uLWhlcm8ge1xuXHRwYWRkaW5nOiAwO1xuXG5cdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLCAkc2VjdGlvbi1oZXJvLXBhZGRpbmcpO1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChtYXJnaW4sICRzZWN0aW9uLWhlcm8tbWFyZ2luKTtcblx0XHRAaW5jbHVkZSBrZXlsaW5lKCk7XG5cblx0XHQucGFnZS11bmF2YWlsYWJsZSAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRoMixcblx0XHQuc3Vic2VjdGlvbi1oZWFkbGluZSB7XG5cdFx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHN1YnNlY3Rpb24taGVhZGxpbmUpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLjQ1ZW07XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChtYXJnaW4tYm90dG9tLCAoXG5cdFx0XHRcdFx0bGFyZ2U6IDE0cHgsXG5cdFx0XHRcdFx0c21hbGw6IDE4cHhcblx0XHRcdFx0KSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHRAaW5jbHVkZSBjZW50ZXIoODglKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQGVhY2ggJG5hbWUgaW4gdmlld3BvcnQtbGlzdCgpIHtcblx0LnNlY3Rpb24tY29udGVudC0jeyRuYW1lfSB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNvbnRlbnQtZm9yKCRuYW1lKTtcblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblx0XHQuc2VjdGlvbi1jb250ZW50LXJlc2V0LSN7JG5hbWV9IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvLy8vXG4vLy8gQ29yZSAvIFZpZXdwb3J0c1xuLy8vXG4vLy8gQGdyb3VwIHZpZXdwb3J0c1xuLy8vL1xuXG4vLy9cbi8vLyBWaWV3cG9ydCBEaWN0aW9uYXJ5XG4vLy9cbi8vLyBAdHlwZSB7TWFwfVxuLy8vXG4vLy8gQHByb3Age01hcH0gJG5hbWVcbi8vLyAgIEEgTWFwIG9mIHZpZXdwb3J0IHByb3BlcnRpZXNcbi8vL1xuLy8vIEBwcm9wIHtOdW1iZXJ9ICRuYW1lLm1pbi13aWR0aCBbb3B0aW9uYWxdXG4vLy8gICBWYWx1ZSBmb3IgYSBgbWluLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gJG5hbWUubWF4LXdpZHRoIFtvcHRpb25hbF1cbi8vLyAgIFZhbHVlIGZvciBhIGBtYXgtd2lkdGhgIG1lZGlhIHF1ZXJ5IGNvbmRpdGlvbmFsXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkbmFtZS5tYXgtZGV2aWNlLXdpZHRoIFtvcHRpb25hbF1cbi8vLyAgIFZhbHVlIGZvciBhIGBtYXgtZGV2aWNlLXdpZHRoYCBtZWRpYSBxdWVyeSBjb25kaXRpb25hbFxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gJG5hbWUuY29udGVudCBbb3B0aW9uYWxdXG4vLy8gICBDb250ZW50IGB3aWR0aGAgKGZvciBgdmlld3BvcnQtY29udGVudCgpYClcbi8vL1xuLy8vIEBwcm9wIHtTdHJpbmd8Qm9vbGVhbn0gJG5hbWUucXVlcnkgW29wdGlvbmFsXVxuLy8vICAgQSBjdXN0b20gcXVlcnkgb3IgYGZhbHNlYCBmb3Igbm8gbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBwcm9wIHtCb29sZWFufSAkbmFtZS5pZTggW29wdGlvbmFsXVxuLy8vICAgVmlld3BvcnQgYWx3YXlzIGFwcGxpZXMgZm9yIGllOFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJC12aWV3cG9ydHM6IChcbi8vLyAgICAgbGFyZ2U6IChcbi8vLyAgICAgICBtaW4td2lkdGg6IDEwNjlweCxcbi8vLyAgICAgICBtYXgtd2lkdGg6IDE0NDFweCxcbi8vLyAgICAgICBjb250ZW50OiA5ODBweCxcbi8vLyAgICAgICBpZTg6IHRydWVcbi8vLyAgICAgKSxcbi8vLyAgICAgeGxhcmdlOiAoXG4vLy8gICAgICAgbWluLXdpZHRoOiAxNDQycHgsXG4vLy8gICAgICAgY29udGVudDogOTgwcHhcbi8vLyAgICAgKSxcbi8vLyAgICAgbWVkaXVtOiAoXG4vLy8gICAgICAgbWluLXdpZHRoOiA3MzZweCxcbi8vLyAgICAgICBtYXgtd2lkdGg6IDEwNjhweCxcbi8vLyAgICAgICBjb250ZW50OiA2OTJweFxuLy8vICAgICApLFxuLy8vICAgICBzbWFsbDogKFxuLy8vICAgICAgIG1pbi13aWR0aDogMzIwcHgsXG4vLy8gICAgICAgbWF4LXdpZHRoOiA3MzVweCxcbi8vLyAgICAgICBjb250ZW50OiAyODhweFxuLy8vICAgICApXG4vLy8gICApO1xuLy8vXG4kLXZpZXdwb3J0czogKCk7XG5cbi8vL1xuLy8vIFJldHVybiBhIGxpc3Qgb2Ygdmlld3BvcnQgbmFtZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZXNwYWNlIFtudWxsXVxuLy8vICAgUmVxdWVzdCBhIGxpc3Qgb2Ygdmlld3BvcnRzIHVuZGVyIGEgc2hhcmVkIG5hbWVzcGFjZS5cbi8vLyAgIE5hbWVzcGFjZXMgYXJlIGluIHRoZSBmb3JtIG9mIGBuYW1lc3BhY2U6dmlld3BvcnRgLlxuLy8vICAgYG51bGxgIGZvciBhbGwgdmlld3BvcnRzLCBgZGVmYXVsdGAgZm9yIHZpZXdwb3J0cyB3aXRob3V0IGEgbmFtZXNwYWNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9XG4vLy8gICBBIGxpc3Qgb2Ygdmlld3BvcnQgbmFtZXMgLyBtYXAga2V5c1xuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtbGlzdCgkbmFtZXNwYWNlOiBudWxsKSB7XG5cdEBpZiB0eXBlLW9mKCQtdmlld3BvcnRzKSAhPSBcIm1hcFwiIHtcblx0XHRAZXJyb3IgJ1RoZSBWaWV3cG9ydHMgRGljdGlvbmFyeSBoYXMgYmVlbiB1bmV4cGVjdGVkbHkgbW9kaWZpZWQuJztcblx0fVxuXG5cdCRrZXlzOiBtYXAta2V5cygkLXZpZXdwb3J0cyk7XG5cblx0QGlmIG5vdCAkbmFtZXNwYWNlIHtcblx0XHRAcmV0dXJuICRrZXlzO1xuXHR9XG5cblx0JGxpc3Q6ICgpO1xuXG5cdEBlYWNoICRrZXkgaW4gJGtleXMge1xuXHRcdEBpZiAkbmFtZXNwYWNlID09IGRlZmF1bHQge1xuXHRcdFx0QGlmIHN0ci1pbmRleCgka2V5LCAnOicpID09IG51bGwge1xuXHRcdFx0XHQkbGlzdDogYXBwZW5kKCRsaXN0LCAka2V5KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdEBpZiBzdHItaW5kZXgoJGtleSwgJG5hbWVzcGFjZSArICc6JykgPT0gMSB7XG5cdFx0XHRcdCRsaXN0OiBhcHBlbmQoJGxpc3QsICRrZXkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vL1xuLy8vIENoZWNrIGlmIGEgdmlld3BvcnQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBpcyBkZWZpbmVkXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59XG4vLy8gICBgdHJ1ZWAgaWYgdGhlIHZpZXdwb3J0IGlzIGRlZmluZWQsIG90aGVyd2lzZSBgZmFsc2VgXG4vLy9cbkBmdW5jdGlvbiB2aWV3cG9ydC1leGlzdHMoJG5hbWUpIHtcblx0QHJldHVybiBtYXAtaGFzLWtleSgkLXZpZXdwb3J0cywgJG5hbWUpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmlld3BvcnQgZGF0YSBmb3IgYSBnaXZlbiBuYW1lXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHJldHVybnMge01hcH1cbi8vLyAgIEEgdHlwb2dyYXBoeSBNYXAsIG9yIGBudWxsYCBpZiB1bmRlZmluZWRcbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWdldCgkbmFtZSkge1xuXHRAaWYgdmlld3BvcnQtZXhpc3RzKCRuYW1lKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCQtdmlld3BvcnRzLCAkbmFtZSk7XG5cdH1cblxuXHRAcmV0dXJuIHdhcm4tdW5kZWZpbmVkKHZpZXdwb3J0LCAkbmFtZSk7XG59XG5cbi8vL1xuLy8vIEFkZCBhIHZpZXdwb3J0IHRvIHRoZSBWaWV3cG9ydCBEaWN0aW9uYXJ5LlxuLy8vIE92ZXJ3cml0ZXMgZXhpc3Rpbmcgdmlld3BvcnQgZGF0YS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHByb3BlcnRpZXNcbi8vLyAgIEEgbWFwIG9mIHZpZXdwb3J0IHByb3BlcnRpZXNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRlZmF1bHQgW2ZhbHNlXVxuLy8vICAgVHJlYXQgbGlrZSBhIGAhZGVmYXVsdGAgZGVmaW5pdGlvblxuLy8vXG5AbWl4aW4gdmlld3BvcnQtc2V0KCRuYW1lLCAkcHJvcGVydGllcywgJGRlZmF1bHQ6IGZhbHNlKSB7XG5cblx0QGlmICRkZWZhdWx0ID09IGZhbHNlIG9yIHZpZXdwb3J0LWV4aXN0cygkbmFtZSkgPT0gZmFsc2Uge1xuXHRcdCQtdmlld3BvcnRzOiBtYXAtc2V0KCQtdmlld3BvcnRzLCAkbmFtZSwgJHByb3BlcnRpZXMpICFnbG9iYWw7XG5cdH1cbn1cblxuLy8vXG4vLy8gQWRkIGEgdmlld3BvcnQgdG8gdGhlIFZpZXdwb3J0IERpY3Rpb25hcnkuXG4vLy8gTWVyZ2VzIGV4aXN0aW5nIHZpZXdwb3J0IGRhdGEuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRwcm9wZXJ0aWVzXG4vLy8gICBBIG1hcCBvZiB2aWV3cG9ydCBwcm9wZXJ0aWVzXG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1tZXJnZSgkbmFtZSwgJHByb3BlcnRpZXMpIHtcblx0QGlmICh2aWV3cG9ydC1leGlzdHMoJG5hbWUpID09IGZhbHNlKSB7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1zZXQoJG5hbWUsICRwcm9wZXJ0aWVzKTtcblxuXHR9IEBlbHNlIHtcblxuXHRcdCRwcm9wZXJ0aWVzOiBtYXAtbWVyZ2UobWFwLWdldCgkLXZpZXdwb3J0cywgJG5hbWUpLCAkcHJvcGVydGllcyk7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1zZXQoJG5hbWUsICRwcm9wZXJ0aWVzKTtcblxuXHRcdCR2aWV3cG9ydHMtdG1wOiAoKTtcblxuXHRcdC8vIGNsZWFudXAgbnVsbCB2YWx1ZXNcblx0XHRAZWFjaCAkdmlld3BvcnQtbmFtZSBpbiB2aWV3cG9ydC1saXN0KCkge1xuXG5cdFx0XHQkdmlld3BvcnQtcHJvcGVydGllczogdmlld3BvcnQtZ2V0KCR2aWV3cG9ydC1uYW1lKTtcblxuXHRcdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHZpZXdwb3J0LXByb3BlcnRpZXMge1xuXG5cdFx0XHRcdEBpZiAkdmFsdWUgPT0gbnVsbCB7XG5cdFx0XHRcdFx0JHZpZXdwb3J0LXByb3BlcnRpZXM6IG1hcC1yZW1vdmUoJHZpZXdwb3J0LXByb3BlcnRpZXMsICRwcm9wZXJ0eSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JHZpZXdwb3J0cy10bXA6IG1hcC1zZXQoJHZpZXdwb3J0cy10bXAsICR2aWV3cG9ydC1uYW1lLCAkdmlld3BvcnQtcHJvcGVydGllcyk7XG5cdFx0fVxuXG5cdFx0JC12aWV3cG9ydHM6ICR2aWV3cG9ydHMtdG1wICFnbG9iYWw7XG5cblx0fVxufVxuXG4vLy9cbi8vLyBSZW1vdmUgYSB2aWV3cG9ydCBmcm9tIHRoZSBWaWV3cG9ydCBEaWN0aW9uYXJ5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG5AbWl4aW4gdmlld3BvcnQtcmVtb3ZlKCRuYW1lKSB7XG5cdCQtdmlld3BvcnRzOiBtYXAtcmVtb3ZlKCQtdmlld3BvcnRzLCAkbmFtZSkgIWdsb2JhbDtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGEgdmlld3BvcnQgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRuYW1lXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZSAvIG1hcCBrZXksIG9yXG4vLy8gICBBIGxpc3Qgb2YgcG9zc2libGUgdmlld3BvcnRzICh0aGUgZmlyc3Qgb25lIGRlZmluZWQgdG8gYmUgdXNlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgLmV4YW1wbGUge1xuLy8vICAgICBAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgICBoZWlnaHQ6IDEwMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIG91dHB1dFxuLy8vICAgQG1lZGlhICguLi4pIHtcbi8vLyAgICAgLmV4YW1wbGUge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgICBoZWlnaHQ6IDEwMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbkBtaXhpbiB2aWV3cG9ydCgkbmFtZSkge1xuXHQkcXVlcnk6IGZhbHNlO1xuXHQkbmV3LW5hbWU6IGZhbHNlO1xuXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBsaXN0IHtcblx0XHRAZWFjaCAkbmFtZS1uIGluICRuYW1lIHtcblx0XHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJG5hbWUtbikgYW5kICRuZXctbmFtZSA9PSBmYWxzZSB7XG5cdFx0XHRcdCRuZXctbmFtZTogJG5hbWUtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJG5ldy1uYW1lICE9IGZhbHNlIHtcblx0XHQkbmFtZTogJG5ldy1uYW1lO1xuXHR9XG5cblx0Ly8gSWYgYXQgbGVhc3Qgb25lIGZhbGxiYWNrIHZpZXdwb3J0IGhhcyBiZWVuIGZvdW5kXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBzdHJpbmcge1xuXG5cdFx0QGlmIHZpZXdwb3J0LWV4aXN0cygkbmFtZSkge1xuXG5cdFx0XHQkdmlld3BvcnQ6IHZpZXdwb3J0LWdldCgkbmFtZSk7XG5cblx0XHRcdEBpZiBtYXAtaGFzLWtleSgkdmlld3BvcnQsIHF1ZXJ5KSB7XG5cdFx0XHRcdCRxdWVyeTogbWFwLWdldCgkdmlld3BvcnQsIHF1ZXJ5KTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkbWluLXdpZHRoOiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCRuYW1lLCBtaW4td2lkdGgpO1xuXHRcdFx0XHQkbWF4LXdpZHRoOiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCRuYW1lLCBtYXgtd2lkdGgpO1xuXG5cdFx0XHRcdEBpZiAkbWluLXdpZHRoID09ICR2aWV3cG9ydC1iYXNlLXdpZHRoIHtcblx0XHRcdFx0XHQkcXVlcnk6IGZhbHNlO1xuXHRcdFx0XHR9IEBlbHNlIGlmICRtYXgtd2lkdGggPT0gZmFsc2Ugb3IgJG1pbi13aWR0aCBhbmQgJG1pbi13aWR0aCA+ICR2aWV3cG9ydC1iYXNlLXdpZHRoIHtcblx0XHRcdFx0XHQkcXVlcnk6IG1pbi13aWR0aCgkbWluLXdpZHRoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JHF1ZXJ5OiBtYXgtd2lkdGgoJG1heC13aWR0aCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaWYgbWFwLWhhcy1rZXkoJHZpZXdwb3J0LCBtYXgtZGV2aWNlLXdpZHRoKSB7XG5cdFx0XHRcdFx0JHF1ZXJ5OiAkcXVlcnkgKyAnIGFuZCAnICsgbWF4LWRldmljZS13aWR0aChtYXAtZ2V0KCR2aWV3cG9ydCwgbWF4LWRldmljZS13aWR0aCkpO1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHF1ZXJ5KSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH0gQGVsc2Uge1xuXHRcdEBpbmNsdWRlIHdhcm4tdW5kZWZpbmVkKHZpZXdwb3J0LCAkbmFtZSk7XG5cdH1cbn1cblxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgQ1NTIHByb3BlcnR5IGF0IGVhY2ggdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR2YWx1ZXMgLSBUaGUgdmFsdWVzIGluIHRoZSBmb3JtIGB2aWV3cG9ydDogdmFsdWVgXG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2goJHByb3BlcnR5LCAkdmFsdWVzKSB7XG5cdEBlYWNoICR2aWV3cG9ydCwgJHZhbHVlIGluICR2YWx1ZXMge1xuXHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJHZpZXdwb3J0KSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdFx0I3skcHJvcGVydHl9OiAkdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vL1xuLy8vIE91dHB1dCBhIG1hcCBhcyBDU1MgZGVjbGFyYXRpb25zIGZvciBlYWNoIHZpZXdwb3J0XG4vLy9cbi8vLyBDb252ZW5pZW5jZSBtZXRob2QgZm9yIG91dHB1dHRpbmcgbXVsdGlwbGUgcHJvcGVydGllcyBhY3Jvc3Mgdmlld3BvcnRzLCBcbi8vLyB1c3VhbGx5IHByb3ZpZGVkIHZpYSBhIG1vZHVsZSBzZXR0aW5nIG9yIG1peGluLiBcbi8vLyBcbi8vLyBTaG91bGQgbm90IGJlIHVzZWQgd2hlcmUgYHZpZXdwb3J0KClgIGFuZCBzdGFuZGFyZCBDU1MgcHJvcGVydGllcyBhcmUgc3VmZmljaWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdmFsdWVzXG4vLy8gICBUaGUgZGVjbGFyYXRpb25zIGluIHRoZSBmb3JtIGB2aWV3cG9ydDogKHByb3BlcnR5MTogdmFsdWUxLCBwcm9wZXJ0eTI6IHZhbHVlMilgXG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1jc3MtZGVjbGFyYXRpb25zLWZvci1lYWNoKCRkZWNsYXJhdGlvbnMpIHtcblxuXHRAZWFjaCAkdmlld3BvcnQtbmFtZSBpbiB2aWV3cG9ydC1saXN0KCkge1xuXG5cdFx0QGlmIG1hcC1rZXktZXhpc3RzKCRkZWNsYXJhdGlvbnMsICR2aWV3cG9ydC1uYW1lKSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQtbmFtZSkge1xuXG5cdFx0XHRcdCRkZWNsYXJhdGlvbnMtZm9yLXZpZXdwb3J0OiBtYXAtZ2V0KCRkZWNsYXJhdGlvbnMsICR2aWV3cG9ydC1uYW1lKTtcblxuXHRcdFx0XHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZGVjbGFyYXRpb25zLWZvci12aWV3cG9ydCB7XG5cdFx0XHRcdFx0I3skcHJvcGVydHl9OiAkdmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gQ2hlY2sgaWYgYSBwcm9wZXJ0eSBpcyBkZWZpbmVkIGZvciBhIGdpdmVuIHZpZXdwb3J0XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgVGhlIHZpZXdwb3J0IG5hbWVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFRoZSBwcm9wZXJ0eSBrZXlcbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufVxuLy8vICAgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBkZWZpbmVkLCBvdGhlcndpc2UgYGZhbHNlYFxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtaGFzLXByb3BlcnR5LWZvcigkbmFtZSwgJHByb3BlcnR5KSB7XG5cdEByZXR1cm4gdmlld3BvcnQtZXhpc3RzKCRuYW1lKSBhbmQgbWFwLWhhcy1rZXkodmlld3BvcnQtZ2V0KCRuYW1lKSwgJHByb3BlcnR5KTtcbn1cblxuLy8vXG4vLy8gR2V0IGEgcHJvcGVydHkgZm9yIGEgZ2l2ZW4gdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICBUaGUgdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eVxuLy8vICAgVGhlIHByb3BlcnR5IGtleVxuLy8vXG4vLy8gQHJldHVybnMgeyp9XG4vLy8gICBUaGUgcHJvcGVydHkncyB2YWx1ZSwgb3IgYG51bGxgIGlmIHVuZGVmaW5lZFxuLy8vXG5AZnVuY3Rpb24gdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgJHByb3BlcnR5KSB7XG5cdEBpZiB2aWV3cG9ydC1oYXMtcHJvcGVydHktZm9yKCRuYW1lLCAkcHJvcGVydHkpIHtcblx0XHRAcmV0dXJuIG1hcC1nZXQodmlld3BvcnQtZ2V0KCRuYW1lKSwgJHByb3BlcnR5KTtcblx0fVxuXG5cdEByZXR1cm4gbnVsbDtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGB3aWR0aGAgZm9yIGFsbCB2aWV3cG9ydHMgYmFzZWQgb24gdGhlIGBjb250ZW50YCBwcm9wZXJ0eVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lc3BhY2UgW2RlZmF1bHRdXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZXNwYWNlIHRvIG91dHB1dFxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY29udGVudCgkbmFtZXNwYWNlOiBkZWZhdWx0KSB7XG5cdEBlYWNoICRuYW1lIGluIHZpZXdwb3J0LWxpc3QoJG5hbWVzcGFjZSkge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNvbnRlbnQtZm9yKCRuYW1lKTtcblx0fVxufVxuXG4vLy9cbi8vLyBPdXRwdXQgYHdpZHRoYCBmb3IgYSBnaXZlbiB2aWV3cG9ydCBiYXNlZCBvbiB0aGUgYGNvbnRlbnRgIHByb3BlcnR5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgIFRoZSB2aWV3cG9ydCBuYW1lIC8gbWFwIGtleVxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY29udGVudC1mb3IoJG5hbWUpIHtcblx0JHdpZHRoOiB2aWV3cG9ydC1jb250ZW50LWZvcigkbmFtZSk7XG5cblx0QGlmICR3aWR0aCB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJG5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIGNlbnRlcigpO1xuXHRcdFx0d2lkdGg6ICR3aWR0aDtcblx0XHR9XG5cdH1cbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBjb250ZW50IHdpZHRoIG9mIGEgZ2l2ZW4gdmlld3BvcnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZVxuLy8vICAgVGhlIHZpZXdwb3J0IG5hbWUgLyBtYXAga2V5XG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuLy8vICAgVGhlIHZpZXdwb3J0J3MgY29udGVudCB3aWR0aC5cbi8vLyAgIEluIGBweGAgZm9yIG5vbi1mbGV4aWJsZSB2aWV3cG9ydHMuXG4vLy8gICBJbiBgJWAgZm9yIGZsZXhpYmxlIHZpZXdwb3J0cy5cbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWNvbnRlbnQtZm9yKCRuYW1lKSB7XG5cdCRjb250ZW50OiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCRuYW1lLCBjb250ZW50KTtcblxuXHRAaWYgJGNvbnRlbnQge1xuXHRcdCRtYXgtd2lkdGg6IHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoJG5hbWUsIG1heC13aWR0aCk7XG5cdFx0JG1pbi13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgbWluLXdpZHRoKTtcblxuXHRcdEBpZiAkbWF4LXdpZHRoIGFuZCAkbWluLXdpZHRoIGFuZCAkbWF4LXdpZHRoIDw9IHZpZXdwb3J0LWZsZXhpYmxlLW1heC13aWR0aCgpIHtcblx0XHRcdEByZXR1cm4gcGVyY2VudGFnZSgkY29udGVudCAvICRtaW4td2lkdGgpXG5cdFx0fVxuXG5cdFx0QHJldHVybiAkY29udGVudDtcblx0fVxuXG5cdEByZXR1cm4gbnVsbDtcbn1cblxuLy8vXG4vLy8gR2V0IHRoZSBgbWF4LXdpZHRoYCBvZiB0aGUgZmxleGlibGUgdmlld3BvcnQuXG4vLy9cbi8vLyBAc2VlICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbVxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn1cbi8vLyAgIFRoZSBgbWF4LXdpZHRoYCBvZiB0aGUgZmxleGlibGUgdmlld3BvcnQsXG4vLy8gICBvciBgMGAgd2hlbiBzZXQgdG8gYGZhbHNlYC5cbi8vL1xuQGZ1bmN0aW9uIHZpZXdwb3J0LWZsZXhpYmxlLW1heC13aWR0aCgpIHtcblx0QGlmICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSB7XG5cdFx0QHJldHVybiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSwgbWF4LXdpZHRoKTtcblx0fVxuXG5cdEByZXR1cm4gMDtcbn1cblxuLy8vXG4vLy8gT3V0cHV0IGBwYWRkaW5nYCBmb3IgYSBzcGVjaWZpYyB2aWV3cG9ydCBiYXNlZCBvbiB0aGUgYGNvbnRlbnRgIHByb3BlcnR5XG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVcbi8vLyAgVGhlIHZpZXdwb3J0IG5hbWVcbi8vL1xuQG1peGluIHZpZXdwb3J0LWNvbnRlbnQtcGFkZGluZy1mb3IoJG5hbWUpIHtcblxuXHQkbmV3LW5hbWU6IGZhbHNlO1xuXG5cdEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBsaXN0IHtcblx0XHRAZWFjaCAkbmFtZS1uIGluICRuYW1lIHtcblx0XHRcdEBpZiB2aWV3cG9ydC1leGlzdHMoJG5hbWUtbikgYW5kICRuZXctbmFtZSA9PSBmYWxzZSB7XG5cdFx0XHRcdCRuZXctbmFtZTogJG5hbWUtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaWYgJG5ldy1uYW1lICE9IGZhbHNlIHtcblx0XHQkbmFtZTogJG5ldy1uYW1lO1xuXHR9XG5cblxuXHQvLyBJZiBhdCBsZWFzdCBvbmUgZmFsbGJhY2sgdmlld3BvcnQgaGFzIGJlZW4gZm91bmRcblx0QGlmIHR5cGUtb2YoJG5hbWUpID09IHN0cmluZyB7XG5cblx0XHQkY29udGVudC13aWR0aDogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgY29udGVudCk7XG5cdFx0JHZpZXdwb3J0LW1pbjogdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkbmFtZSwgbWluLXdpZHRoKTtcblx0XHQkdmlld3BvcnQtbWF4OiB2aWV3cG9ydC1nZXQtcHJvcGVydHktZm9yKCRuYW1lLCBtYXgtd2lkdGgpO1xuXHRcdCRwYWRkaW5nOiAwO1xuXG5cdFx0QGlmICR2aWV3cG9ydHMtZmxleGlibGUtZnJvbSAhPSBmYWxzZSB7XG5cblx0XHRcdEBpZiAkY29udGVudC13aWR0aCBhbmQgJHZpZXdwb3J0LW1heCBhbmQgdmlld3BvcnQtZ2V0LXByb3BlcnR5LWZvcigkdmlld3BvcnRzLWZsZXhpYmxlLWZyb20sIG1heC13aWR0aCkgPj0gJHZpZXdwb3J0LW1heCB7XG5cdFx0XHRcdCRjb250ZW50LXdpZHRoOiAoJGNvbnRlbnQtd2lkdGgvJHZpZXdwb3J0LW1pbikqMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0JHBhZGRpbmc6ICgxMDAlIC0gJGNvbnRlbnQtd2lkdGgpIC8gMjtcblxuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuXHRcdFx0cGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG5cblx0XHR9XG5cdH1cblxufVxuXG4vLy9cbi8vLyBPdXRwdXRzIHByb3BlcnRpZXMgd2l0aCB2aWV3cG9ydC1zcGVjaWZpYyBjbGFzcyBuYW1lc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjbGFzc25hbWVcbi8vLyAgIFRoZSBjbGFzcyBuYW1lIGFwcGVuZGVkIHRvIGVhY2ggdmlld3BvcnQgbmFtZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lc3BhY2UgW2RlZmF1bHRdXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZXNwYWNlIHRvIG91dHB1dFxuLy8vXG5AbWl4aW4gdmlld3BvcnQtY2xhc3NlcygkY2xhc3NuYW1lLCAkbmFtZXNwYWNlOiBkZWZhdWx0KSB7XG5cdEBlYWNoICR2aWV3cG9ydCBpbiB2aWV3cG9ydC1saXN0KCRuYW1lc3BhY2UpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdCR2aWV3cG9ydDogc3RyLXJlcGxhY2UoJHZpZXdwb3J0LCAnOicsICctJyk7XG5cblx0XHRcdC4jeyR2aWV3cG9ydH0tI3skY2xhc3NuYW1lfSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy9cbi8vLyBDaGFuZ2UgdGhlIG9yZGVyIG9mIGRlZmluZWQgdmlld3BvcnRzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWVzLi4uXG4vLy8gICBUaGUgdmlld3BvcnQgbmFtZXMsIGluIHRoZSBuZXcgb3JkZXIuXG4vLy8gICBPbWl0dGVkIHZpZXdwb3J0cyB3aWxsIGNvbWUgbGFzdCwgbWFpbnRhaW5pbmcgdGhlIGN1cnJlbnQgb3JkZXIuXG4vLy9cbkBtaXhpbiB2aWV3cG9ydC1yZW9yZGVyKCRuYW1lcy4uLikge1xuXHQkLXZpZXdwb3J0czogbWFwLXNvcnQta2V5cygkLXZpZXdwb3J0cywgJG5hbWVzKSAhZ2xvYmFsO1xufVxuXG4vLy9cbi8vLyBUaGUgbGFyZ2VzdCB2aWV3cG9ydCB3aXRoIGZsZXhpYmxlIGNvbnRlbnQgd2lkdGguXG4vLy9cbi8vLyBSZXN1bHRzIGluIGEgY29udGVudCB3aWR0aCBzZXQgaW4gYCVgIGluc3RlYWQgb2YgYHB4YFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbiR2aWV3cG9ydHMtZmxleGlibGUtZnJvbTogc21hbGwgIWRlZmF1bHQ7XG5cbi8vXG4vLyBEZWZpbmUgZGVmYXVsdCB2aWV3cG9ydHNcbi8vXG5AaW5jbHVkZSB2aWV3cG9ydC1zZXQobGFyZ2UsIChcblx0bWluLXdpZHRoOiAxMDY5cHgsXG5cdG1heC13aWR0aDogMTQ0MXB4LFxuXHRjb250ZW50OiA5ODBweCxcblx0aWU4OiB0cnVlXG4pLCB0cnVlKTtcblxuQGluY2x1ZGUgdmlld3BvcnQtc2V0KHhsYXJnZSwgKFxuXHRtaW4td2lkdGg6IDE0NDJweCxcblx0Y29udGVudDogOTgwcHhcbiksIHRydWUpO1xuXG5AaW5jbHVkZSB2aWV3cG9ydC1zZXQobWVkaXVtLCAoXG5cdG1pbi13aWR0aDogNzM2cHgsXG5cdG1heC13aWR0aDogMTA2OHB4LFxuXHRjb250ZW50OiA2OTJweFxuKSwgdHJ1ZSk7XG5cbkBpbmNsdWRlIHZpZXdwb3J0LXNldChzbWFsbCwgKFxuXHRtaW4td2lkdGg6IDMyMHB4LFxuXHRtYXgtd2lkdGg6IDczNXB4LFxuXHRjb250ZW50OiAyODhweFxuKSwgdHJ1ZSk7XG5cbi8vL1xuLy8vIFRoZSBiYXNlLXdpZHRoIGZvciB2aWV3cG9ydHMuXG4vLy9cbi8vLyBJZiBhIHZpZXdwb3J0J3MgYG1pbi13aWR0aGAgbWF0Y2hlcyB0aGlzLCBubyBxdWVyeSBpcyB1c2VkIChlLmcuLCBsYXJnZSkuXG4vLy8gVGhpcyBhbHNvIGRldGVybWluZXMgd2hldGhlciB0byB1c2UgYG1pbi13aWR0aGAgb3IgYG1heC13aWR0aGAgZm9yIGVhY2ggdmlld3BvcnQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vL1xuJHZpZXdwb3J0LWJhc2Utd2lkdGg6IHZpZXdwb3J0LWdldC1wcm9wZXJ0eS1mb3IoZmlyc3Qodmlld3BvcnQtbGlzdCgpKSwgbWluLXdpZHRoKSAhZGVmYXVsdDtcblxuJGFjLXNhc3NraXQtdmVyc2lvbjogXCI0LjUuMVwiO1xuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1PRFVMRTogTG9jYWxuYXZcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jYWMtbG9jYWxuYXYge1xuXHQuYWMtbG4tdGl0bGUge1xuXHRcdGZpZ3VyZSB7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbigpO1xuXG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gobWFyZ2luLXRvcCwgKFxuXHRcdFx0XHRsYXJnZTogMTBweCxcblx0XHRcdFx0c21hbGw6IDJweFxuXHRcdFx0KSk7XG5cdFx0fVxuXHR9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9EVUxFOiBWZXJ0aWNhbCBEaXZpZGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnZlcnRpY2FsLWRpdmlkZXIge1xuXHRoMiB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeSgkaGVhZGxpbmUtMy1zdHlsZSk7XG5cdH1cblxuXHQua2V5bGluZSB7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgc3dhdGNoKGtleWxpbmUpO1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRcdGJvcmRlci1ib3R0b206ICRib3JkZXI7XG5cdFx0fVxuXHR9XG5cblx0LmNvbHVtbi1maXJzdCB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmcsIChcblx0XHRcdGxhcmdlOiAwIDUwcHggMCAwLFxuXHRcdFx0bWVkaXVtOiAwIDI1cHggMCAwLFxuXHRcdFx0c21hbGw6IDAgMCAyN3B4IDBcblx0XHQpKTtcblx0fVxuXG5cdC5jb2x1bW4tbGFzdCB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmcsIChcblx0XHRcdGxhcmdlOiAwIDAgMCA1MHB4LFxuXHRcdFx0bWVkaXVtOiAwIDAgMCAyNXB4LFxuXHRcdFx0c21hbGw6IDQ1cHggMCAwIDBcblx0XHQpKTtcblx0fVxufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvcm1zIGFuZCBlcnJvcnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uZXJyb3IsXG4uaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQmLnNob3cge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbnNlbGVjdDpkaXNhYmxlZCxcbi5lcnJvcnMge1xuXHRvcGFjaXR5OiAuNDtcblxuXHRzZWxlY3Q6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmZvcm0tZHJvcGRvd24ge1xuXHRtaW4taGVpZ2h0OiAzMXB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBCdXR0b25cbi5mb3JtLWJ1dHRvbiB7XG5cdG1hcmdpbi10b3A6IDM0cHg7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogLjI1O1xuXHR9XG59XG5cbi8vIENvbXBhY3Qgc2VsZWN0b3JzXG5cbi5mb3JtLXNlbGVjdG9yLXJvd3dpdGhndXR0ZXJzLmNvbXBhY3Qge1xuXHRtYXJnaW4tbGVmdDogLTJweDtcblx0bWFyZ2luLXJpZ2h0OiAtMnB4O1xuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRtYXJnaW4tdG9wOiAwO1xuXG5cdD4gLmNvbHVtbiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdFx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRcdG1hcmdpbi10b3A6IDRweDtcblx0fVxufVxuXG4uZm9ybS1jaG9pY2Utc2VsZWN0b3IuY29tcGFjdC50YWxsIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nLXRvcDogLjg1ZW07XG5cdHBhZGRpbmctYm90dG9tOiAuNWVtO1xufVxuXG4vLyBDYWxsb3V0c1xuLmNhbGxvdXQuZXJyb3Ige1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRmb250LXNpemU6IGVtKDE2cHgpO1xuXHRjb2xvcjogc3dhdGNoKHNtYWxsY3RhKTtcblx0YmFja2dyb3VuZDogc3dhdGNoKGJhY2tncm91bmRmb290ZXIpO1xuXHRvdXRsaW5lOiBub25lO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdGEge1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdH1cbn1cblxuLmNhbGxvdXQtZm9ybS1lcnJvciB7XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdCB9XG59XG5cbi8vIHdyYXAgZm9ybSBsYWJlbHMgdG8gcHJcbi5mb3JtLWxhYmVsLXdyYXBwZXIge1xuXHRoZWlnaHQ6IDI0cHg7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLy8gSUUgb3ZlcnJpZGVzXG4uaWUge1xuXHRzZWxlY3Qge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0cGFkZGluZzogMCAwIDAgMTZweDtcblx0fVxuXG5cdC5mb3JtLWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQGluY2x1ZGUgaWU4IHtcblx0c2VsZWN0IHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZzogMCAwIDAgNHB4O1xuXHR9XG5cblx0LmZvcm0taWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5pcy1lcnJvciB+IC5mb3JtLW1lc3NhZ2Utd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuLmZvcm0tc2lkZWJ5c2lkZS10ZXh0Ym94ZXMgLmNvbHVtbiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcblxuXHQrIC5jb2x1bW4ge1xuXHRcdHBhZGRpbmctbGVmdDogOHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHRzZWxlY3Qge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cblxuLmZhbHNlLXBsYWNlaG9sZGVyIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogJGZvcm0tdGV4dGJveC1wbGFjZWhvbGRlci1jb2xvcjtcblx0dG9wOiA2cHg7XG5cdGxlZnQ6IDE2cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHotaW5kZXg6IDI7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5pbnZpc2libGUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQuZW5kLWZvcm1hdHRpbmcge1xuXHRcdGNvbG9yOiBzd2F0Y2goY29weSk7XG5cdH1cbn1cblxuLmZvcm0tdGV4dGJveCB7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5mb3JtLXRleHRib3gtY291bnRyeWNvZGUge1xuXHRwYWRkaW5nLWxlZnQ6IC43NWVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAuNzVlbTtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0RVTEU6IHNlY3Rpb24gcHJvZHVjdFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5zZWN0aW9uLXByb2R1Y3Qge1xuXHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy1sZWZ0LCAoXG5cdFx0bGFyZ2U6IDIwcHgsXG5cdFx0c21hbGw6IDBcblx0KSk7XG5cblx0bWluLWhlaWdodDogMDtcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cblx0XHQmLnByb2R1Y3QtdG9wIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmltYWdlLXByb2R1Y3QtbG9ja3VwIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gobWFyZ2luLXRvcCwgKFxuXHRcdFx0bGFyZ2U6IDZweCxcblx0XHRcdG1lZGl1bTogNHB4LFxuXHRcdFx0c21hbGw6IDBcblx0XHQpKTtcblxuXHRcdEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC13aWR0aChfcHJvZHVjdF9sb2NrdXApO1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKGhlaWdodCwgKFxuXHRcdFx0bGFyZ2U6IDM1MHB4LFxuXHRcdFx0bWVkaXVtOiAyNTBweCxcblx0XHRcdHNtYWxsOiAyMTBweFxuXHRcdCkpO1xuXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG5cdFx0fVxuXHR9XG5cblx0JjpsYXN0LWNoaWxkLFxuXHQmOmxhc3QtY2hpbGQgLnByb2R1Y3QsXG5cdCYucHJvZHVjdC10b3Age1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQucHJvZHVjdCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0fVxufVxuXG4ucHJvZHVjdC1zcGVjcyB7XG5cdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLCAoXG5cdFx0bGFyZ2U6IDI2cHggMzBweCxcblx0XHRtZWRpdW06IDI4cHggMzBweCxcblx0XHRzbWFsbDogMjhweCAwXG5cdCkpO1xuXG5cdGJhY2tncm91bmQ6IHN3YXRjaChiYWNrZ3JvdW5kKTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Ym9yZGVyOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xuXG5cdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdD4gKiB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY29udGVudC1mb3Ioc21hbGwpO1xuXHR9XG5cblx0LnByb2R1Y3QtcGxhbiB7XG5cdFx0bWFyZ2luLXRvcDogMjVweDtcblxuXHRcdGg0IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA3cHg7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoc21hbGxibG9jay1jb3B5KVxuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0LXRpdGxlIHtcblx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHByb2R1Y3QtdGl0bGUpO1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLWJvdHRvbSwgKFxuXHRcdFx0bGFyZ2U6IDZweCxcblx0XHRcdG1lZGl1bTogOHB4XG5cdFx0KSk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogJGJvcmRlcjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQucHJvZHVjdC1xdWFudGl0eSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblx0dWwge1xuXHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoc21hbGxibG9jay1jb3B5KTtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMCBhdXRvIDE2cHg7XG5cdH1cblxuXHQucHJpY2Uge1xuXHRcdEBpbmNsdWRlIHNlbGZjbGVhcigpO1xuXG5cdFx0bWFyZ2luLXRvcDogMjlweDtcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGJvcmRlci10b3A6ICRib3JkZXI7XG5cblx0XHRzcGFuIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0fiBzcGFuIHtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9vdG5vdGUge1xuXHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoc29zdW1pKTtcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0fVxuXG5cdC5wbGFuLWhlYWRlciB7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShjYXB0aW9uLWhlYWRsaW5lKTtcblx0XHRjb2xvcjogc3dhdGNoKGNhcHRpb24pO1xuXHR9XG59XG5cblxuLnByb2R1Y3QtZmFtaWx5IHtcblxuXHQucHJvZHVjdC10b3AgJiB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5wcm9kdWN0LWZhbWlseS1pbWFnZSB7XG5cdEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC1zaXplKF9jaGVja19hdmFpbF9mYW1pbHkpO1xuXHRtYXJnaW46IDAgYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5wcm9kdWN0LXNlbGVjdG9yLXdyYXBwZXIge1xuXHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gobWFyZ2luLXRvcCwgKFxuXHRcdGxhcmdlOiAzNnB4LFxuXHRcdHNtYWxsOiAxNnB4LFxuXHRcdGZvcm0tY29tcGFjdDogMzBweFxuXHQpKTtcbn1cblxuLnByb2R1Y3Qtc2VsZWN0b3Itc2VjdGlvbiB7XG5cblx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHQubGFiZWwtdGFsbCB7XG5cdFx0XHRoZWlnaHQ6IDEwOHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuY2FwYWNpdHktc2VsZWN0b3IsXG5cdCYuY29sb3Itc2VsZWN0b3Ige1xuXHRcdG1hcmdpbi10b3A6IC02cHg7XG5cblx0XHQuZm9ybS1zZWxlY3Rvci1zaW5nbGVjb2x1bW4ge1xuXHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLXNlbGVjdG9yLXJvd3dpdGhndXR0ZXJzIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtY29udGFpbmVyKCk7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTNweDtcblx0XHRcdG1hcmdpbi1yaWdodDogLTNweDtcblxuXHRcdFx0JiA+IC5jb2x1bW4ge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDNweDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogM3B4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mb3JtLWxhYmVsIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtY29udGFpbmVyKGNvbHVtbik7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3IgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1jb250YWluZXIoKTtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRwYWRkaW5nOiAxcHggMnB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWNob2ljZS1zZWxlY3RvcjpjaGVja2VkIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIHtcblx0XHRcdHBhZGRpbmc6IDAgMXB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRtaW4td2lkdGg6IDgwcHg7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHQuZm9ybS1zZWxlY3Rvci1zaW5nbGVjb2x1bW4ge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1pdGVtKCk7XG5cdFx0XHRhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXB4O1xuXG5cdFx0XHQuc2FmYXJpICY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTFweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmNhcGFjaXR5LXNlbGVjdG9yIHtcblx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3IgfiAuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuXHRcdFx0bWluLWhlaWdodDogNTFweDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0cGFkZGluZzogMXB4IDJweDtcblx0XHR9XG5cblx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3I6Y2hlY2tlZCB+IC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAwIDFweDtcblx0XHR9XG5cblx0XHQuZm9ybS1zZWxlY3RvciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxM3B4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWxhYmVsIHtcblx0XHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoc21hbGxibG9jay1jb3B5KTtcblx0XHRcdHBhZGRpbmctdG9wOiA0cHg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5jYXBhY2l0eS1wcmljZSB7XG5cdFx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHNvc3VtaSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0cGFkZGluZy10b3A6IDFweDtcblx0XHR9XG5cblx0XHQmLmFueS11bmF2YWlsYWJsZSB7XG5cdFx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiA2MXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuZm9ybS1sYWJlbCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA5cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53aXRob3V0LXByaWNlIHtcblx0XHRcdC5mb3JtLWxhYmVsIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDE3cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hbnktdW5hdmFpbGFibGUud2l0aG91dC1wcmljZSB7XG5cdFx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiA1MXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuY29sb3Itc2VsZWN0b3Ige1xuXHRcdCRzd2F0Y2gtYm90dG9tLW1hcmdpbjogMTJweDtcblxuXHRcdC5mb3JtLWNob2ljZS1zZWxlY3Rvci1sYWJlbCB7XG5cdFx0XHRtaW4taGVpZ2h0OiAxNjdweDtcblx0XHR9XG5cblx0XHQuZm9ybS1zZWxlY3Rvci1zaW5nbGVjb2x1bW4ge1xuXHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWxhYmVsIHtcblx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZShfc3dhdGNoKTtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdG1hcmdpbi10b3A6IDI1cHg7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcblxuXHRcdFx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KCR2aWV3cG9ydCkge1xuXHRcdFx0XHRcdEBpZiBpbWFnZS1leGlzdHMtZm9yKF9zd2F0Y2gsICR2aWV3cG9ydCkge1xuXHRcdFx0XHRcdFx0JHdpZHRoOiBpbWFnZS13aWR0aC1mb3IoX3N3YXRjaCwgJHZpZXdwb3J0KTtcblx0XHRcdFx0XHRcdCRoZWlnaHQ6IGltYWdlLWhlaWdodC1mb3IoX3N3YXRjaCwgJHZpZXdwb3J0KSArICRzd2F0Y2gtYm90dG9tLW1hcmdpbjtcblxuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAkd2lkdGg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJGhlaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHRAaW5jbHVkZSBsb2NhbGUoJ2RlLUNIJywgJ2RlLURFJykge1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnN3YXRjaC1pbWFnZSB7XG5cdFx0QGluY2x1ZGUgcGljdHVyZS1iYWNrZ3JvdW5kLXdpZHRoKF9zd2F0Y2gpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXG5cdC5vdXQtb2Ytc3RvY2ssXG5cdC5saW1pdGVkLWNhcGFjaXR5IHtcblx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHNvc3VtaSk7XG5cdFx0bGluZS1oZWlnaHQ6IGVtKDE0cHgsIDEycHgpO1xuXHR9XG5cblx0LmxpbWl0ZWQtY2FwYWNpdHkge1xuXHRcdGNvbG9yOiBzd2F0Y2goY29weSk7XG5cdH1cblxuXHQub3V0LW9mLXN0b2NrIHtcblx0XHRjb2xvcjogc3dhdGNoKG9yYW5nZSk7XG5cdFx0bWFyZ2luOiAxcHggMCAtNHB4O1xuXHR9XG5cblx0LnVuYXZhaWxhYmxlIHtcblxuXHRcdC5zd2F0Y2gtaW1hZ2Uge1xuXHRcdFx0b3BhY2l0eTogJG9wYWNpdHktdW5hdmFpbGFibGU7XG5cdFx0fVxuXG5cdFx0aW5wdXQ6ZGlzYWJsZWQge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQuZm9ybS1jaG9pY2Utc2VsZWN0b3ItbGFiZWwge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBzd2F0Y2gocGFnZSk7XG5cdFx0fVxuXG5cdFx0LmZvcm0tbGFiZWwsXG5cdFx0LmZvcm0tY2hvaWNlOmhvdmVyIH4gLmZvcm0tY2hvaWNlLXNlbGVjdG9yLWxhYmVsIC5mb3JtLWxhYmVsIHtcblx0XHRcdGNvbG9yOiBzd2F0Y2goc21hbGwpO1xuXHRcdH1cblxuXHRcdC5mb3JtLWNob2ljZSB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG59XG4iLCJcbkBtaXhpbiBwaWN0dXJlLWJhY2tncm91bmQtc2l6ZSgkaW1hZ2UpIHtcblx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoJHZpZXdwb3J0KSB7XG5cdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUtZm9yKCRpbWFnZSwgJHZpZXdwb3J0KTtcblx0XHRcdEBpbmNsdWRlIHBpY3R1cmUtc2l6ZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gcGljdHVyZS1iYWNrZ3JvdW5kLXdpZHRoKCRpbWFnZSkge1xuXHRAZWFjaCAkdmlld3BvcnQgaW4gdmlld3BvcnQtbGlzdCgpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdEBpbmNsdWRlIHBpY3R1cmUtc2l6ZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXG5cdFx0XHRAaWYgaW1hZ2UtZXhpc3RzLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkge1xuXHRcdFx0XHQkd2lkdGg6IGltYWdlLXdpZHRoLWZvcigkaW1hZ2UsICR2aWV3cG9ydCk7XG5cdFx0XHRcdCRoZWlnaHQ6IGF1dG87XG5cblx0XHRcdFx0QGlmIG5vdCAkd2lkdGgge1xuXHRcdFx0XHRcdCR3aWR0aDogYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBwaWN0dXJlLWJhY2tncm91bmQtaGVpZ2h0KCRpbWFnZSkge1xuXHRAZWFjaCAkdmlld3BvcnQgaW4gdmlld3BvcnQtbGlzdCgpIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdEBpbmNsdWRlIHBpY3R1cmUtc2l6ZS1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXG5cdFx0XHRAaWYgaW1hZ2UtZXhpc3RzLWZvcigkaW1hZ2UsICR2aWV3cG9ydCkge1xuXHRcdFx0XHQkd2lkdGg6IGF1dG87XG5cdFx0XHRcdCRoZWlnaHQ6IGltYWdlLWhlaWdodC1mb3IoJGltYWdlLCAkdmlld3BvcnQpO1xuXG5cdFx0XHRcdEBpZiBub3QgJGhlaWdodCB7XG5cdFx0XHRcdFx0JGhlaWdodDogYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogYXV0byAkaGVpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gQ29udGFpbmVyXG4vLyBEZWZhdWx0OiBEaXNwbGF5cyBhcyBhIHJvd1xuQG1peGluIGZsZXgtY29udGFpbmVyKCRmbGV4LWRpcmVjdGlvbjpyb3cpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246ICRmbGV4LWRpcmVjdGlvbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC8vaGVpZ2h0OiAxMDAlO1xuICB9XG5cbi8vIFNldHRpbmdzIGZvciBhbiBpdGVtIHdpdGhpbiBhIGZsZXggY29udGFpbmVyXG4vLyBEZWZhdWx0OiBJdGVtIGhhcyBhIGZpeGVkIHNpemVcbkBtaXhpbiBmbGV4LWl0ZW0oJGZsZXhpYmlsaXR5OjApIHtcbiAgQGlmICRmbGV4aWJpbGl0eSA9PSAnZmxleGlibGUnIHtcbiAgICAkZmxleGliaWxpdHk6IDE7XG4gIH1cbiAgb3JkZXI6IDA7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGZsZXg6ICRmbGV4aWJpbGl0eSBhdXRvO1xufVxuIiwiLnRvZ2dsZS1zZWN0aW9uIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Zm9udC1zaXplOiBlbSgxNnB4KTtcblxuXHQudG9nZ2xlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogNjBweDtcblx0XHRtYXJnaW46IDA7XG5cdFx0YmFja2dyb3VuZDogaW5oZXJpdDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0Ym9yZGVyLXRvcDogJGJvcmRlcjtcblxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiA2cHggNDBweCA1cHggMDtcblx0XHRcdGNvbG9yOiBzd2F0Y2goYmx1ZSk7XG5cblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogc3dhdGNoKGJsdWUpO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXG5cdFx0Ji5vcGVuOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICdcXDAwRDcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDE2cHg7XG5cdFx0XHR0b3A6IDUwJTtcblxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZmFxIGVhc2Utb3V0O1xuXHRcdFx0Ly8gRm9yY2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIG9uIHRoZSB0cmFuc2Zvcm0gdG8gcHJldmVudCB3aWdnbGVcblx0XHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDEwMDtcblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHVsIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy1yaWdodCwgKFxuXHRcdFx0bGFyZ2U6IDQwcHgsXG5cdFx0XHRzbWFsbDogMFxuXHRcdCkpO1xuXG5cdFx0QGluY2x1ZGUgY2VudGVyO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQQUdFOiBDaGVjayBBdmFpbGFiaWxpdHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucGFnZS1jaGVjay1hdmFpbGFiaWxpdHkge1xuXG5cdC51bmF2YWlsYWJsZS1tZXNzYWdlIHtcblx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHNvc3VtaSk7XG5cdFx0bWFyZ2luLXRvcDogMTZweDtcblx0fVxuXG5cdC5zdWNjZXNzIHtcblx0XHRjb2xvcjogJGNvbmZpcm0tZ3JlZW47XG5cblx0XHQuc3VjY2Vzcy1pY29uIHtcblx0XHRcdGZvbnQtc2l6ZTogZW0oMjRweCk7XG5cdFx0XHRmb250LXdlaWdodDogMjAwO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN1Y2Nlc3MtY29weSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy1sZWZ0LCAoXG5cdFx0XHRcdG1lZGl1bTogMTBweCxcblx0XHRcdFx0c21hbGw6IDBcblx0XHRcdCkpO1xuXG5cdFx0XHRtYXJnaW4tdG9wOiAycHg7XG5cdFx0XHRmb250LXNpemU6IGVtKDE2cHgpO1xuXHRcdH1cblxuXHR9XG5cblx0LmZvcm0tZWxlbWVudHMtd3JhcHBlciB7XG5cdFx0d2lkdGg6IDI3MHB4O1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdC5hdmFpbGFiaWxpdHktYXZhaWxhYmxlIHtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cblxuXHQuc2VjdGlvbi1wcm9kdWN0LmhpZGRlbiArICogLmF2YWlsYWJpbGl0eS1hdmFpbGFibGUge1xuXHRcdG1hcmdpbi10b3A6IDI2cHg7XG5cdH1cblxuXHQvLyBtYWludGFpbnMgY29ycmVjdCBjb2x1bW4gb3JkZXIgb24gbGFyZ2UgZm9yIHdoZW4gdXNpbmcgdG9wIHByb2R1Y3Qgc2VjdGlvbiBzaW5jZSBpdCdzIHRoZSBmaXJzdCBkb20gZWxlbWVudFxuXHQucHJvZHVjdC10b3Age1xuXHRcdEBleHRlbmQgLmxhcmdlLXB1c2gtNjtcblxuXHRcdCYgKyAuY29sdW1uIHtcblx0XHRcdEBleHRlbmQgLmxhcmdlLXB1bGwtNjtcblx0XHR9XG5cblx0XHQmLnNtYWxsLXB1c2gtMCB7XG5cdFx0XHRAZXh0ZW5kIC5zbWFsbC1wdXNoLTA7XG5cblx0XHRcdCYgKyAuc21hbGwtcHVsbC0wIHtcblx0XHRcdFx0QGV4dGVuZCAuc21hbGwtcHVsbC0wO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIHJlc2V0IHRoZSBvcmRlciB3aGVuIHRvcCBwcm9kdWN0IHNlY3Rpb24gaXMgaGlkZGVuXG5cdFx0Ji5oaWRkZW4ge1xuXHRcdFx0QGV4dGVuZCAubGFyZ2UtcHVzaC0wO1xuXG5cdFx0XHQmICsgLmNvbHVtbiB7XG5cdFx0XHRcdEBleHRlbmQgLmxhcmdlLXB1bGwtMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQQUdFOiBSZXNlcnZhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRjb3B5LXBhZGRpbmctc21hbGw6IDMycHg7XG5cbi5wYWdlLXJlc2VydmF0aW9uIHtcblx0Ly8gQGV4dGVuZCAlcGFnZS1zZWN0aW9ucztcblxuXHQuc2VjdGlvbi1oZXJvIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0fVxuXG5cdFx0LnNlY3Rpb24tY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbi1jb3B5IHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy1yaWdodCwgKFxuXHRcdFx0bGFyZ2U6IDEwMHB4LFxuXHRcdFx0bWVkaXVtOiAyMHB4LFxuXHRcdFx0c21hbGw6IDBcblx0XHQpKTtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0fVxuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShzdWJzZWN0aW9uLXN1YmhlYWRsaW5lKTtcblx0XHRcdG91dGxpbmU6IDA7XG5cdFx0fVxuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQobWVkaXVtKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdH1cblxuXHRcdFx0Ji5pbmxpbmUge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LndpdGgtZHJvcGRvd25zICsgLmNvcHkge1xuXHRcdHBhZGRpbmctdG9wOiAzMnB4O1xuXHR9XG5cblx0LmNvcHkge1xuXHRcdHBhZGRpbmctdG9wOiA0M3B4O1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdHBhZGRpbmc6ICRjb3B5LXBhZGRpbmctc21hbGwgMDtcblx0XHRcdGJvcmRlci10b3A6ICRib3JkZXI7XG5cdFx0fVxuXG5cdFx0Ji5zZWxlY3RlZC1zdG9yZSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy10b3AsIChcblx0XHRcdFx0bGFyZ2U6IDAsXG5cdFx0XHRcdHNtYWxsOiAkY29weS1wYWRkaW5nLXNtYWxsXG5cdFx0XHQpKTtcblx0XHR9XG5cblx0XHQmLmNvbnRhY3QtaW5mbyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmdvdi1pZCB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZy10b3AsIChcblx0XHRcdFx0bGFyZ2U6IDUwLFxuXHRcdFx0XHRzbWFsbDogJGNvcHktcGFkZGluZy1zbWFsbFxuXHRcdFx0KSk7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTRweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnZlcmlmeS1pbmZvIHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYucGlja3VwLXRpbWUge1xuXHRcdFx0LmNvcHkge1xuXHRcdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6ICRjb3B5LXBhZGRpbmctc21hbGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2VsZWN0ZWQtc3RvcmUge1xuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogN3B4O1xuXHRcdH1cblxuXHRcdCYubG9hZGVyIHtcblx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdH1cblxuXHRcdCYuc2luZ2xlLXN0b3JlIGJ1dHRvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5waWNrdXAtdGltZSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZweDtcblxuXHRcdC5jb3B5IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJGNvcHktcGFkZGluZy1zbWFsbDtcblx0XHR9XG5cdH1cblxuXHQucmVzZXJ2YXRpb24ge1xuXHRcdC51bmxvY2tlZC1jYXJyaWVyXHQmIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5jYWxsb3V0LmVycm9yIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2god2lkdGgsIChcblx0XHRcdGxhcmdlOiAzMzRweCxcblx0XHRcdG1lZGl1bTogODAlLFxuXHRcdFx0c21hbGw6IDEwMCVcblx0XHQpKTtcblx0XHRtYXJnaW46IDAgMCAyNnB4O1xuXG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmxvY2tlZCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQudW5sb2NrZWQtY2FycmllciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCYuc2hvdyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQuc2VsZWN0LXBsYW4sXG5cdC5zZWxlY3Qtc3RvcmUsXG5cdC5zZWxlY3QtcXVhbnRpdHksXG5cdC5zZWxlY3Qtc3RhdGUge1xuXHRcdHdpZHRoOiAyNDZweDtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQuc2VsZWN0LXBsYW4ge1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdH1cblxuXHQudmVyaWZ5LWluZm8sXG5cdC5nb3YtaWQtaW5mbyB7XG5cdFx0LmZvcm0tbGFiZWwge1xuXHRcdFx0d2lkdGg6IDEyOXB4O1xuXG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZ292LWlkLWluZm8gLmZvcm0tY2VsbCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0I3BsYW5fZXJyb3IsXG5cdCN0aW1lX2Vycm9yIHtcblx0XHR3aWR0aDogMjQ2cHg7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Lmxhc3QuaXMtZXJyb3Ige1xuXHRcdG1hcmdpbi1ib3R0b206IDJweDtcblx0fVxuXG5cdC5jYW5jZWwtY29udGludWUge1xuXHRcdG1hcmdpbi10b3A6IDI1cHg7XG5cdFx0Zm9udC1zaXplOiBlbSgxNXB4KTtcblxuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLXByb2R1Y3Qge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0XHRib3JkZXItdG9wOiAkYm9yZGVyO1xuXHRcdH1cblx0fVxuXG5cdGJ1dHRvbi5tb3JlIHtcblx0XHRAZXh0ZW5kIGE7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogc3dhdGNoKGJsdWUpO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbi1yZXNlcnZlIHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb24tcmVzZXJ2ZSAuc2VjdGlvbi1jb250ZW50IHtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG5cblx0LmZvcm0tdGFibGUgLmZvcm0tcm93Om50aC1sYXN0LW9mLXR5cGUoMikge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQQUdFOiBDb25maXJtYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiVoZWFkbGluZS1jb21wYWN0IHtcblx0QGluY2x1ZGUgdHlwb2dyYXBoeShib2R5LWNvcHkpO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4lY29weS1saWdodCB7XG5cdGNvbG9yOiBzd2F0Y2goZ3JhcGhncmF5KTtcbn1cblxuLnBhZ2UtY29uZmlybWF0aW9uIHtcblxuXHQuc2VjdGlvbi1oZXJvIC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdGJvcmRlci1ib3R0b206ICRib3JkZXI7XG5cdH1cblxuXHQuc2VjdGlvbi1jb250ZW50IHtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgdHlwb2dyYXBoeSh0YWJsZS1sYWJlbCk7XG5cblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb24tY29weSB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmctcmlnaHQsIChcblx0XHRcdGxhcmdlOiAgMTAwcHgsXG5cdFx0XHRtZWRpdW06IDQwcHgsXG5cdFx0XHRzbWFsbDogIDBcblx0XHQpKTtcblxuXHRcdC5zdG9yZS1uYW1lIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHR9XG5cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdH1cblxuXHRcdC5jYWxlbmRhcixcblx0XHQuc3RvcmUtZGV0YWlscyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNnB4O1xuXHRcdH1cblxuXHRcdC5yZXNlcnZhdGlvbi1xcmNvZGUge1xuXHRcdCAgQGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHdpZHRoLCAoXG5cdFx0XHQgIGxhcmdlOiA2MCUsXG5cdFx0XHQgIG1lZGl1bTogNzAlLFxuXHRcdFx0ICBzbWFsbDogMTAwJVxuXHRcdCAgKSk7XG5cblx0XHQgIHdpZHRoOiA2MCU7XG5cdFx0ICBtYXJnaW4tdG9wOiAzLjY2ZW07XG5cblx0XHQgIHAge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxZW07XG5cdFx0ICB9XG5cdFx0fVxuXG5cdFx0LnFyY29kZSB7XG5cdFx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQgIEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHQgIH1cblx0XHR9XG5cblx0XHQucXJjb2RlLWltYWdlIHtcblx0XHQgIEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC1zaXplKF9xcmNvZGUpO1xuXHRcdH1cblxuXHRcdC5zdG9yZS1sb2NhdGlvbixcblx0XHQuc3RvcmUtbmVlZHMge1xuXG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyM3B4O1xuXHRcdFx0XHRwYWRkaW5nOiAyN3B4IDAgMDtcblx0XHRcdFx0Ym9yZGVyLXRvcDogJGJvcmRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3RvcmUtcGlja3VwIHtcblx0XHRcdHVsIHtcblx0XHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN0b3JlLW5lZWRzIHtcblx0XHRcdGgzIHtcblx0XHRcdFx0QGV4dGVuZCAlaGVhZGxpbmUtY29tcGFjdDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zdG9yZS1uZWVkcyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzLjY2ZW07XG5cblx0XHRcdGgyIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdGNvbG9yOiBzd2F0Y2goZ3JhcGhncmF5KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdFx0cGFkZGluZzogMzJweCAwIDQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zdG9yZS1sb2NhdGlvbiB7XG5cblx0XHRcdHBhZGRpbmc6IDMuNjZlbSAwIDA7XG5cblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyNHB4O1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdC5zdG9yZS1uYW1lIHtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDA7XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbi1waWNrdXAge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbi1wcm9kdWN0IHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0XHRib3JkZXItdG9wOiAkYm9yZGVyO1xuXG5cdFx0XHQmLnNtYWxsLW1hcmdpbnRvcCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb24td2FsbGV0IHtcblx0XHRoMyB7XG5cdFx0XHRAZXh0ZW5kICVoZWFkbGluZS1jb21wYWN0O1xuXHRcdH1cblxuXHRcdGhyIHtcblx0XHRcdEBpbmNsdWRlIGtleWxpbmU7XG5cdFx0XHRtYXJnaW46IDEuNmVtIDA7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbi53YWxsZXQtYWRkIHtcblx0XHRcdEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC1zaXplKF9hcHBsZV93YWxsZXQpO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5pbWFnZS1wcm9kdWN0LWxvY2t1cCB7XG5cdFx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdFx0QGluY2x1ZGUgcGljdHVyZS1zaXplLWZvcihfcHJvZHVjdF9sb2NrdXBfY29uZmlybWF0aW9uLCAkdmlld3BvcnQpO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cblx0XHRAaW5jbHVkZSB2aWV3cG9ydChzbWFsbCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3Qtc3BlY3Mge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0KHNtYWxsKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBzd2F0Y2gocGFnZSk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLWZhcXMge1xuXHRcdGJhY2tncm91bmQ6IHN3YXRjaChiYWNrZ3JvdW5kKTtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xuXHRcdH1cblxuXHRcdGgyIHtcblx0XHRcdEBpbmNsdWRlIHR5cG9ncmFwaHkoc3Vic2VjdGlvbi1zdWJoZWFkbGluZSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzOXB4O1xuXHRcdH1cblxuXHRcdGgzIHtcblx0XHRcdGZvbnQtc2l6ZTogZW0oMTZweCk7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IGVtKDE2cHgpO1xuXHRcdH1cblx0fVxuXG59XG5cblxuaHRtbC5pZSAucGFnZS1jb25maXJtYXRpb24gLnRvZ2dsZS1zZWN0aW9uIGJ1dHRvbi50b2dnbGV7XG5cdGJhY2tncm91bmQ6IHN3YXRjaChiYWNrZ3JvdW5kKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQQUdFOiBTTVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucGFnZS1zbXMge1xuXHQvLyBAZXh0ZW5kICVwYWdlLXNlY3Rpb25zO1xuXG5cdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHRoMiB7XG5cdFx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHN1YnNlY3Rpb24tc3ViaGVhZGxpbmUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogJGJvcmRlcjtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdH1cblxuXHRcdC5jYWxsb3V0LmVycm9yIHtcblx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdFx0fVxuXHR9XG5cblxuXHQuc3RlcHMge1xuXHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChtYXJnaW4tdG9wLCAoXG5cdFx0XHRsYXJnZTogMzJweCxcblx0XHRcdG1lZGl1bTogMzhweCxcblx0XHRcdHNtYWxsOiAzOHB4XG5cdFx0KSk7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoc3RlcHMtdGl0bGUsIChcblx0XHRcdGxhcmdlOiAoNDAsIDQ4LCAyMDApXG5cdFx0KSk7XG5cdFx0QGluY2x1ZGUgdHlwb2dyYXBoeS1zZXQoc3RlcHMtY29weSwgKFxuXHRcdFx0bGFyZ2U6ICgzMiwgNDgsIDQwMClcblx0XHQpKTtcblx0XHRAaW5jbHVkZSB0eXBvZ3JhcGh5KHN0ZXBzLWNvcHkpO1xuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgdHlwb2dyYXBoeShzdGVwcy10aXRsZSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuNDVlbTtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHR1bCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cdFx0bGksXG5cdFx0cCB7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cblx0XHQuc3RlcCB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZywgKFxuXHRcdFx0XHRsYXJnZTogMzZweCAwIDIwcHgsXG5cdFx0XHRcdG1lZGl1bTogMzZweCAwIDE2cHgsXG5cdFx0XHRcdHNtYWxsOiAzNnB4IDBcblx0XHRcdCkpO1xuXHRcdH1cblxuXHRcdC5zdGVwLTEge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuXHRcdH1cblxuXHRcdC5zdGVwLTIge1xuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHBhZGRpbmctcmlnaHQsIChcblx0XHRcdFx0bGFyZ2U6IDI1cHgsXG5cdFx0XHRcdG1lZGl1bTogMjE4cHgsXG5cdFx0XHRcdHNtYWxsOiAwXG5cdFx0XHQpKTtcblx0XHR9XG5cblx0XHQucGhvbmUtdHlwZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiAxMjhweDtcblx0XHRcdGNvbG9yOiBzd2F0Y2goZ3JhcGhncmF5KTtcblx0XHR9XG5cblx0XHQucmVnLWNvcHkge1xuXHRcdFx0QGluY2x1ZGUgdmlld3BvcnQtY3NzLXByb3BlcnR5LWZvci1lYWNoKHdpZHRoLCAoXG5cdFx0XHRcdG1lZGl1bTogNTQwcHgsXG5cdFx0XHRcdHNtYWxsOiAxMDAlXG5cdFx0XHQpKTtcblx0XHR9XG5cblx0XHQuc2luZ2xlLWNvdW50cnktY29kZSAucGhvbmUtbnVtYmVyIHtcblx0XHRcdHdpZHRoOiA4MyU7XG5cdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdC5mb3JtLWNlbGwuZm9ybS1sYWJlbCB7XG5cdFx0XHR3aWR0aDogMTc4cHg7XG5cblx0XHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmZvcm0tbWVzc2FnZS13cmFwcGVyIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMnB4O1xuXG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I3JlZ2lzdHJhdGlvbmNvZGVFcnJvcixcblx0LmNhbGxvdXQuc2hvdyB7XG5cdFx0QGluY2x1ZGUgc2hvdygpO1xuXHR9XG5cblx0LmZvcm0tbWVzc2FnZS1yZWdpc3RyYXRpb24ge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRjb2xvcjogJGZvcm0tZXJyb3ItYm9yZGVyLWNvbG9yO1xuXHR9XG5cblx0LmlzLXJldHVybmluZy1zb3N1bWkge1xuXHRcdEBpbmNsdWRlIGhpZGUoKTtcblx0fVxuXG5cdCYuaXMtcmV0dXJuaW5nIHtcblxuXHRcdC5zZWN0aW9uLWhlcm8ge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0LnNlY3Rpb24tY29udGVudCB7XG5cblx0XHRcdGgxIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cblx0XHRcdC5zdGVwcyB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cblx0XHRcdFx0LnN0ZXAtMSxcblx0XHRcdFx0LnN0ZXAtMiBoMiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5maXJzdC10aW1lIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmlzLXJldHVybmluZy1zb3N1bWkge1xuXHRcdFx0QGluY2x1ZGUgc2hvdygpO1xuXHRcdH1cblxuXHR9XG5cblx0LnNwZWNpYWxpc3Qta2V5bGluZSB7XG5cdFx0Ym9yZGVyOiBzb2xpZCBzd2F0Y2goa2V5bGluZSk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAwO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiAzMDFweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGVmdDogNnB4O1xuXG5cdFx0LmlzLXJldHVybmluZyAmIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5pbWFnZS1zbXMtaGVybyB7XG5cdEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC1zaXplKF9zcGVjaWFsaXN0X1VTKTtcblxuXHRAaW5jbHVkZSBsb2NhbGUoJ3poLUNOJywgJ3poLUhLJywgJ2VuLUhLJywgJ3poLU1PJywgJ2VuLUFFJykge1xuXHRcdEBpbmNsdWRlIHBpY3R1cmUtYmFja2dyb3VuZC1zaXplKF9zcGVjaWFsaXN0X0NOKTtcblx0fVxuXG5cdEBpbmNsdWRlIGxvY2FsZSgnamEtSlAnKSB7XG5cdFx0QGluY2x1ZGUgcGljdHVyZS1iYWNrZ3JvdW5kLXNpemUoX3NwZWNpYWxpc3RfSlApO1xuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUEFHRTogVW5hdmFpbGFibGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5odG1sIHtcblx0YmFja2dyb3VuZC1jb2xvcjogc3dhdGNoKGJhY2tncm91bmRmb290ZXIpO1xufVxuXG4ucGFnZS11bmF2YWlsYWJsZSB7XG5cblx0LnNlY3Rpb24taGVybyB7XG5cdFx0QGluY2x1ZGUgdmlld3BvcnQoc21hbGwpIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5lcnJvci1jb3B5IHtcblx0XHRAaW5jbHVkZSB2aWV3cG9ydC1jc3MtcHJvcGVydHktZm9yLWVhY2gocGFkZGluZywgKFxuXHRcdFx0bGFyZ2U6IDEwMHB4IDAgMTQ1cHgsXG5cdFx0XHRzbWFsbDogMCAwIDIycHhcblx0XHQpKTtcblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cblx0XHRhIHtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0LmVycm9yLWNvbnRlbnQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cblxuXHRoMjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHR9XG5cblx0LndpdGgtaW1hZ2Uge1xuXHRcdC5nZW5lcmljLWVycm9yIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5lcnJvci1jb3B5IHtcblx0XHRcdEBpbmNsdWRlIHZpZXdwb3J0LWNzcy1wcm9wZXJ0eS1mb3ItZWFjaChwYWRkaW5nLWJvdHRvbSwgKFxuXHRcdFx0XHRsYXJnZTogNDVweCxcblx0XHRcdFx0c21hbGw6IDIycHhcblx0XHRcdCkpO1xuXG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQucHJvZHVjdC1pbWFnZSB7XG5cdFx0QGVhY2ggJHZpZXdwb3J0IGluIHZpZXdwb3J0LWxpc3QoKSB7XG5cdFx0XHRAaW5jbHVkZSB2aWV3cG9ydCgkdmlld3BvcnQpIHtcblx0XHRcdFx0QGlmIGltYWdlLWV4aXN0cy1mb3IoX2Vycm9yX3Byb2R1Y3RfaGVybywgJHZpZXdwb3J0KSB7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogaW1hZ2UtaGVpZ2h0LWZvcihfZXJyb3JfcHJvZHVjdF9oZXJvLCAkdmlld3BvcnQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmltYWdlLWVycm9yLXByb2R1Y3QtaGVybyB7XG5cdFx0QGluY2x1ZGUgcGljdHVyZS1iYWNrZ3JvdW5kLXNpemUoX2Vycm9yX3Byb2R1Y3RfaGVybyk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG5cdCNhYy1nbG9iYWxmb290ZXIgLmFjLWdmLXNvc3VtaSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLy8vL1xuLy8vIENvcmUgLyBNYXBzXG4vLy9cbi8vLyBAZ3JvdXAgbWFwc1xuLy8vL1xuXG4vLy9cbi8vLyBHZXQgYSBuZXN0ZWQgdmFsdWUgaW4gYSBtYXBcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRrZXlzXG4vLy8gICBBIGxpc3Qgb2YgbmVzdGVkIGtleXNcbi8vL1xuLy8vIEByZXR1cm5zIHsqfVxuLy8vICAgVGhlIHZhbHVlLCBvciBgbnVsbGAgaWYgbm90IGRlZmluZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgJG1hcDogKFxuLy8vICAgICBhOiAoXG4vLy8gICAgICAgYjE6IGxvcmVtLFxuLy8vICAgICAgIGIyOiBpcHN1bVxuLy8vICAgICApXG4vLy8gICApO1xuLy8vXG4vLy8gICAkZXhhbXBsZTogbWFwLW5lc3RlZC1nZXQoJG1hcCwgKGEsIGIxKSk7IC8vIGxvcmVtXG4vLy9cbkBmdW5jdGlvbiBtYXAtbmVzdGVkLWdldCgkbWFwLCAka2V5cykge1xuXHQkdmFsdWU6ICRtYXA7XG5cblx0QGVhY2ggJGtleSBpbiAka2V5cyB7XG5cdFx0QGlmICh0eXBlLW9mKCR2YWx1ZSkgIT0gbWFwKSB7XG5cdFx0XHRAcmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0QGlmIChtYXAtaGFzLWtleSgkdmFsdWUsICRrZXkpKSB7XG5cdFx0XHQkdmFsdWU6IG1hcC1nZXQoJHZhbHVlLCAka2V5KTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdEByZXR1cm4gbnVsbDtcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vXG4vLy8gTWVyZ2UgYWxsIGRpbWVuc2lvbnMgb2YgdHdvIG1hcHMgaW50byBhIG5ldyBtYXBcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwMVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAyXG4vLy9cbi8vLyBAcmV0dXJucyB7TWFwfVxuLy8vICAgQSBuZXcgbWFwIHdpdGggYCRtYXAyYCBtZXJnZWQgb250byBgJG1hcDFgXG4vLy9cbkBmdW5jdGlvbiBtYXAtbmVzdGVkLW1lcmdlKCRtYXAxLCAkbWFwMikge1xuXHRAZWFjaCAka2V5LCAkdmFsIGluICRtYXAyIHtcblx0XHRAaWYgKG1hcC1oYXMta2V5KCRtYXAxLCAka2V5KSkge1xuXHRcdFx0JGN1cnJlbnQtdmFsOiBtYXAtZ2V0KCRtYXAxLCAka2V5KTtcblxuXHRcdFx0QGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCBhbmQgdHlwZS1vZigkY3VycmVudC12YWwpID09IG1hcCkge1xuXHRcdFx0XHQkdmFsOiBtYXAtbmVzdGVkLW1lcmdlKCRjdXJyZW50LXZhbCwgJHZhbCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JG1hcDE6IG1hcC1zZXQoJG1hcDEsICRrZXksICR2YWwpO1xuXHR9XG5cblx0QHJldHVybiAkbWFwMTtcbn1cblxuLy8vXG4vLy8gUmVtb3ZlIGEgbmVzdGVkIGtleSBmcm9tIGEgbWFwXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAka2V5c1xuLy8vICAgQSBsaXN0IG9mIG5lc3RlZCBrZXlzXG4vLy9cbi8vLyBAcmV0dXJucyB7TWFwfVxuLy8vICAgQSBuZXcgbWFwIHdpdGggdGhlIG5lc3RlZCBrZXkgcmVtb3ZlZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vXG4vLy8gICAkbWFwOiAoXG4vLy8gICAgIGE6IChcbi8vLyAgICAgICBiMTogbG9yZW0sXG4vLy8gICAgICAgYjI6IGlwc3VtXG4vLy8gICAgIClcbi8vLyAgICk7XG4vLy9cbi8vLyAgICRtYXA6IG1hcC1uZXN0ZWQtcmVtb3ZlKCRtYXAsIChhLCBiMSkpO1xuLy8vXG4vLy8gICAvLyAkbWFwOiAoXG4vLy8gICAvLyAgIGE6IChcbi8vLyAgIC8vICAgICBiMjogaXBzdW1cbi8vLyAgIC8vICAgKVxuLy8vICAgLy8gKTtcbi8vL1xuQGZ1bmN0aW9uIG1hcC1uZXN0ZWQtcmVtb3ZlKCRtYXAsICRrZXlzKSB7XG5cdCRsZW5ndGg6IGxlbmd0aCgka2V5cyk7XG5cdCRsZXZlbHM6ICgpO1xuXG5cdC8vIGNvbGxlY3QgZWFjaCBsZXZlbCBvZiB0aGUgbWFwXG5cdCRwYXJlbnQ6ICRtYXA7XG5cdEBmb3IgJGkgZnJvbSAxIHRvICRsZW5ndGgge1xuXHRcdCRrZXk6IG50aCgka2V5cywgJGkpO1xuXHRcdCRwYXJlbnQ6IG1hcC1nZXQoJHBhcmVudCwgJGtleSk7XG5cblx0XHQvLyByZW1vdmUgdGhlIGxhc3Qga2V5XG5cdFx0QGlmICgkaSA9PSAkbGVuZ3RoIC0gMSkge1xuXHRcdFx0JHBhcmVudDogbWFwLXJlbW92ZSgkcGFyZW50LCBsYXN0KCRrZXlzKSk7XG5cdFx0fVxuXG5cdFx0JGxldmVsczogYXBwZW5kKCRsZXZlbHMsICRwYXJlbnQpO1xuXHR9XG5cblx0Ly8gcmVjb25zdHJ1Y3QgdGhlIGxldmVsc1xuXHRAZm9yICRpIGZyb20gJGxlbmd0aCAtIDEgdGhyb3VnaCAxIHtcblx0XHQka2V5OiBudGgoJGtleXMsICRpKTtcblx0XHQkbGV2ZWw6IG50aCgkbGV2ZWxzLCAkaSk7XG5cblx0XHRAaWYgKCRpID09IDEpIHtcblx0XHRcdCRtYXA6IG1hcC1zZXQoJG1hcCwgJGtleSwgJGxldmVsKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRwYXJlbnQ6IG50aCgkbGV2ZWxzLCAkaSAtIDEpO1xuXHRcdFx0JHBhcmVudDogbWFwLXNldCgkcGFyZW50LCAka2V5LCAkbGV2ZWwpO1xuXHRcdFx0JGxldmVsczogc2V0LW50aCgkbGV2ZWxzLCAkaSAtIDEsICRwYXJlbnQpO1xuXHRcdH1cblx0fVxuXG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLy8vXG4vLy8gU2V0IHRoZSB2YWx1ZSBvZiBhIG5lc3RlZCBrZXkgaW4gYSBtdWx0aS1kaW1lbnNpb25hbCBtYXBcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRrZXlzXG4vLy8gICBBIGxpc3Qgb2YgbmVzdGVkIGtleXNcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBUaGUgdmFsdWUgdG8gc2V0XG4vLy9cbi8vLyBAcmV0dXJucyB7TWFwfVxuLy8vICAgQSBuZXcgbWFwIHdpdGggdGhlIG5lc3RlZCB2YWx1ZSBzZXRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vL1xuLy8vICAgJG1hcDogKFxuLy8vICAgICBhOiAoXG4vLy8gICAgICAgYjE6IGxvcmVtXG4vLy8gICAgIClcbi8vLyAgICk7XG4vLy9cbi8vLyAgICRtYXA6IG1hcC1uZXN0ZWQtc2V0KCRtYXAsIChhLCBiMiksIGlwc3VtKTtcbi8vL1xuLy8vICAgLy8gJG1hcDogKFxuLy8vICAgLy8gICBhOiAoXG4vLy8gICAvLyAgICAgYjE6IGxvcmVtXG4vLy8gICAvLyAgICAgYjI6IGlwc3VtXG4vLy8gICAvLyAgIClcbi8vLyAgIC8vICk7XG4vLy9cbkBmdW5jdGlvbiBtYXAtbmVzdGVkLXNldCgkbWFwLCAka2V5cywgJHZhbHVlKSB7XG5cdCRrZXlzOiBsaXN0LXJldmVyc2UoJGtleXMpO1xuXG5cdEBlYWNoICRrZXkgaW4gJGtleXMge1xuXHRcdCR2YWx1ZTogKCRrZXk6ICR2YWx1ZSk7XG5cdH1cblxuXHRAcmV0dXJuIG1hcC1uZXN0ZWQtbWVyZ2UoJG1hcCwgJHZhbHVlKTtcbn1cblxuLy8vXG4vLy8gU2V0IGEga2V5LXZhbHVlIHBhaXIgaW4gYSBtYXBcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleVxuLy8vICAgVGhlIGtleSB0byBzZXRcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBUaGUgdmFsdWUgdG8gc2V0XG4vLy9cbi8vLyBAcmV0dXJucyB7TWFwfVxuLy8vICAgQSBuZXcgbWFwIHdpdGggdGhlIGFkZGl0aW9uYWwga2V5LXZhbHVlIHBhaXJcbi8vL1xuQGZ1bmN0aW9uIG1hcC1zZXQoJG1hcCwgJGtleSwgJHZhbHVlKSB7XG5cdEByZXR1cm4gbWFwLW1lcmdlKCRtYXAsICgka2V5OiAkdmFsdWUpKTtcbn1cblxuLy8vXG4vLy8gU29ydCB0aGUgaXRlbXMgaW4gYSBuZXcgbWFwIGJ5IHRoZSBzcGVjaWZpZWQga2V5c1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGtleXNcbi8vLyAgIEEgbGlzdCBvZiBrZXlzLlxuLy8vICAgT21pdHRlZCBrZXlzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIGluIHRoZSBjdXJyZW50IG9yZGVyLlxuLy8vXG4vLy8gQHJldHVybnMge01hcH1cbi8vLyAgIEEgbmV3IG1hcCB3aXRoIHNvcnRlZCBrZXlzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy9cbi8vLyAgICRtYXA6IChcbi8vLyAgICAgYTogb25lLFxuLy8vICAgICBiOiB0d28sXG4vLy8gICAgIGM6IHRocmVlLFxuLy8vICAgICBkOiBmb3VyXG4vLy8gICApO1xuLy8vXG4vLy8gICAkbWFwOiBtYXAtc29ydC1rZXlzKCRtYXAsIChjLCBiLCBhKSk7XG4vLy9cbi8vLyAgIC8vICRtYXA6IChcbi8vLyAgIC8vICAgYzogdGhyZWUsXG4vLy8gICAvLyAgIGI6IHR3byxcbi8vLyAgIC8vICAgYTogb25lLFxuLy8vICAgLy8gICBkOiBmb3VyXG4vLy8gICAvLyApO1xuLy8vXG5AZnVuY3Rpb24gbWFwLXNvcnQta2V5cygkbWFwLCAka2V5cykge1xuXHQkc29ydGVkOiAoKTtcblxuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHRAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG5cdFx0XHQkc29ydGVkOiBtYXAtc2V0KCRzb3J0ZWQsICRrZXksIG1hcC1nZXQoJG1hcCwgJGtleSkpO1xuXHRcdH1cblx0fVxuXG5cdEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcblx0XHRAaWYgKGluZGV4KCRrZXlzLCAka2V5KSA9PSBudWxsKSB7XG5cdFx0XHQkc29ydGVkOiBtYXAtc2V0KCRzb3J0ZWQsICRrZXksICR2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0QHJldHVybiAkc29ydGVkO1xufVxuXG4kYWMtc2Fzc2tpdC12ZXJzaW9uOiBcIjQuNS4xXCI7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
