@charset "UTF-8";
/* ======================================================================
 common style index
・reset
・setting
・mixin
・base
・sprite
・utility
・component
・layout
・z-index
====================================================================== */
/* ======================================================================
 reset
====================================================================== */
html {
  overflow-y: scroll;
}

body {
  line-height: 1;
  color: #000;
}

/* html5doctor.com Reset Stylesheet v1.6.1
  Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details,
dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup,
html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section,
small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

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

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* YUI 3.4.1 (build 4118) Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License. http://yuilibrary.com/license/ */
/* ======================================================================
 setting
====================================================================== */
/* 文字 */
/* 背景 */
/* 背景 */
/* 枠 */
/* ボタン */
/* ボタン */
/* ======================================================================
 base
====================================================================== */
html {
  font-size: 62.5%;
}

body {
  position: relative;
  background: #fff;
  color: #323232;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, "ＭＳ ゴシック", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-transition: all 0.4s linear;
  -moz-transition: all 0.4s linear;
  -o-transition: all 0.4s linear;
  transition: all 0.4s linear;
}

body.js_page_trans {
  opacity: 0;
}

html,
body {
  width: 100%;
  height: 100%;
}

.page {
  width: 100%;
  margin: 0 auto;
}

/* border-box */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* h1 - h6 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
}

/* a */
a:link {
  color: #323232;
  text-decoration: none;
  cursor: pointer;
}

a:visited {
  color: #323232;
  text-decoration: none;
}

a:hover {
  color: #323232;
  text-decoration: none;
}

a:active {
  color: #323232;
  text-decoration: none;
}

a[href^="tel"] {
  color: #323232;
}

/* Text Highlight */
/* button */
button {
  display: block;
  outline: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

/* input */
input,
textarea,
select {
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  border-image: none;
  background: transparent;
  font-family: inherit;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-expand,
textarea::-ms-expand,
select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #323232;
}

/* placeholder */
input:placeholder-shown,
textarea:placeholder-shown {
  color: #323232;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #323232;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #323232;
  opacity: 1;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #323232;
  opacity: 1;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #323232;
}

input:focus:placeholder-shown,
textarea:focus:placeholder-shown {
  color: #323232;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: #323232;
}

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: #323232;
  opacity: 1;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: #323232;
  opacity: 1;
}

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: #323232;
}

img {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* ======================================================================
 sprite
====================================================================== */
/* =================================
 hoge
================================= */
/* =================================
 hoge
================================= */
/* =================================
 hoge
================================= */
/* ======================================================================
 utility
====================================================================== */
/* =================================
 layout
================================= */
.cf {
  *zoom: 1;
}

.cf:after {
  display: block;
  visibility: hidden;
  clear: both;
  overflow: hidden;
  height: 0;
  content: "\0020";
}

.u_pc {
  display: block;
}

.u_sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .u_pc {
    display: none;
  }
  .u_sp {
    display: block;
  }
}

.u_fixed {
  position: fixed;
  top: 0;
  left: 0;
}

.u_body_fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

/* =================================
 text pt
================================= */
.u_txt_1 {
  font-size: 1.4em;
  line-height: 2;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_1 {
    font-size: 1.6em;
    line-height: 2;
  }
}

@media print {
  .u_txt_1 {
    font-size: 1.6em;
    line-height: 2;
  }
}

.u_txt_2 {
  font-size: 1.4em;
  line-height: 1.57;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_2 {
    font-size: 1.6em;
    line-height: 2;
  }
}

@media print {
  .u_txt_2 {
    font-size: 1.6em;
    line-height: 2;
  }
}

.u_txt_3 {
  font-size: 1.2em;
  line-height: 1.83;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_3 {
    font-size: 1.6em;
    line-height: 2;
  }
}

@media print {
  .u_txt_3 {
    font-size: 1.6em;
    line-height: 2;
  }
}

.u_txt_4 {
  font-size: 1.4em;
  line-height: 2;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_4 {
    font-size: 1.6em;
    line-height: 1.25;
  }
}

@media print {
  .u_txt_4 {
    font-size: 1.6em;
    line-height: 1.25;
  }
}

.u_txt_5 {
  font-size: 2em;
  line-height: 1.6;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_5 {
    font-size: 2em;
    line-height: 1.6;
  }
}

@media print {
  .u_txt_5 {
    font-size: 2em;
    line-height: 1.6;
  }
}

.u_txt_6 {
  font-size: 1.4em;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_6 {
    font-size: 2em;
    line-height: 1.8;
  }
}

@media print {
  .u_txt_6 {
    font-size: 2em;
    line-height: 1.8;
  }
}

.u_txt_7 {
  font-size: 2em;
  line-height: 1.6;
  letter-spacing: .1em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_7 {
    font-size: 2.8em;
    line-height: 1.5;
  }
}

@media print {
  .u_txt_7 {
    font-size: 2.8em;
    line-height: 1.5;
  }
}

.u_txt_8 {
  font-size: 2em;
  line-height: 1.6;
  letter-spacing: .1em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_8 {
    font-size: 2.8em;
    line-height: 1.37;
  }
}

@media print {
  .u_txt_8 {
    font-size: 2.8em;
    line-height: 1.37;
  }
}

.u_txt_9 {
  font-size: 2.0em;
  line-height: 1.3;
  letter-spacing: .1em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_9 {
    font-size: 3.8em;
    line-height: 1.37;
  }
}

@media print {
  .u_txt_9 {
    font-size: 3.8em;
    line-height: 1.37;
  }
}

.u_txt_10 {
  letter-spacing: .1em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_10 {
    font-size: 3.8em;
    line-height: 1.79;
  }
}

@media print {
  .u_txt_10 {
    font-size: 3.8em;
    line-height: 1.79;
  }
}

.u_txt_11 {
  font-size: 1em;
  line-height: 2.2;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_11 {
    font-size: 1.2em;
    line-height: 2.67;
  }
}

@media print {
  .u_txt_11 {
    font-size: 1.2em;
    line-height: 2.67;
  }
}

.u_txt_12 {
  font-size: 1em;
  line-height: 2.2;
  letter-spacing: .06em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_12 {
    font-size: 1em;
    line-height: 3.2;
  }
}

@media print {
  .u_txt_12 {
    font-size: 1em;
    line-height: 3.2;
  }
}

.u_txt_13 {
  font-size: 1.4em;
  line-height: 1.5;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_13 {
    font-size: 2.4em;
    line-height: 1.75;
  }
}

@media print {
  .u_txt_13 {
    font-size: 2.4em;
    line-height: 1.75;
  }
}

.u_txt_14 {
  font-size: 1.2em;
  line-height: 1;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_14 {
    font-size: 1.6em;
    line-height: 1;
  }
}

@media print {
  .u_txt_14 {
    font-size: 1.6em;
    line-height: 1;
  }
}

.u_txt_15 {
  font-size: 1.4em;
  line-height: 1.6;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_15 {
    font-size: 2em;
    line-height: 1.6;
  }
}

@media print {
  .u_txt_15 {
    font-size: 2em;
    line-height: 1.6;
  }
}

.u_txt_16 {
  font-size: 1em;
  line-height: 1;
  letter-spacing: .08em;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .u_txt_16 {
    font-size: 1.3em;
    line-height: 1;
  }
}

@media print {
  .u_txt_16 {
    font-size: 1.3em;
    line-height: 1;
  }
}

/* =================================
 text weight
================================= */
.u_lighter {
  font-weight: lighter;
}

.u_bold {
  font-weight: bold;
}

/* =================================
 text marker
================================= */
.u_marker_1_1 {
  background: -owg-linear-gradient(to bottom, #ffff66 0%, #ffff66 100%);
  background: -webkit-linear-gradient(to bottom, #ffff66 0%, #ffff66 100%);
  background: -moz-linear-gradient(to bottom, #ffff66 0%, #ffff66 100%);
  background: -o-linear-gradient(to bottom, #ffff66 0%, #ffff66 100%);
  background: linear-gradient(to bottom, #ffff66 0%, #ffff66 100%);
}

.u_marker_1_2 {
  background: -owg-linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #ffff66 100%);
  background: -webkit-linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #ffff66 100%);
  background: -moz-linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #ffff66 100%);
  background: -o-linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #ffff66 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #ffff66 100%);
}

/* =================================
 box-shadow
================================= */
.u_box_shadow_1 {
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

/* =================================
 gradation
================================= */
.u_gradient_1 {
  background: -owg-linear-gradient(180deg, #a9e9f3 0%, #a9e9f3 10%, #2d9dae 25%, #2d9dae 37%, #2d9dae 50%, #2d9dae 83%, #bdf5fd 100%);
  background: -webkit-linear-gradient(180deg, #a9e9f3 0%, #a9e9f3 10%, #2d9dae 25%, #2d9dae 37%, #2d9dae 50%, #2d9dae 83%, #bdf5fd 100%);
  background: -moz-linear-gradient(180deg, #a9e9f3 0%, #a9e9f3 10%, #2d9dae 25%, #2d9dae 37%, #2d9dae 50%, #2d9dae 83%, #bdf5fd 100%);
  background: -o-linear-gradient(180deg, #a9e9f3 0%, #a9e9f3 10%, #2d9dae 25%, #2d9dae 37%, #2d9dae 50%, #2d9dae 83%, #bdf5fd 100%);
  background: linear-gradient(180deg, #a9e9f3 0%, #a9e9f3 10%, #2d9dae 25%, #2d9dae 37%, #2d9dae 50%, #2d9dae 83%, #bdf5fd 100%);
}

/* =================================
 animation
================================= */
/* =================================
 hoge
================================= */
/* ======================================================================
 component
====================================================================== */
/* =================================
 title
================================= */
.c_ttl_1 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  position: relative;
  padding: 0 0 25px;
}

.c_ttl_1:after {
  content: "";
  width: 50px;
  height: 5px;
  background: #009fe8;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.c_ttl_2 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  position: relative;
  padding: 0 0 25px;
}

.c_ttl_2:after {
  content: "";
  width: 50px;
  height: 5px;
  background: #009fe8;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
}

.c_ttl_3 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  position: relative;
  padding: 0 0 25px;
}

@media screen and (max-width: 768px) {
  .c_ttl_3 {
    -webkit-justify-content: left;
    -moz-justify-content: left;
    -ms-justify-content: left;
    justify-content: left;
    -ms-flex-pack: left;
  }
}

.c_ttl_3:after {
  content: "";
  width: 50px;
  height: 5px;
  background: #009fe8;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .c_ttl_3:after {
    right: auto;
  }
}

/* =================================
 buttons
================================= */
.c_btn_p_top {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #323232;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  position: fixed;
  right: 20px;
  bottom: 60px;
  transition: all 0.5s ease;
}

@media screen and (max-width: 768px) {
  .c_btn_p_top {
    display: none !important;
    opacity: 0 !important;
  }
}

.c_btn_p_top:before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  left: 0;
  right: 0;
  top: 22px;
  margin: 0 auto;
}

.c_btn_p_top:hover {
  cursor: pointer;
  opacity: 0.5;
}

.c_btn_1 {
  width: 360px;
  height: 60px;
  background: #fff;
  border-radius: 30px;
  border: 3px solid #009fe8;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all 0.2s linear;
}

@media screen and (max-width: 768px) {
  .c_btn_1 {
    width: 235px;
    height: 45px;
    border: 1px solid #009fe8;
  }
}

.c_btn_1:hover {
  background: #e5f6ff;
  opacity: 1;
  box-shadow: 0 15px 20px -4px rgba(0, 0, 0, 0.1);
}

.c_btn_1 > p {
  color: #009fe8;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .c_btn_1 > p {
    font-size: 14px;
  }
}

.c_btn_1 .position {
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 1;
  transform: translateY(-50%);
}

.c_btn_1 .position > .wrap {
  position: relative;
  background: #009fe8;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .c_btn_1 .position > .wrap {
    width: 20px;
    height: 20px;
  }
}

.c_btn_1 .position > .wrap > .vertical,
.c_btn_1 .position > .wrap > .horizontal {
  content: "";
  position: absolute;
  top: 50%;
  left: 48%;
  right: 0;
  bottom: 0;
  margin: 0;
  width: 7px;
  height: 2px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .c_btn_1 .position > .wrap > .vertical,
  .c_btn_1 .position > .wrap > .horizontal {
    width: 5px;
    height: 1px;
  }
}

.c_btn_1 .position > .wrap > .vertical {
  transform: translate(-50%, -50%) rotate(40deg);
  transform-origin: right;
}

.c_btn_1 .position > .wrap > .horizontal {
  transform-origin: right;
  transform: translate(-50%, -50%) rotate(-40deg);
}

.c_btn_1._pt_outlink .position > .wrap > .vertical,
.c_btn_1._pt_outlink .position > .wrap > .horizontal {
  display: none;
}

.c_btn_1._pt_outlink .position > .wrap:after {
  content: "";
  width: 14px;
  height: 14px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../img/common/icon_outlink_white.svg") no-repeat center center/contain;
}

@media screen and (max-width: 768px) {
  .c_btn_1._pt_outlink .position > .wrap:after {
    width: 10px;
    height: 10px;
  }
}

.c_btn_2 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.c_btn_2 .inner .wrap {
  height: 60px;
  padding: 0 60px;
  background: #f29d00;
  border: 2px solid #f29d00;
  border-radius: 30px;
  display: table-cell;
  vertical-align: middle;
  position: relative;
}

.c_btn_2 .inner .wrap:hover {
  background: rgba(242, 157, 0, 0.5);
  box-shadow: 0 15px 20px -4px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
  .c_btn_2 .inner .wrap {
    height: 45px;
    padding: 0 50px;
  }
}

.c_btn_2 .inner .wrap:before {
  content: "";
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

@media screen and (max-width: 768px) {
  .c_btn_2 .inner .wrap:before {
    width: 20px;
    height: 20px;
    right: 12px;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_btn_2 .inner .wrap:before {
    top: 20px;
  }
}

.c_btn_2 .inner .wrap:after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("../img/common/icon_outlink_orange.svg");
  background-size: contain;
  position: absolute;
  right: 28px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

@media screen and (max-width: 768px) {
  .c_btn_2 .inner .wrap:after {
    width: 10px;
    height: 10px;
    right: 16px;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_btn_2 .inner .wrap:after {
    top: 20px;
  }
}

.c_btn_2 .inner .wrap .txt {
  color: #fff;
}

/* =================================
 icon
================================= */
.c_ico_1 > .inner {
  height: 30px;
  display: table-cell;
  vertical-align: middle;
  padding: 0 20px;
  box-sizing: border-box;
  border: 1px solid #323232;
  border-radius: 15px;
}

.c_ico_1 > .inner .u_txt_1 {
  line-height: 1;
}

.c_ico_2 > .inner {
  height: 30px;
  display: table-cell;
  vertical-align: middle;
  border-radius: 15px;
  padding: 0 20px;
  box-sizing: border-box;
  background: #fff;
  color: #009fe8;
}

.c_ico_2 > .inner .u_txt_1 {
  line-height: 1;
}

.c_ico_3 > .inner {
  height: 30px;
  display: table-cell;
  vertical-align: middle;
  border-radius: 15px;
  padding: 0 20px;
  box-sizing: border-box;
  /* 変更要素 */
  background: #f29d00;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .c_ico_3 > .inner {
    height: 25px;
    padding: 0 10px;
    border-radius: 13px;
  }
}

.c_ico_3._accepting > .inner {
  background: #009fe8;
}

.c_ico_3._closed > .inner {
  background: #c8c8c8;
}

.c_ico_3._report > .inner {
  background: #f29d00;
}

.c_ico_4 {
  width: 40px;
  height: 40px;
  border: 4px solid #009fe8;
  border-radius: 50%;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c_ico_4 {
    width: 20px;
    height: 20px;
    border: 2px solid #009fe8;
  }
}

.c_ico_4 .inner {
  color: #009fe8;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  -webkit-transition: all 0.2s liner;
  -moz-transition: all 0.2s liner;
  -o-transition: all 0.2s liner;
  transition: all 0.2s liner;
}

@media screen and (max-width: 768px) {
  .c_ico_4 .inner {
    width: 10px;
    height: 10px;
  }
}

.c_ico_4 .inner._active:after {
  display: none;
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
  transform: rotate(0);
}

.c_ico_4 .inner:before, .c_ico_4 .inner:after {
  content: "";
  position: absolute;
  width: 20px;
  height: 4px;
  border-radius: 2px;
  background: #009fe8;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .c_ico_4 .inner:before, .c_ico_4 .inner:after {
    width: 10px;
    height: 2px;
    border-radius: 1px;
  }
}

.c_ico_4 .inner:after {
  -webkit-transform: translateY(-1px) rotate(90deg);
  -moz-transform: translateY(-1px) rotate(90deg);
  -ms-transform: translateY(-1px) rotate(90deg);
  -o-transform: translateY(-1px) rotate(90deg);
  transform: translateY(-1px) rotate(90deg);
}

.c_ico_5 {
  width: 40px;
  height: 40px;
  background: #009fe8;
  border-radius: 50%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  font-size: 2.4em;
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .c_ico_5 {
    width: 20px;
    height: 20px;
    font-size: 1.2em;
  }
}

/* =================================
 alerts
================================= */
/* =================================
 pager
================================= */
/* =================================
 table
================================= */
/* =================================
 forms
================================= */
/* =================================
 list
================================= */
.c_list_1 .item {
  position: relative;
  margin: 0 0 0 22px;
}

@media screen and (max-width: 768px) {
  .c_list_1 .item {
    margin: 0 0 0 20px;
  }
}

.c_list_1 .item:before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #009fe8;
  position: absolute;
  top: 9px;
  left: -22px;
}

@media screen and (max-width: 768px) {
  .c_list_1 .item:before {
    width: 12px;
    height: 12px;
    left: -20px;
  }
}

.c_list_2_outer {
  background: #888;
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .c_list_2_outer {
    padding: 0;
  }
}

.c_list_2_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_2_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_list_2 {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c_list_2 {
    background: #fff;
    border: 1px solid #009fe8;
    border-bottom: none;
  }
}

.c_list_2 > .inner .togglebtn {
  height: 45px;
  line-height: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid #009fe8;
  background: #009fe8;
  color: #fff;
  position: relative;
}

@media screen and (min-width: 769px) {
  .c_list_2 > .inner .togglebtn {
    display: none;
  }
}

@media print {
  .c_list_2 > .inner .togglebtn {
    display: none;
  }
}

.c_list_2 > .inner .togglebtn:after {
  content: "";
  position: absolute;
  top: 18px;
  margin: auto;
  vertical-align: middle;
  right: 24px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.c_list_2 > .inner .togglebtn ._def {
  display: inline;
}

.c_list_2 > .inner .togglebtn ._active {
  display: none;
}

.c_list_2 > .inner .togglebtn._open:after {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c_list_2 > .inner .togglebtn._open ._def {
  display: none;
}

.c_list_2 > .inner .togglebtn._open ._active {
  display: inline;
}

.c_list_2 > .inner .alllist {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist {
    display: none;
  }
}

.c_list_2 > .inner .alllist .list {
  height: 60px;
  background: #009fe8;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list {
    height: auto;
    background: #fff;
    display: block;
  }
}

.c_list_2 > .inner .alllist .list .item {
  width: 100%;
  height: 100%;
  border-right: 1px solid #fff;
}

.c_list_2 > .inner .alllist .list .item:last-child {
  border-right: none;
}

.c_list_2 > .inner .alllist .list .item .link {
  width: 100%;
  height: 100%;
  display: block;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  flex-grow: 1;
  color: #fff;
  transition: all 0.3s ease;
  position: relative;
}

@media screen and (min-width: 769px) {
  .c_list_2 > .inner .alllist .list .item .link:hover {
    color: #009fe8;
    background: #fff;
  }
  .c_list_2 > .inner .alllist .list .item .link._current {
    color: #009fe8;
    background: #fff;
  }
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link {
    height: 45px;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: left;
    -moz-justify-content: left;
    -ms-justify-content: left;
    justify-content: left;
    -ms-flex-pack: left;
    padding: 0 20px;
    flex-grow: 0;
    border-bottom: 1px solid #009fe8;
    position: relative;
    background: #fff;
    color: #009fe8;
  }
  .c_list_2 > .inner .alllist .list .item .link:before {
    content: "";
    width: 20px;
    height: 20px;
    background: #009fe8;
    border-radius: 50%;
    position: absolute;
    right: 17px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .c_list_2 > .inner .alllist .list .item .link:after {
    content: "";
    position: absolute;
    top: 19px;
    margin: auto;
    vertical-align: middle;
    right: 24px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
}

.c_list_2 > .inner .alllist .list .item .link._pt2:after {
  content: "";
  width: 15px;
  height: 15px;
  background: none;
  border-radius: 0;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  border: none;
  background: url("../img/common/ico_outlink_faq_sp.svg") no-repeat center center/contain;
  transform: none;
}

@media screen and (min-width: 769px) {
  .c_list_2 > .inner .alllist .list .item .link._pt2:after {
    content: none;
    left: auto;
  }
}

.c_list_2 > .inner .alllist .list .item .link._pt2:before {
  content: none;
}

.c_list_2 > .inner .alllist .list .item .link._pt2:hover > .inner .txt:after {
  filter: none;
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt {
  display: inline-block;
  position: relative;
  left: 20px;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt {
    display: block;
    left: auto;
  }
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -26px;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt:before {
    content: none;
  }
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt:after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #009fe8;
  border-right: 2px solid #009fe8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 12px;
  left: -19px;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt:after {
    content: none;
  }
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt._pt2 {
  line-height: 1;
  text-align: center;
  left: auto;
}

@media screen and (min-width: 769px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt._pt2 {
    right: 10px;
  }
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt._pt2:before {
  content: none;
}

.c_list_2 > .inner .alllist .list .item .link > .inner .txt._pt2:after {
  content: "";
  width: 20px;
  height: 20px;
  border: none;
  transform: none;
  top: 0;
  bottom: 0;
  margin: auto;
  left: auto;
  right: -35px;
  background: url("../img/common/ico_outlink_faq_sp.svg") no-repeat center center/contain;
  filter: brightness(0) invert(1);
  transition: .2s all ease;
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt._pt2:after {
    content: none;
  }
}

@media screen and (min-width: 769px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt .mtxt {
    font-size: 1.1rem;
    margin-bottom: 4px;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .c_list_2 > .inner .alllist .list .item .link > .inner .txt .mtxt {
    margin-right: 1em;
  }
}

.c_list_3_outer {
  background: #888;
  padding: 20px 0;
}

.c_list_3_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_3_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_list_3 {
  background: #fff;
}

.c_list_3 > .parent > .wrap._ttl {
  cursor: pointer;
  position: relative;
  padding: 29px 140px 29px 50px;
}

@media screen and (max-width: 768px) {
  .c_list_3 > .parent > .wrap._ttl {
    padding: 15px 60px 15px 20px;
  }
}

.c_list_3 > .parent > .wrap._ttl > .ttl {
  color: #009fe8;
}

.c_list_3 > .parent > .wrap._ttl > .position {
  position: absolute;
  top: 30px;
  right: 50px;
}

@media screen and (max-width: 768px) {
  .c_list_3 > .parent > .wrap._ttl > .position {
    top: 15px;
    right: 20px;
  }
}

.c_list_3 > .parent > .wrap._txt {
  display: none;
  padding: 0 50px 30px;
}

@media screen and (max-width: 768px) {
  .c_list_3 > .parent > .wrap._txt {
    padding: 0 20px 15px;
  }
}

@media print {
  .c_list_3 > .parent > .wrap._txt {
    display: block;
  }
}

.c_list_3 > .parent > .wrap._txt .imgwrap {
  width: 100%;
  margin: 40px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_3 > .parent > .wrap._txt .imgwrap {
    margin: 20px 0;
  }
}

.c_list_3 > .parent > .wrap._txt .imgwrap .image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c_list_4_outer {
  background: #888;
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .c_list_4_outer {
    padding: 0;
  }
}

.c_list_4_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_4_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_list_4 {
  background: #fff;
  position: relative;
}

.c_list_4 > .q_ico {
  position: absolute;
  top: 30px;
  left: 50px;
}

@media screen and (max-width: 768px) {
  .c_list_4 > .q_ico {
    top: 15px;
    left: 20px;
  }
}

.c_list_4 > .parent > .wrap._ttl {
  cursor: pointer;
  position: relative;
  padding: 29px 140px 29px 110px;
}

@media screen and (max-width: 768px) {
  .c_list_4 > .parent > .wrap._ttl {
    padding: 15px 60px 15px 50px;
  }
}

.c_list_4 > .parent > .wrap._ttl > .ttl {
  color: #009fe8;
}

.c_list_4 > .parent > .wrap._ttl > .position {
  position: absolute;
  top: 30px;
  right: 50px;
}

@media screen and (max-width: 768px) {
  .c_list_4 > .parent > .wrap._ttl > .position {
    top: 15px;
    right: 20px;
  }
}

.c_list_4 > .parent > .wrap._txt {
  display: none;
  padding: 0 110px 30px;
}

@media print {
  .c_list_4 > .parent > .wrap._txt {
    display: block;
  }
}

.c_list_4 > .parent > .wrap._txt .link {
  position: relative;
}

.c_list_4 > .parent > .wrap._txt .link:link, .c_list_4 > .parent > .wrap._txt .link:active, .c_list_4 > .parent > .wrap._txt .link:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.c_list_4 > .parent > .wrap._txt .link:hover {
  color: #009fe8;
}

.c_list_4 > .parent > .wrap._txt .link:before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -2px;
  background: #009fe8;
}

.c_list_4 > .parent > .wrap._txt .link:hover:before {
  content: none;
}

@media screen and (max-width: 768px) {
  .c_list_4 > .parent > .wrap._txt {
    padding: 0 20px 15px;
  }
}

.c_list_5_outer {
  background: #888;
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .c_list_5_outer {
    padding: 0;
  }
}

.c_list_5_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_5_outer > .inner {
    width: auto;
    padding: 0;
  }
}

.c_list_5 > .item {
  width: 840px;
  border-top: 2px solid transparent;
  border-bottom: 2px solid #e5e5e5;
  border-left: 2px solid #e5e5e5;
  border-right: 2px solid #e5e5e5;
  background: #fff;
  transition: all 0.3s ease;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item {
    width: 100%;
    border-left: none;
    border-right: none;
  }
}

.c_list_5 > .item .link {
  width: 100%;
  height: 100%;
  padding: 30px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link {
    padding: 20px;
  }
}

.c_list_5 > .item .link .imgwrap {
  width: 250px;
  height: 153px;
  margin: 0 30px 0 0;
  min-width: 250px;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .imgwrap {
    width: 90px;
    height: 55px;
    min-width: 90px;
    margin: 0 20px 0 0;
  }
}

.c_list_5 > .item .link .imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c_list_5 > .item .link .txtwrap {
  min-width: 496px;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .txtwrap {
    min-width: 0;
    width: calc(100% - 110px);
  }
}

.c_list_5 > .item .link .txtwrap .icon {
  margin: 0 0 10px;
}

.c_list_5 > .item .link .txtwrap .ttl {
  margin: 0 0 5px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .txtwrap .ttl {
    font-weight: normal;
    color: #009fe8;
    text-decoration: underline;
  }
}

.c_list_5 > .item .link .txtwrap .list > .item {
  line-height: 1.9;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  text-overflow: ellipsis;
}

.c_list_5 > .item .link .txtwrap .list p {
  display: inline;
}

.c_list_5 > .item .link .txtwrap .catlist {
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .txtwrap .catlist {
    margin: 8px 0 0;
  }
}

.c_list_5 > .item .link .txtwrap .catlist > .item {
  position: relative;
  left: 12px;
  display: inline-block;
  margin: 0 30px 10px 0;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .txtwrap .catlist > .item {
    margin: 0 24px 8px 0;
  }
}

.c_list_5 > .item .link .txtwrap .catlist > .item:before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #009fe8;
  position: absolute;
  top: 0;
  left: -12px;
}

@media screen and (max-width: 768px) {
  .c_list_5 > .item .link .txtwrap .catlist > .item:before {
    width: 10px;
    height: 10px;
  }
}

.c_list_5 > .item:first-child {
  border-top: 2px solid #e5e5e5;
}

.c_list_5 > .item:last-child {
  border-bottom: 2px solid #e5e5e5;
}

@media screen and (min-width: 769px) {
  .c_list_5 > .item:hover {
    border: 2px solid #009fe8;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    z-index: 900;
  }
}

.c_list_6_outer {
  background: #888;
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .c_list_6_outer {
    padding: 0;
  }
}

.c_list_6_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_6_outer > .inner {
    width: auto;
    padding: 0;
  }
}

.c_list_6 > .item {
  width: 840px;
  border-bottom: 2px solid #e5e5e5;
  background: #fff;
  padding: 50px 0;
}

@media screen and (max-width: 768px) {
  .c_list_6 > .item {
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
    padding: 20px;
  }
}

.c_list_6 > .item .ttlwrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin: 0 0 14px;
}

.c_list_6 > .item .ttlwrap .date {
  margin: 0 25px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_6 > .item .ttlwrap .date {
    margin: 0 10px 0 0;
    font-weight: normal;
  }
}

.c_list_6 > .item .ttlwrap .icon {
  margin: 0 25px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_6 > .item .ttlwrap .icon {
    margin: 0 10px 0 0;
  }
}

.c_list_6 > .item .ttlwrap .new {
  color: #f29d00;
}

.c_list_6 > .item .txtwrap {
  position: relative;
}

.c_list_6 > .item .txtwrap .txt .link {
  color: #009fe8;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c_list_6 > .item .txtwrap .txt .link {
    text-decoration: underline;
  }
}

.c_list_6 > .item .txtwrap .txt .link:after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("../img/common/icon_outlink.png");
  background-size: contain;
  position: absolute;
  right: -18px;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .c_list_6 > .item .txtwrap .txt .link:after {
    width: 10px;
    height: 10px;
    right: -14px;
  }
}

.c_list_6 > .item:last-child {
  border-bottom: none;
}

.c_list_7_outer {
  background: #888;
  padding: 20px 0;
}

.c_list_7_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_7_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_list_7 {
  margin: 50px auto;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.c_list_7 .slick-list {
  margin: 0 -10px;
}

.c_list_7 .slick-slide {
  border: 1px solid #e6e6e6;
  margin: 0 10px;
}

.c_list_7 .slick-next:before {
  content: ">";
  color: #009fe8;
}

.c_list_7 .slick-prev:before {
  content: "<";
  color: #009fe8;
}

.c_list_7 .item {
  width: calc(100% / 3);
  border: 1px solid #e6e6e6;
  border-left-width: 0;
  box-sizing: border-box;
  position: relative;
  transition: all 0.2s linear;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item {
    outline: none;
    border-left-width: 1px;
  }
}

.c_list_7 .item:nth-child(3n + 1) {
  border-left-width: 1px;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item:nth-child(3n + 1) {
    border-left-width: 1px;
  }
}

.c_list_7 .item:nth-child(n + 5) {
  border-left-width: 0;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item:nth-child(n + 5) {
    border-left-width: 1px;
  }
}

.c_list_7 .item:hover {
  box-shadow: 0 10px 20px 5px rgba(0, 0, 0, 0.1);
  opacity: 1;
  border-color: transparent;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item:hover {
    outline: inherit;
    box-shadow: none;
    border-color: #e6e6e6;
  }
}

.c_list_7 .item:hover:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  z-index: 1;
  border: 2px solid #009fe8;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item:hover:before {
    border: none;
  }
}

.c_list_7 .item > .link {
  padding: 30px;
  display: block;
  width: 100%;
  color: #323232;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item > .link {
    padding: 20px;
  }
}

.c_list_7 .item > .link:hover {
  box-shadow: 0 10px 20px 5px rgba(0, 0, 0, 0.1);
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .c_list_7 .item > .link:hover {
    outline: inherit;
    box-shadow: none;
  }
}

.c_list_7 .item > .link:hover > .imgwrap > .image {
  opacity: 1;
}

.c_list_7 .item > .link > .imgwrap > .image {
  width: 100%;
}

.c_list_7 .item > .link .icon {
  margin: 15px 0 10px;
}

.c_list_7 .item > .link > .txtwrap > .ttl {
  margin: 0 0 10px;
}

.c_list_8_outer {
  background: #888;
  padding: 20px 0;
}

.c_list_8_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_8_outer > .inner {
    width: auto;
    padding: 0;
  }
}

.c_list_8 {
  width: 840px;
}

@media screen and (max-width: 768px) {
  .c_list_8 {
    width: 100%;
  }
}

.c_list_8 > .item {
  border-top: 2px solid #e5e5e5;
  border-bottom: 2px solid transparent;
  border-left: 2px solid #e5e5e5;
  border-right: 2px solid #e5e5e5;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item {
    border-left: none;
    border-right: none;
  }
}

.c_list_8 > .item:last-child {
  border-bottom: 2px solid #e5e5e5;
}

@media screen and (min-width: 769px) {
  .c_list_8 > .item:hover {
    border: 2px solid #009fe8;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    z-index: 990;
  }
}

.c_list_8 > .item .link {
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  padding: 30px;
  transition: all 0.3s ease;
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link {
    width: 100%;
    padding: 20px;
  }
}

.c_list_8 > .item .link .imgwrap {
  width: 250px;
  height: 153px;
  margin: 0 30px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .imgwrap {
    width: 90px;
    height: 55px;
    margin: 0 20px 0 0;
  }
}

.c_list_8 > .item .link .imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c_list_8 > .item .link .txtwrap {
  width: 500px;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .txtwrap {
    width: calc(100% - 110px);
  }
}

.c_list_8 > .item .link .txtwrap .infowrap {
  margin: 0 0 10px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .txtwrap .infowrap {
    margin: 0 0 8px;
    display: block;
  }
}

.c_list_8 > .item .link .txtwrap .infowrap .date {
  margin: 0 20px 0 0;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .txtwrap .infowrap .date {
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .txtwrap .infowrap .icon {
    margin: 10px 0 0;
  }
}

.c_list_8 > .item .link .txtwrap .ttl {
  margin: 0 0 8px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .c_list_8 > .item .link .txtwrap .ttl {
    font-weight: normal;
    color: #009fe8;
    text-decoration: underline;
  }
}

.c_list_9_outer {
  background: #888;
  padding: 20px 0;
}

.c_list_9_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_list_9_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_list_9.u_pc {
  width: 360px;
  background: #fff;
}

.c_list_9.u_pc > .inner .secttl {
  position: relative;
  line-height: 1;
  left: 24px;
  margin: 0 0 30px;
}

.c_list_9.u_pc > .inner .secttl:before {
  content: "";
  width: 5px;
  height: 20px;
  background: #009fe8;
  position: absolute;
  left: -24px;
}

.c_list_9.u_pc > .inner .alllist .allselect {
  cursor: pointer;
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner {
  height: 30px;
  display: table-cell;
  vertical-align: middle;
  padding: 0 12px 0 37px;
  box-sizing: border-box;
  border-radius: 15px;
  position: relative;
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #009fe8;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_list_9.u_pc > .inner .alllist .allselect > .inner:before {
    top: 3px;
    bottom: auto;
  }
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner .txt {
  line-height: 1;
  color: #009fe8;
  text-decoration: underline;
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner .txt .link:link, .c_list_9.u_pc > .inner .alllist .allselect > .inner .txt .link:active, .c_list_9.u_pc > .inner .alllist .allselect > .inner .txt .link:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner .txt .link:hover {
  color: #009fe8;
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner .txt:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  vertical-align: middle;
  left: 16px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_list_9.u_pc > .inner .alllist .allselect > .inner .txt:before {
    top: 9px;
    bottom: auto;
  }
}

.c_list_9.u_pc > .inner .alllist .allselect > .inner .txt:hover {
  text-decoration: none;
}

.c_list_9.u_pc > .inner .alllist .allselect._current > .inner {
  background: #009fe8;
}

.c_list_9.u_pc > .inner .alllist .allselect._current > .inner .txt {
  color: #fff;
  text-decoration: none;
}

.c_list_9.u_pc > .inner .alllist .allselect._current > .inner .txt .link:link, .c_list_9.u_pc > .inner .alllist .allselect._current > .inner .txt .link:active, .c_list_9.u_pc > .inner .alllist .allselect._current > .inner .txt .link:visited {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_pc > .inner .alllist .allselect._current > .inner .txt .link:hover {
  color: #fff;
}

.c_list_9.u_pc > .inner .alllist .ttl {
  margin: 20px 0 5px 10px;
}

.c_list_9.u_pc > .inner .alllist .list .item {
  cursor: pointer;
  margin: 0 0 4px;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner {
  height: 30px;
  display: table-cell;
  vertical-align: middle;
  padding: 0 12px 0 37px;
  box-sizing: border-box;
  border-radius: 15px;
  position: relative;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #009fe8;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_list_9.u_pc > .inner .alllist .list .item > .inner:before {
    top: 3px;
    bottom: auto;
  }
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt {
  line-height: 1;
  color: #009fe8;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  vertical-align: middle;
  left: 16px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c_list_9.u_pc > .inner .alllist .list .item > .inner .txt:before {
    top: 9px;
    bottom: auto;
  }
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link {
  position: relative;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link:link, .c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link:active, .c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link:hover {
  color: #009fe8;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt .link:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #009fe8;
  bottom: -2px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.c_list_9.u_pc > .inner .alllist .list .item > .inner .txt:hover {
  text-decoration: none;
}

.c_list_9.u_pc > .inner .alllist .list .item._current > .inner {
  background: #009fe8;
}

.c_list_9.u_pc > .inner .alllist .list .item._current > .inner .txt {
  color: #fff;
  text-decoration: none;
}

.c_list_9.u_pc > .inner .alllist .list .item._current > .inner .txt .link:link, .c_list_9.u_pc > .inner .alllist .list .item._current > .inner .txt .link:active, .c_list_9.u_pc > .inner .alllist .list .item._current > .inner .txt .link:visited {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_pc > .inner .alllist .list .item._current > .inner .txt .link:hover {
  color: #fff;
}

.c_list_9.u_sp {
  width: 100%;
  background: #fff;
  border: 1px solid #009fe8;
  border-bottom: none;
}

.c_list_9.u_sp > .inner .togglebtn, .c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link, .c_list_9.u_sp > .inner .alllist .ttl, .c_list_9.u_sp > .inner .alllist .list .item .link {
  height: 45px;
  line-height: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid #009fe8;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:before, .c_list_9.u_sp > .inner .alllist .list .item .link:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #009fe8;
  border-radius: 50%;
  position: absolute;
  right: 17px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:after, .c_list_9.u_sp > .inner .alllist .list .item .link:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  vertical-align: middle;
  right: 25px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt._current .link:before, .c_list_9.u_sp > .inner .alllist .list .item._current .link:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt._current .link:after, .c_list_9.u_sp > .inner .alllist .list .item._current .link:after {
  content: "";
  position: absolute;
  top: 0px;
  margin: auto;
  vertical-align: middle;
  right: 24px;
  width: 6px;
  height: 3px;
  border-top: 2px solid #009fe8;
  border-right: 2px solid #009fe8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.c_list_9.u_sp > .inner .togglebtn {
  background: #009fe8;
  color: #fff;
  position: relative;
}

.c_list_9.u_sp > .inner .togglebtn:after {
  content: "";
  position: absolute;
  top: 16px;
  margin: auto;
  vertical-align: middle;
  right: 23px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.c_list_9.u_sp > .inner .togglebtn ._def {
  display: inline;
}

.c_list_9.u_sp > .inner .togglebtn ._active {
  display: none;
}

.c_list_9.u_sp > .inner .togglebtn._open:after {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c_list_9.u_sp > .inner .togglebtn._open ._def {
  display: none;
}

.c_list_9.u_sp > .inner .togglebtn._open ._active {
  display: inline;
}

.c_list_9.u_sp > .inner .alllist {
  display: none;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt._current .link {
  background: #e5f6ff;
  color: #009fe8;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link {
  position: relative;
  background: #fff;
  color: #009fe8;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:link, .c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:active, .c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_sp > .inner .alllist .allselect > .inner .txt .link:hover {
  color: #009fe8;
}

.c_list_9.u_sp > .inner .alllist .ttl {
  background: #323232;
  color: #fff;
}

.c_list_9.u_sp > .inner .alllist .list .item .link {
  position: relative;
  background: #fff;
  color: #009fe8;
}

.c_list_9.u_sp > .inner .alllist .list .item .link:link, .c_list_9.u_sp > .inner .alllist .list .item .link:active, .c_list_9.u_sp > .inner .alllist .list .item .link:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.c_list_9.u_sp > .inner .alllist .list .item .link:hover {
  color: #009fe8;
}

.c_list_9.u_sp > .inner .alllist .list .item._current .link {
  background: #e5f6ff;
  color: #009fe8;
}

.c_list_10_outer {
  width: 1200px;
  margin: 0 auto 20px;
}

.c_list_10 {
  height: 60px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .c_list_10 {
    height: 30px;
  }
}

.c_list_10 .item {
  background: #009fe8;
  width: 100%;
  height: 100%;
  max-width: 400px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  flex-grow: 1;
  border-right: 1px solid #fff;
  color: #fff;
  transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    height: 30px;
    border-radius: 15px;
  }
  .c_list_10 .item.curr {
    width: 115px;
    min-width: 115px;
    max-width: 115px;
    margin: 0 10px;
  }
}

.c_list_10 .item:last-child {
  border-right: none;
}

.c_list_10 .item:hover {
  color: #009fe8;
  background: #fff;
}

.c_list_10 .item:hover .wrap .link .txt._pt2:before {
  background: url("../img/common/icon_nemu.svg");
}

.c_list_10 .item.empty {
  background: transparent;
  display: none;
}

.c_list_10 .item._current {
  color: #009fe8;
  background: #fff;
}

.c_list_10 .item .wrap {
  width: 100%;
  height: 100%;
}

.c_list_10 .item .wrap .link {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.c_list_10 .item .wrap .link:link, .c_list_10 .item .wrap .link:active, .c_list_10 .item .wrap .link:visited {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.c_list_10 .item .wrap .link:hover {
  color: #009fe8;
}

.c_list_10 .item .wrap .link:hover .txt._pt1:before {
  border-top: 2px solid #009fe8;
  border-right: 2px solid #009fe8;
}

.c_list_10 .item .wrap .link:hover .txt._pt3:before {
  border-top: 2px solid #009fe8;
  border-right: 2px solid #009fe8;
}

.c_list_10 .item .wrap .link .txt {
  position: relative;
  display: block;
}

.c_list_10 .item .wrap .link .txt .u_pci {
  display: inline;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt .u_pci {
    display: none;
  }
}

.c_list_10 .item .wrap .link .txt .u_spi {
  display: none;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt .u_spi {
    display: inline;
  }
}

.c_list_10 .item .wrap .link .txt.u_pci {
  display: inline;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt.u_pci {
    display: none;
  }
}

.c_list_10 .item .wrap .link .txt.u_spi {
  display: none;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt.u_spi {
    display: inline;
  }
}

.c_list_10 .item .wrap .link .txt._pt1 {
  left: 0;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt._pt1 {
    margin: 0 0 0 16px;
  }
}

.c_list_10 .item .wrap .link .txt._pt1:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto;
  vertical-align: middle;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt._pt1:before {
    left: -12px;
  }
}

.c_list_10 .item .wrap .link .txt._pt2 {
  left: 16px;
}

.c_list_10 .item .wrap .link .txt._pt2:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto;
  vertical-align: middle;
  width: 16px;
  height: 12px;
  background: url("../img/common/icon_nemu_white.svg");
}

.c_list_10 .item .wrap .link .txt._pt3 {
  right: 0;
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt._pt3 {
    margin: 0 16px 0 0;
  }
}

.c_list_10 .item .wrap .link .txt._pt3:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  margin: auto;
  vertical-align: middle;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
  .c_list_10 .item .wrap .link .txt._pt3:after {
    right: -12px;
  }
}

/* =================================
 item
================================= */
.c_item_1 > .inner {
  background: #fff;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .c_item_1 > .inner {
    padding: 0;
    flex-direction: column;
  }
}

.c_item_1 > .inner > .wrap {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .c_item_1 > .inner > .wrap {
    width: 100%;
  }
}

.c_item_1 > .inner > .wrap._txt {
  order: 2;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: left;
  -moz-align-items: left;
  -ms-align-items: left;
  align-items: left;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {
  .c_item_1 > .inner > .wrap._txt {
    padding: 25px 4.6785% 40px;
  }
}

.c_item_1 > .inner > .wrap._txt > .inner .icon {
  margin: 0 0 17px;
}

.c_item_1 > .inner > .wrap._txt > .inner .ttl {
  margin: 0 0 40px;
  color: #009fe8;
  line-break: strict;
}

.c_item_1 > .inner > .wrap._txt > .inner .ttl .linebreak {
  letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
  .c_item_1 > .inner > .wrap._txt > .inner .ttl {
    margin: 0 0 20px;
  }
}

.c_item_1 > .inner > .wrap._img {
  order: 1;
}

.c_item_1 > .inner > .wrap._img .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c_item_1._pt2 > .inner > .wrap._txt {
  order: 1;
}

@media screen and (max-width: 768px) {
  .c_item_1._pt2 > .inner > .wrap._txt {
    order: 2;
  }
}

@media screen and (max-width: 768px) {
  .c_item_1._pt2 > .inner > .wrap._img {
    order: 1;
  }
}

.c_item_2_outer {
  background: #888;
  padding: 20px 0;
}

.c_item_2_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_item_2_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_item_2 > .inner {
  background: #009fe8;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 1200px;
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner {
    width: 100%;
    flex-direction: column;
  }
}

.c_item_2 > .inner > .wrap {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner > .wrap {
    width: 100%;
  }
}

.c_item_2 > .inner > .wrap._txt {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: left;
  -moz-align-items: left;
  -ms-align-items: left;
  align-items: left;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner > .wrap._txt {
    order: 2;
    padding: 20px;
  }
}

.c_item_2 > .inner > .wrap._txt > .inner .icon {
  margin: 0 0 17px;
}

.c_item_2 > .inner > .wrap._txt > .inner .ttl {
  margin: 0 0 40px;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner > .wrap._txt > .inner .ttl {
    margin: 0 0 20px;
  }
}

.c_item_2 > .inner > .wrap._txt > .inner .txt {
  color: #fff;
}

.c_item_2 > .inner > .wrap._txt > .inner .link {
  color: #fff;
  text-decoration: underline;
}

.c_item_2 > .inner > .wrap._txt > .inner .btn {
  margin: 45px auto 0;
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner > .wrap._txt > .inner .btn {
    width: 100%;
    margin: 20px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .c_item_2 > .inner > .wrap._img {
    order: 1;
  }
}

.c_item_2 > .inner > .wrap._img .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c_item_3 > .inner {
  width: 1100px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .c_item_3 > .inner {
    width: 100%;
    flex-direction: column;
  }
}

.c_item_3 > .inner > .wrap {
  width: 50%;
  min-width: 50%;
}

@media screen and (max-width: 768px) {
  .c_item_3 > .inner > .wrap {
    width: 100%;
  }
}

.c_item_3 > .inner > .wrap._txt {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: left;
  -moz-align-items: left;
  -ms-align-items: left;
  align-items: left;
  border-top: 2px solid #f5f5f5;
  border-left: 2px solid #f5f5f5;
  border-bottom: 2px solid #f5f5f5;
  padding: 0 50px;
}

@media screen and (max-width: 768px) {
  .c_item_3 > .inner > .wrap._txt {
    order: 2;
    border: none;
    margin: 20px 0 0;
    padding: 0;
  }
}

.c_item_3 > .inner > .wrap._txt > .inner .txt {
  color: #323232;
}

@media screen and (max-width: 768px) {
  .c_item_3 > .inner > .wrap._img {
    order: 1;
  }
}

.c_item_3 > .inner > .wrap._img .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c_item_4_outer {
  background: #888;
  padding: 20px 0;
}

.c_item_4_outer > .inner {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .c_item_4_outer > .inner {
    width: auto;
    padding: 0 4.6875%;
  }
}

.c_item_4 {
  width: 575px;
  min-width: 575px;
  height: 316px;
  padding: 50px 45px 50px 50px;
  background: #009fe8;
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .c_item_4 {
    width: 100%;
    height: auto;
    min-width: auto;
    padding: 75px 30px 40px;
    display: block;
  }
  .c_item_4 .infowrap .wrap._ttl .desc .c_ico_2 > .inner {
    padding: 0 10px;
  }
}

.c_item_4 .imgwrap {
  width: 110px;
  min-width: 110px;
  height: 110px;
  border-radius: 50%;
  margin: 0 35px 0 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .c_item_4 .imgwrap {
    width: 100px;
    min-width: 100px;
    height: 100px;
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

.c_item_4 .imgwrap .image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c_item_4 .infowrap .wrap._ttl {
  margin: 0 0 14px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.c_item_4 .infowrap .wrap._ttl .catch {
  line-height: 1;
  color: #fff;
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  .c_item_4 .infowrap .wrap._ttl .catch {
    text-align: center;
  }
}

.c_item_4 .infowrap .wrap._ttl .ttl {
  color: #fff;
  margin: 0 0 10px;
  font-feature-settings: "palt";
}

@media screen and (max-width: 768px) {
  .c_item_4 .infowrap .wrap._ttl .ttl {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .c_item_4 .infowrap .wrap._ttl .desc .c_ico_2 > .inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
  }
}

.c_item_4 .infowrap .wrap._ttl .desc .c_ico_2 > .inner .u_txt_1 {
  font-feature-settings: "palt";
}

.c_item_4 .infowrap .wrap._list .list .item {
  color: #fff;
  line-height: 1.5;
  margin: 0 0 8px 22px;
}

.c_item_4 .infowrap .wrap._list .list .item:before {
  background: #fff;
  top: 5px;
}

/* =================================
 pagination
================================= */
.c_pagination_outer {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  height: 60px;
  background: #e5e5e5;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer {
    height: 100%;
    display: block;
  }
}

.c_pagination_outer .number {
  width: 270px;
  padding: 0 0 0 30px;
  background: #f5f5f5;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .number {
    width: 100%;
    font-size: 2em;
    padding: 16px 0 2px;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
  }
}

.c_pagination_outer .number .large {
  font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .number .large {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination {
    margin: 0;
  }
}

.c_pagination_outer .c_pagination > .inner {
  width: 570px;
  height: 60px;
  background: #f5f5f5;
  padding: 0 20px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner {
    width: 100%;
    height: initial;
    padding: 0 0 25px;
    display: block;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager {
    position: static;
    right: auto;
    top: auto;
    bottom: auto;
    margin: 0;
  }
}

@media screen and (min-width: 769px) {
  .c_pagination_outer .c_pagination > .inner > .pager {
    height: 30px;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > span {
  width: 30px;
  height: 30px;
  border-radius: 15px;
  color: #c8c8c8;
  background: #e6e6e6;
  border-radius: 3px;
  font-size: 1.4em;
  display: inline-block;
  vertical-align: top;
  margin: 0 0 0 5px;
  text-align: center;
  padding: 6px 0 0;
}

.c_pagination_outer .c_pagination > .inner > .pager > span.dots {
  color: #323232;
  background: #c8c8c8;
  border: 1px solid #323232;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > span {
    width: 30px;
    height: 30px;
    padding: 2px 0 0;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a {
  background: #009fe8;
  text-align: center;
  font-size: 1.4em;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  color: #fff;
  display: inline-block;
  vertical-align: top;
  margin: 0 0 0 5px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a {
    width: 30px;
    height: 30px;
    padding: 2px 0 0;
    margin: 0 7px 0;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a .txt {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.c_pagination_outer .c_pagination > .inner > .pager > a:hover {
  opacity: 0.7;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev {
  width: 90px;
  margin: 0;
  color: #fff;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.prev {
    width: 30px;
    margin: 0 7px 0 0;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev .txt {
  width: 60%;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.prev .txt {
    display: none;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner {
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap {
  height: 100%;
  position: relative;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  /* Safari用 */
  transform: translateY(-50%);
  width: 6px;
  margin: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap {
    left: 5px;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap .vertical,
.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap .horizontal {
  content: "";
  position: relative;
  width: 5px;
  height: 1px;
  background: #fff;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap .vertical {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -ms-transform-origin: top left;
  -o-transform-origin: top left;
  transform-origin: top left;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c_pagination_outer .c_pagination > .inner > .pager > a.prev > .inner .arrowwrap .horizontal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next {
  width: 90px;
  color: #fff;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.next {
    width: 30px;
    margin: 0 0 0 7px;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next .txt {
  width: 60%;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.next .txt {
    display: none;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner {
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap {
  height: 100%;
  position: relative;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  /* Safari用 */
  transform: translateY(-50%);
  width: 6px;
  margin: 0 0 0 10px;
}

@media screen and (max-width: 768px) {
  .c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap {
    right: 5px;
  }
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap .vertical,
.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap .horizontal {
  content: "";
  position: absolute;
  width: 5px;
  height: 1px;
  background: #fff;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap .vertical {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform-origin: top right;
  -moz-transform-origin: top right;
  -ms-transform-origin: top right;
  -o-transform-origin: top right;
  transform-origin: top right;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 1px;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.next > .inner .arrowwrap .horizontal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform-origin: bottom right;
  -moz-transform-origin: bottom right;
  -ms-transform-origin: bottom right;
  -o-transform-origin: bottom right;
  transform-origin: bottom right;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  right: 1px;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.active {
  border: none;
  background: #fff;
  color: #009fe8;
}

.c_pagination_outer .c_pagination > .inner > .pager > a.active:hover {
  opacity: 1;
}

/* =================================
 hoge
================================= */
/* ======================================================================
 layout
====================================================================== */
@media screen and (max-width: 768px) {
  .p_page {
    margin: 55px 0 0;
  }
}

/* =================================
 l_content_size
================================= */
.l_content_size_sp_1 {
  padding: 0 4.6875%;
}

@media screen and (min-width: 1025px) {
  .l_content_size_sp_1 {
    max-width: 1200px;
    margin: 0 auto;
  }
}

.l_content_size_pc_1 {
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .l_content_size_pc_1 {
    width: auto;
    padding: 0 4.6875%;
  }
}

/* =================================
 l_container
================================= */
.l_container {
  position: relative;
}

@media screen and (min-width: 769px) {
  .l_container {
    min-width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .l_container {
    overflow: hidden;
  }
}

/* =================================
 l_header
================================= */
body.fixed {
  position: fixed;
  width: 100%;
}

.scroll-prevent {
  /*動き固定*/
  position: fixed;
  /*奥行きを管理*/
  z-index: -1;
  /*下2つで背景を元のサイズのまま表示することができる*/
  width: 100%;
  height: 100%;
}

.l_header {
  width: 100%;
  background: #fff;
  top: 0;
  position: relative;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.15);
  min-width: 1200px;
}

@media screen and (max-width: 768px) {
  .l_header {
    position: fixed;
    min-width: initial;
  }
}

.l_header.tablet {
  zoom: 1.5;
  position: fixed;
  min-width: initial;
}

.l_header.tablet > .outer .menu_box._open > .wrap > .menu > .wrap > .txt {
  color: #fff;
}

.l_header.tablet > .outer .menu_box > .wrap .menu {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap {
  width: 25px;
  height: 30px;
  position: relative;
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap .border {
  width: 100%;
  height: 2px;
  background: #009fe8;
  position: absolute;
  transition: 0.2s all linear;
  -webkit-transition: 0.2s all linear;
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap .border._pt1 {
  top: 1px;
  left: 0;
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap .border._pt2 {
  top: 8px;
  left: 0;
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap .border._pt3 {
  top: 15px;
  left: 0;
}

.l_header.tablet > .outer .menu_box > .wrap .menu .wrap span.txt {
  position: absolute;
  bottom: 0;
  left: 50%;
  font-size: 10px;
  color: #009fe8;
  line-height: 1;
  transform: translateX(-50%) scale(0.9);
}

.l_header.tablet > .outer > .inner {
  width: 100%;
  padding: 0 60px 0 4.6875%;
}

.l_header.tablet > .outer > .inner .left {
  width: 100px;
}

.l_header.tablet > .outer > .inner .left > a > img {
  height: 55px;
  width: 100%;
  max-width: 100%;
}

.l_header.tablet > .outer > .inner .right {
  width: calc(100% - 100px);
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner {
  justify-content: flex-end;
  height: 55px;
  position: relative;
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner .rightcolumn {
  padding: 0;
  align-items: center;
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel {
  font-size: 12px;
  margin: 0 10px 0 0;
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel > .u_txt_1 {
  font-size: 14px;
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 {
  width: 100px;
  height: 30px;
  font-size: 12px;
  transition: none;
}

.l_header.tablet > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 .btn_txt {
  font-size: 14px;
}

.l_header.tablet > .outer > .inner .right > .flex {
  position: fixed;
  width: 100%;
  top: 55px;
  right: -100%;
  display: block;
  background: rgba(0, 159, 232, 0.9);
  height: calc(100% - 55px);
  overflow: scroll;
  transition: all 0.5s linear;
  -webkit-transition: all 0.5s linear;
  opacity: 0;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu {
  padding: 40px 0 95px;
  position: relative;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  border-top: 1px solid #fff;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul {
  display: block;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li {
  height: initial;
  margin: 0 0 50px;
  text-align: center;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li:last-child {
  margin: 0;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a {
  height: initial;
  display: inline-block;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a.is-current:before {
  width: 0;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover:before {
  width: 0;
}

.l_header.tablet > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a span {
  font-size: 20px;
  color: #fff;
}

.l_header > .outer {
  position: relative;
}

.l_header > .outer .menu_box {
  position: absolute;
  top: 0;
  right: 0;
  transition: 0.2s all linear;
  z-index: 999;
}

.l_header > .outer .menu_box._open {
  background: #009fe8;
}

.l_header > .outer .menu_box._open > .wrap .menu > .wrap .border {
  width: 80%;
  background: #fff;
}

.l_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt1 {
  transform-origin: left;
  top: 8px;
  left: 50%;
  transform: rotate(45deg) translateX(-50%);
}

.l_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt2 {
  display: none;
}

.l_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt3 {
  top: 8px;
  left: 50%;
  transform-origin: left;
  transform: rotate(-45deg) translateX(-50%);
}

.l_header > .outer .menu_box._open > .wrap .menu > .wrap .txt {
  color: #fff;
}

.l_header > .outer .menu_box > .wrap {
  position: relative;
  height: 55px;
  width: 50px;
}

.l_header > .outer .menu_box > .wrap .menu {
  display: none;
}

@media screen and (max-width: 768px) {
  .l_header > .outer .menu_box > .wrap .menu {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap {
    width: 26px;
    height: 30px;
    position: relative;
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap .border {
    width: 100%;
    height: 2px;
    background: #009fe8;
    position: absolute;
    transition: 0.2s all linear;
    -webkit-transition: 0.2s all linear;
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap .border._pt1 {
    top: 1px;
    left: 0;
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap .border._pt2 {
    top: 8px;
    left: 0;
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap .border._pt3 {
    top: 15px;
    left: 0;
  }
  .l_header > .outer .menu_box > .wrap .menu .wrap span.txt {
    position: absolute;
    bottom: 0;
    left: 50%;
    font-size: 10px;
    color: #009fe8;
    line-height: 1;
    transform: translateX(-50%);
  }
}

.l_header > .outer > .inner {
  width: 1200px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner {
    width: 100%;
    padding: 0 60px 0 4.6875%;
  }
}

@media screen and (max-width: 320px) {
  .l_header > .outer > .inner {
    padding: 0 50px 0 4.6875%;
  }
}

.l_header > .outer > .inner .left {
  width: 325px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .left {
    width: 100px;
  }
}

.l_header > .outer > .inner .left > a > img {
  width: 190px;
}

@media all and (-ms-high-contrast: none) {
  .l_header > .outer > .inner .left > a > img {
    height: 62px;
  }
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .left > a > img {
    width: 100%;
    max-width: 100%;
  }
}

.l_header > .outer > .inner .right {
  width: calc(100% - 325px);
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right {
    width: calc(100% - 100px);
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner {
  width: 100%;
  height: 50px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner {
    justify-content: flex-end;
    height: 55px;
    position: relative;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  padding: 15px 0 0;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn {
    padding: 0;
    align-items: center;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel {
  margin: 0 20px 0 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  transition: all 0.2s linear;
  color: #009fe8;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel .u_txt_1 {
    font-size: 12px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 320px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel .u_txt_1 {
    margin: 0;
  }
}

@media screen and (max-width: 320px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel {
    margin: 0 5px 0 0;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel:hover {
  opacity: 0.5;
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel > .u_txt_1 {
  position: relative;
}

@media screen and (min-width: 769px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel > .u_txt_1 {
    padding: 0 0 0 5px;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel > .u_txt_1:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .tel > .u_txt_7 {
  padding: 0 0 0 8px;
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 {
  background: #009fe8;
  color: #fff;
  width: 160px;
  height: 36px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 35px;
  transition: all 0.2s linear;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 {
    width: 94px;
    height: 30px;
    padding: 0 10px;
    font-size: 12px;
  }
}

@media screen and (max-width: 320px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 {
    width: 86px !important;
  }
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 .btn_txt {
    font-size: 10px !important;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3:hover {
  opacity: 0.5;
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 .btn_txt {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3 .btn_txt {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3.tel {
  background: #f29d00;
  margin: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3.tel {
    width: 68px;
  }
}

@media screen and (max-width: 320px) {
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3.tel {
    width: 60px !important;
    margin: 0 5px 0 0;
  }
  .l_header > .outer > .inner .right > .sec_1 > .inner .rightcolumn > .c_btn_3.tel .u_txt_1 {
    font-size: 10px;
  }
}

.l_header > .outer > .inner .right > .flex {
  position: relative;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex {
    position: fixed;
    width: 100%;
    top: 55px;
    right: -100%;
    display: block;
    background: rgba(0, 159, 232, 0.9);
    height: calc(100% - 55px);
    overflow: scroll;
    transition: all 0.5s linear;
    opacity: 0;
  }
}

.l_header > .outer > .inner .right > .flex._open {
  top: 55px;
  right: 0;
  opacity: 1;
}

.l_header > .outer > .inner .right > .flex > .wrap {
  width: 100%;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu {
  width: 100%;
  padding: 25px 0 0;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu {
    padding: 40px 0 95px;
    position: relative;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap {
  display: none;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    border-top: 1px solid #fff;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap > a {
  height: 45px;
  width: 50%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap > a:first-child {
  border-right: 1px solid #fff;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .sp_btn_wrap > a > span {
  color: #fff;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul {
    display: block;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li {
  height: 45px;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li {
    height: initial;
    margin: 0 0 50px;
    text-align: center;
  }
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li:last-child {
    margin: 0;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a {
  height: 45px;
  display: block;
  position: relative;
  color: #323232;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a {
    height: initial;
    display: inline-block;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a.is-current:before {
  content: '';
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a.is-current:before {
    width: 0;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:before {
  content: '';
  width: 0;
  height: 5px;
  background: #009fe8;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all 0.2s linear;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover {
  opacity: 1;
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover:before {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover:before {
    width: 0;
  }
}

.l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .l_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a span {
    font-size: 20px;
    color: #fff;
  }
}

.l_fixed_header {
  width: 100%;
  background: #fff;
  top: -120px;
  z-index: 901;
  position: fixed;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: 0.5s all linear;
}

.l_fixed_header._fixed {
  top: 0;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .l_fixed_header {
    display: none;
  }
}

.l_fixed_header > .outer {
  position: relative;
}

.l_fixed_header > .outer .menu_box {
  position: absolute;
  top: 0;
  right: 0;
  transition: 0.2s all linear;
}

.l_fixed_header > .outer .menu_box._open {
  background: #009fe8;
}

.l_fixed_header > .outer .menu_box._open > .wrap .menu > .wrap .border {
  width: 80%;
  background: #fff;
}

.l_fixed_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt1 {
  transform-origin: left;
  top: 8px;
  left: 50%;
  transform: rotate(45deg) translateX(-50%);
}

.l_fixed_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt2 {
  display: none;
}

.l_fixed_header > .outer .menu_box._open > .wrap .menu > .wrap .border._pt3 {
  top: 8px;
  left: 50%;
  transform-origin: left;
  transform: rotate(-45deg) translateX(-50%);
}

.l_fixed_header > .outer .menu_box._open > .wrap .menu > .wrap .txt {
  color: #fff;
}

.l_fixed_header > .outer .menu_box > .wrap {
  position: relative;
  height: 55px;
  width: 50px;
}

.l_fixed_header > .outer .menu_box > .wrap .menu {
  display: none;
}

@media screen and (max-width: 768px) {
  .l_fixed_header > .outer .menu_box > .wrap .menu {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap {
    width: 25px;
    height: 30px;
    position: relative;
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap .border {
    width: 100%;
    height: 2px;
    background: #009fe8;
    position: absolute;
    transition: 0.2s all linear;
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap .border._pt1 {
    top: 1px;
    left: 0;
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap .border._pt2 {
    top: 8px;
    left: 0;
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap .border._pt3 {
    top: 15px;
    left: 0;
  }
  .l_fixed_header > .outer .menu_box > .wrap .menu .wrap span.txt {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 10px;
    color: #009fe8;
    line-height: 1;
    transform: scale(0.9);
    margin: 0 0 0 -1px;
  }
}

.l_fixed_header > .outer > .inner {
  width: 1200px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

.l_fixed_header > .outer > .inner .left {
  width: 140px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
}

.l_fixed_header > .outer > .inner .left > a > img {
  width: 100px;
}

@media all and (-ms-high-contrast: none) {
  .l_fixed_header > .outer > .inner .left > a > img {
    height: 32px;
  }
}

.l_fixed_header > .outer > .inner .right {
  width: calc(100% - 140px);
}

.l_fixed_header > .outer > .inner .right > .flex {
  position: relative;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
}

.l_fixed_header > .outer > .inner .right > .flex._open {
  top: 55px;
  right: 0;
  opacity: 1;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap {
  width: 100%;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu {
  width: 100%;
  height: 70px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle {
  width: calc(100% - 190px);
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li {
  margin: 25px 0 0;
  height: 45px;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a {
  height: 45px;
  display: block;
  position: relative;
  color: #323232;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:before {
  content: '';
  width: 0;
  height: 5px;
  background: #009fe8;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all 0.2s linear;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a.is-current:before {
  content: '';
  width: 100%;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover {
  opacity: 1;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a:hover:before {
  width: 100%;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu .middle > ul > li > a span {
  display: table-cell;
  vertical-align: middle;
  font-size: 16px;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu > .c_btn_3 {
  background: #009fe8;
  color: #fff;
  width: 160px;
  height: 36px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 35px;
  transition: all 0.2s linear;
}

@media screen and (max-width: 768px) {
  .l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu > .c_btn_3 {
    width: 170px;
    height: 30px;
    font-size: 12px;
  }
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu > .c_btn_3:hover {
  opacity: 0.5;
}

.l_fixed_header > .outer > .inner .right > .flex > .wrap .header_menu > .c_btn_3 .btn_txt {
  color: #fff;
}

/* =================================
 l_header_sp
================================= */
/* =================================
 l_menu_sp
================================= */
/* =================================
 l_breadcrumbs
================================= */
.l_breadcrumbs {
  width: 100%;
  overflow-x: auto;
}

.l_breadcrumbs .breadcrumbs {
  font-size: 1.3em;
  line-height: 2.15;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.l_breadcrumbs .breadcrumbs > span span {
  color: #c8c8c8;
}

.l_breadcrumbs .breadcrumbs > span span > a {
  margin: 0 5px 0 0;
}

.l_breadcrumbs .breadcrumbs > span span > a:link, .l_breadcrumbs .breadcrumbs > span span > a:active, .l_breadcrumbs .breadcrumbs > span span > a:visited {
  color: #009fe8;
  text-decoration: none;
  cursor: pointer;
}

.l_breadcrumbs .breadcrumbs > span span > a:hover {
  color: #009fe8;
}

.l_breadcrumbs .breadcrumbs > span span.breadcrumb_last {
  margin: 0 5px 0 0;
  color: #323232;
}

/* =================================
 l_main_visual
================================= */
.l_main_visual {
  height: 280px;
  background: #009fe8;
  position: relative;
  padding: 100px 0 0;
}

@media screen and (max-width: 768px) {
  .l_main_visual {
    height: 215px;
  }
}

.l_main_visual .mv_ttl {
  color: #fff;
  text-align: center;
  line-height: 1;
}

.l_main_visual .breadwrap {
  height: 53px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .l_main_visual .breadwrap {
    height: 40px;
  }
}

.l_main_visual .breadwrap:before {
  content: "";
  width: 1px;
  height: 65px;
  background: #fff;
  position: absolute;
  top: -65px;
  left: 50%;
}

@media screen and (max-width: 768px) {
  .l_main_visual .breadwrap:before {
    height: 30px;
    top: -30px;
  }
}

.l_main_visual .breadwrap > .inner {
  height: 100%;
  background: #fff;
  padding: 0 30px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

/* =================================
 l_content
================================= */
/* =================================
 l_main
================================= */
/* =================================
 l_read
================================= */
.l_read > .inner {
  padding: 92px 100px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .l_read > .inner {
    padding: 50px 4.6875%;
  }
}

/* =================================
 l_side
================================= */
/* =================================
 l_more
================================= */
.l_more > .inner {
  padding: 100px 0;
}

@media screen and (max-width: 768px) {
  .l_more > .inner {
    padding: 50px 0;
  }
}

.l_more > .inner .ttlouter {
  padding: 0 4.6785%;
  margin: 0 0 50px;
}

.l_more > .inner .list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list {
    display: block;
  }
}

.l_more > .inner .list .item {
  width: 100%;
  height: 500px;
  position: relative;
  border-left: 2px solid #e6e6e6;
  border-right: 2px solid transparent;
  border-top: 2px solid #e6e6e6;
  border-bottom: 2px solid #e6e6e6;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item {
    height: 100%;
    border-top: 1px solid #e6e6e6;
    border-right: none;
    border-left: none;
    border-bottom: none;
  }
}

.l_more > .inner .list .item:last-child {
  border-right: 2px solid #e6e6e6;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item:last-child {
    border-right: none;
    border-bottom: 1px solid #e6e6e6;
  }
}

@media screen and (min-width: 769px) {
  .l_more > .inner .list .item:hover {
    border: 2px solid #009fe8;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  }
}

.l_more > .inner .list .item .link {
  display: block;
  padding: 30px;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item .link {
    padding: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    height: 100%;
  }
}

.l_more > .inner .list .item .link .imgwrap {
  width: 340px;
  height: 210px;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item .link .imgwrap {
    width: 90px;
    height: 55px;
    margin: 0 20px 0 0;
  }
}

.l_more > .inner .list .item .link .imgwrap .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item .link .txtwrap {
    height: 100%;
  }
}

.l_more > .inner .list .item .link .txtwrap .ttl {
  margin: 30px 0 22px;
  line-height: 1;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item .link .txtwrap .ttl {
    font-weight: normal;
    margin: 0;
    position: relative;
    color: #009fe8;
  }
  .l_more > .inner .list .item .link .txtwrap .ttl:before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    background: #009fe8;
    bottom: -2px;
  }
}

.l_more > .inner .list .item .link .txtwrap .txt {
  height: 10em;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .l_more > .inner .list .item .link .txtwrap .txt {
    display: none;
  }
}

/* =================================
 l_footer
================================= */
#top-footer h2,
#top-footer h3 {
  font-weight: normal;
}

#top-footer .ttl_1 {
  margin: 85px 0 0;
  font-size: 28px;
  line-height: 1.5;
  position: relative;
  padding: 0 0 23px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #top-footer .ttl_1 {
    font-size: 20px;
    margin: 50px 0 0;
  }
}

#top-footer .ttl_1:before {
  content: '';
  width: 50px;
  height: 5px;
  background: #009fe8;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#top-footer .ttl_2 {
  font-size: 28px;
  line-height: 1.5;
  position: relative;
  padding: 0 0 23px;
}

@media screen and (max-width: 768px) {
  #top-footer .ttl_2 {
    font-size: 20px;
  }
}

#top-footer .ttl_2:before {
  content: '';
  width: 50px;
  height: 5px;
  background: #009fe8;
  position: absolute;
  bottom: 0;
  left: 0;
}

#top-footer .ttl_3 {
  font-size: 28px;
  line-height: 1.5;
  color: #009fe8;
}

@media screen and (max-width: 768px) {
  #top-footer .ttl_3 {
    font-size: 20px;
  }
}

#top-footer .ttl_4 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #top-footer .ttl_4 {
    font-weight: normal;
  }
}

#top-footer .txt_1 {
  font-size: 16px;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  #top-footer .txt_1 {
    font-size: 14px;
  }
}

#top-footer .sml {
  font-size: 10px;
}

#top-footer .circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #009fe8;
  display: table;
}

#top-footer .circle > p {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}

#top-footer .btn1 {
  width: 360px;
  height: 60px;
  border-radius: 30px;
  border: 3px solid #009fe8;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all 0.2s linear;
}

@media screen and (max-width: 768px) {
  #top-footer .btn1 {
    width: 235px;
    height: 45px;
    border: 1px solid #009fe8;
  }
}

#top-footer .btn1:hover {
  background: #e5f6ff;
  opacity: 1;
  box-shadow: 0 15px 20px -4px rgba(0, 0, 0, 0.1);
}

#top-footer .btn1 > p {
  color: #009fe8;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  #top-footer .btn1 > p {
    font-size: 14px;
  }
}

#top-footer .btn1 .position {
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 1;
  transform: translateY(-50%);
}

#top-footer .btn1 .position .wrap {
  position: relative;
  background: #009fe8;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  #top-footer .btn1 .position .wrap {
    width: 20px;
    height: 20px;
  }
}

#top-footer .btn1 .position .wrap > .vertical,
#top-footer .btn1 .position .wrap > .horizontal {
  content: '';
  position: absolute;
  top: 50%;
  left: 48%;
  right: 0;
  bottom: 0;
  margin: 0;
  width: 7px;
  height: 2px;
  background: #fff;
}

@media screen and (max-width: 768px) {
  #top-footer .btn1 .position .wrap > .vertical,
  #top-footer .btn1 .position .wrap > .horizontal {
    width: 5px;
    height: 1px;
  }
}

#top-footer .btn1 .position .wrap > .vertical {
  transform: translate(-50%, -50%) rotate(40deg);
  transform-origin: right;
}

#top-footer .btn1 .position .wrap > .horizontal {
  transform-origin: right;
  transform: translate(-50%, -50%) rotate(-40deg);
}

#top-footer ._blue {
  color: #009fe8;
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new {
  min-width: 1200px;
  padding: 0;
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new {
    min-width: initial;
  }
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new._other .other_mobile {
  display: block;
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new._other .is-app .app-wrap .app-store {
  display: none;
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .other_mobile {
  display: none;
  padding: 0 4.6875%;
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .other_mobile > p {
  padding: 10px 0;
  color: #009fe8;
  font-size: 10px;
  text-align: center;
  background: #fff;
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app {
  padding: 80px 0 100px;
  background: #e5f6ff;
  border-bottom: 1px solid #e2e2e2;
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app {
    padding: 30px 0 25px;
  }
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner {
  max-width: 1064px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner {
    padding: 0 4.6875%;
  }
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app._last .app-wrap {
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app._last .app-wrap {
    padding: 15px 0;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    flex-direction: initial;
    align-items: center;
    padding: 15px 0;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-caption {
    width: calc(100% - 130px);
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-caption .app-caption-icon .icon-image {
    width: 40px;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-caption .app-caption-title {
    padding: 0 0 0 10px;
    vertical-align: middle;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-title {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-text {
    font-size: 10px;
    margin: 2px 0 0;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-store {
    width: 120px;
    margin: 0;
  }
}

@media screen and (max-width: 320px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-store {
    width: 110px;
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-store .app-store-btn {
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  #top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-store .app-store-btn._none {
    display: none;
  }
}

#top-footer .ly-section.lv-1.is-top.util-bgc-pickup.new .ly-section.has-underline.is-app .util-inner .mod-box.is-app .app-wrap .app-store .app-store-btn .store-btn-link {
  transition: all 0.2s linear;
}

#top-footer > .footer_content {
  min-width: 1200px;
  background: #009fe8;
}

@media screen and (max-width: 768px) {
  #top-footer > .footer_content {
    min-width: initial;
  }
}

#top-footer > .footer_content > .slider_carousel .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top-footer > .footer_content > .inner {
  padding: 100px 0;
}

@media screen and (max-width: 768px) {
  #top-footer > .footer_content > .inner {
    padding: 50px 4.6875%;
  }
}

#top-footer > .footer_content > .inner > .ttl_1 {
  color: #fff;
  margin: 0 auto;
}

#top-footer > .footer_content > .inner > .ttl_1:before {
  background: #fff;
}

#top-footer > .footer_content > .inner > .txt_1 {
  margin: 50px 0 0;
  text-align: center;
  color: #fff;
}

#top-footer > .footer_content > .inner > .btn1 {
  border: none;
  background: #fff;
  margin: 50px auto 0;
}

#top-footer > .footer_content > .inner > .btn1:hover {
  background: #e5f6ff;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner {
  font-size: 1.6rem;
  color: #fff;
  border: 1px solid #fff;
  width: 860px;
  height: 60px;
  margin: 50px auto 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 0 20px;
  position: relative;
  transition: all 0.3s ease;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner:hover {
  background: #fff;
  color: #009fe8;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner:before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto 0;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #009fe8;
  border-right: 2px solid #009fe8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 31px;
  margin: auto 0;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner .subj {
  position: relative;
  margin: 0 44px 0 0;
}

#top-footer > .footer_content > .inner > .btn_mail > .inner .subj:after {
  content: "";
  width: 1px;
  height: 16px;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: -22px;
}

#top-footer > .footer_content > .inner .mailwrap_sp ._mail {
  margin: 25px auto 0;
  border: 1px solid #fff;
  background: #009fe8;
}

#top-footer > .footer_content > .inner .mailwrap_sp ._mail > p {
  color: #fff;
}

#top-footer > .footer_content > .inner .mailwrap_sp ._mail .position > .wrap {
  background: #fff;
}

#top-footer > .footer_content > .inner .mailwrap_sp ._mail .position > .wrap > .vertical,
#top-footer > .footer_content > .inner .mailwrap_sp ._mail .position > .wrap .horizontal {
  background: #009fe8;
}

#top-footer > .inner {
  width: 1200px;
  margin: 0 auto;
  padding: 100px 0;
  background: #fff;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner {
    width: 100%;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    padding: 0 0 50px;
  }
}

#top-footer > .inner > .left {
  width: 300px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .left {
    width: 100%;
    text-align: center;
  }
}

#top-footer > .inner > .left .page_top {
  margin: 0;
  width: 100%;
  height: 50px;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f5f5f5;
}

#top-footer > .inner > .left .page_top > .txt {
  position: relative;
  padding: 0 0 0 15px;
  color: #009fe8;
  font-size: 12px;
}

#top-footer > .inner > .left .page_top > .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8.7px 5px;
  border-color: transparent transparent #009fe8 transparent;
  transform: translateY(-50%);
}

#top-footer > .inner > .left > .banner {
  transition: all 0.2s linear;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .left > .banner {
    display: inline-block;
    margin: 50px auto 0;
  }
}

#top-footer > .inner > .left > .banner > img {
  width: 190px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .left > .banner > img {
    width: 120px;
  }
}

#top-footer > .inner > .left .flex {
  margin: 25px 0 0;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .left .flex {
    justify-content: center;
  }
}

#top-footer > .inner > .left .flex > .items {
  transition: all 0.2s linear;
}

#top-footer > .inner > .left .flex > .items:nth-child(2) {
  margin: 0 0 0 10px;
}

#top-footer > .inner > .left .flex > .items > img {
  width: 40px;
}

@media all and (-ms-high-contrast: none) {
  #top-footer > .inner > .left .flex > .items > img {
    height: 40px;
  }
}

#top-footer > .inner > .left > .txt {
  margin: 65px 0 0;
  font-size: 12px;
}

#top-footer > .inner > .right {
  width: calc(100% - 300px);
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column.column_3 {
    border-bottom: 1px solid #e6e6e6;
  }
}

#top-footer > .inner > .right > ul.column > li {
  width: 200px;
  margin: 0 0 15px;
  font-size: 1.6em;
  line-height: 22px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column > li {
    width: 50%;
    height: 45px;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    box-sizing: border-box;
  }
  #top-footer > .inner > .right > ul.column > li:nth-child(1), #top-footer > .inner > .right > ul.column > li:nth-child(3) {
    border-right: 1px solid #e6e6e6;
  }
  #top-footer > .inner > .right > ul.column > li:nth-child(1), #top-footer > .inner > .right > ul.column > li:nth-child(2) {
    border-bottom: 1px solid #e6e6e6;
  }
  #top-footer > .inner > .right > ul.column > li:nth-child(3), #top-footer > .inner > .right > ul.column > li:nth-child(4) {
    margin: 0;
  }
}

#top-footer > .inner > .right > ul.column > li > a {
  position: relative;
  color: #009fe8;
}

#top-footer > .inner > .right > ul.column > li > a:hover:before {
  content: none;
}

#top-footer > .inner > .right > ul.column > li > a:before {
  content: "";
  width: 100%;
  height: 1px;
  background: #009fe8;
  position: absolute;
  bottom: -2px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column > li > a:before {
    content: none;
  }
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column > li > a.outlink {
    left: -8px;
  }
}

#top-footer > .inner > .right > ul.column > li > a.outlink:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("../img/common/icon_outlink.png") no-repeat center center/contain;
  position: absolute;
  top: -2px;
  right: -20px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column > li > a.outlink:after {
    width: 14px;
    height: 14px;
    top: 4px;
  }
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column > li > a {
    display: inline-block;
    font-size: 12px;
  }
}

#top-footer > .inner > .right > ul.column_1 {
  margin: 0 0 0 145px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column_1 {
    display: none;
  }
}

#top-footer > .inner > .right > ul.column_2 {
  margin: 0 0 0 45px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column_2 {
    display: none;
  }
}

#top-footer > .inner > .right > ul.column_3 {
  margin: 0 0 0 85px;
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column_3 {
    margin: 0;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  #top-footer > .inner > .right > ul.column_3 li.last {
    display: none;
  }
}

/* ======================================================================
 layout p_top
====================================================================== */
/* =================================
 l_container_top
================================= */
.l_container_top {
  opacity: 0;
  position: relative;
}

/* =================================
 l_header_top
================================= */
/* =================================
 l_header_sp_top
================================= */
/* =================================
 l_main_visual_top
================================= */
/* =================================
 l_content_top
================================= */
/* =================================
 l_main_top
================================= */
/* =================================
 アプリダウンロード
================================= */
.ly-section.is-top .section-body:first-child {
  margin-top: 0;
}

.ly-section.is-top .section-body:first-child .mod-box {
  margin-top: 140px;
}

@media screen and (max-width: 768px) {
  .ly-section.is-top .section-body:first-child .mod-box {
    margin-top: 50px;
  }
}

.ly-section.is-top .section-body:first-child .mod-box:first-child {
  margin-top: 0;
}

.ly-section.is-top .section-media {
  position: relative;
  width: 100%;
}

.ly-section.is-top .section-media:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.ly-section.is-top .section-media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ly-section.is-news-banner {
  padding: 26px 0;
  text-align: left;
  font-size: 14px;
  background-color: #FFF;
}

.ly-section.is-news-banner .mod-box-list > li {
  position: relative;
  margin-top: 10px;
  font-size: 14px;
}

.ly-section.is-news-banner .mod-box-list > li a:before {
  top: 2px;
}

.ly-section.is-voice {
  margin-top: 140px;
  padding-bottom: 140px;
}

@media screen and (max-width: 768px) {
  .ly-section.is-voice {
    margin-top: 50px;
    padding-bottom: 50px;
  }
}

.ly-section.is-voice .mod-box {
  padding: 70px 0;
}

.ly-section.is-voice .mod-box:first-child {
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .ly-section.is-voice .mod-box {
    padding: 18px 0;
  }
}

.ly-section.is-voice .mod-box .mod-box-title {
  font-size: 32px;
}

@media screen and (max-width: 768px) {
  .ly-section.is-voice .mod-box .mod-box-title {
    font-size: 24px;
  }
}

.ly-section.is-voice .mod-box .mod-box-text {
  margin-top: 18px;
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .ly-section.is-voice .mod-box .mod-box-text {
    margin-top: 4px;
  }
}

.ly-section.is-voice .mod-box .mod-box-action {
  margin-top: 18px;
}

.ly-section.is-voice .mod-box .mod-box-annotation.is-voice-offer {
  margin-top: 12px;
}

.ly-section.is-voice .section-action {
  margin-top: 70px;
}

@media screen and (max-width: 768px) {
  .ly-section.is-voice .section-action {
    margin-top: 18px;
  }
}

.ly-section.is-voice .voice-read {
  padding: 60px 0;
  color: #3f3935;
  font-size: 29px;
  line-height: 1.6;
  border-bottom: 1px solid #e2e2e2;
}

.ly-section.is-app {
  padding: 60px 0;
  background-color: #fff;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .ly-section.is-app {
    padding: 0;
  }
}

.ly-section.is-news {
  padding: 70px 0;
  background-color: #f9f8f6;
  text-align: left;
}

.ly-section.is-news .mod-box-list > li {
  position: relative;
}

.ly-section.is-news .mod-box-text.is-news-link {
  margin-top: 72px;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .ly-section.is-news {
    padding: 28px 0;
  }
}

.ly-section.lv-3 .section-heading {
  font-size: 28px;
}

@media screen and (max-width: 768px) {
  .ly-section.lv-3 .section-heading {
    font-size: 18px;
  }
}

.ly-section.lv-3 .section-heading:after {
  content: '';
}

.mod-box .mod-box-action {
  margin-top: 30px;
  text-align: right;
}

.mod-box .mod-box-list > li {
  font-size: 18px;
  margin-top: 26px;
}

@media screen and (max-width: 768px) {
  .mod-box .mod-box-list > li {
    margin-top: 12px;
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.6;
  }
}

.mod-box .mod-box-list > li:first-child {
  margin-top: 0;
}

.mod-box .mod-box-list > li .is-new {
  display: inline-block;
  content: '';
  background-image: url("/images/pc/common/icon_new.png");
  width: 29px;
  height: 9px;
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .mod-box .mod-box-list > li .is-new {
    margin-left: 4px;
    background-image: url("/images/sp/common/icon_new.png");
    background-size: 37px 11px;
    width: 37px;
    height: 11px;
  }
}

.mod-box .mod-text-annotation {
  left: -0.4em;
}

.mod-box .section-description-annotation {
  margin-top: 10px;
  font-size: 12px;
  text-align: left;
  color: #3f3935;
}

.mod-box.is-case-list {
  border-bottom: 1px solid #e2e2e2;
}

.mod-box.is-case-list .mod-box-left {
  position: relative;
  max-width: 400px;
  width: 30%;
}

.mod-box.is-case-list .mod-box-left .mod-box-label {
  text-align: left;
  font-size: 0;
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-left {
    width: 48%;
  }
  .mod-box.is-case-list .mod-box-left .mod-label {
    padding: 3px 16px;
    font-size: 10px;
    font-weight: bold;
  }
}

.mod-box.is-case-list .mod-box-right {
  width: 66%;
  max-width: initial;
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-right {
    margin-top: 0;
    width: 48%;
  }
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-right .mod-box-title {
    font-size: 18px;
  }
}

.mod-box.is-case-list .mod-box-right .mod-box-text.has-label {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-right .mod-box-text.has-label {
    flex-direction: column;
    align-items: flex-start;
  }
}

.mod-box.is-case-list .mod-box-right .mod-box-text.has-label .mod-label {
  margin-left: 20px;
  flex: 0 0 auto;
}

.mod-box.is-case-list .mod-box-right .mod-box-text.has-label .mod-label.is-prefecture {
  font-size: 12px;
  padding: 3px 20px;
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-right .mod-box-text.has-label .mod-label {
    margin: 12px 0;
  }
  .mod-box.is-case-list .mod-box-right .mod-box-text.has-label .mod-label.is-prefecture {
    font-size: 10px;
    padding: 2px 12px;
  }
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-right .mod-box-text {
    font-size: 14px;
  }
}

.mod-box.is-case-list .mod-box-label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .mod-box.is-case-list .mod-box-action {
    top: 0;
  }
}

.mod-box.is-app {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  overflow: hidden;
  *zoom: 1;
}

@media screen and (min-width: 769px) {
  .mod-box.is-app._single {
    padding-right: calc(350px + 10%);
  }
  .mod-box.is-app._single .app-wrap:first-child {
    margin-right: 0;
    min-width: 350px;
    flex-shrink: 0;
  }
}

.mod-box.is-app img.btn {
  display: block;
  width: 100%;
}

.mod-box.is-app .app-wrap {
  flex: 0 1 45%;
  display: flex;
  flex-direction: column;
  max-width: 350px;
}

.mod-box.is-app .app-wrap._textmin .app-caption .app-caption-title .mod-box-title {
  font-size: 25px;
}

.mod-box.is-app .app-wrap .app-caption {
  flex: 1 0 auto;
}

.mod-box.is-app .app-wrap .app-caption .app-caption-icon {
  display: table-cell;
}

.mod-box.is-app .app-wrap .app-caption .app-caption-icon .icon-image {
  width: 80px;
}

.mod-box.is-app .app-wrap .app-caption .app-caption-title {
  display: table-cell;
  vertical-align: top;
  padding-left: 20px;
}

.mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-title {
  font-size: 28px;
  line-height: 1.2em;
}

.mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-text {
  font-size: 16px;
  margin-top: 10px;
}

.mod-box.is-app .app-wrap .app-store {
  margin-top: 20px;
}

.mod-box.is-app .app-wrap .app-store .app-store-btn {
  display: table-cell;
}

.mod-box.is-app .app-wrap .app-store .app-store-btn .store-btn-link {
  display: block;
  max-width: 180px;
  width: 100%;
}

.mod-box.is-app .app-wrap .app-store .app-store-btn:first-child {
  padding-right: 10px;
}

.mod-box.is-app .app-wrap {
  padding-bottom: 5%;
}

.mod-box.is-app .app-wrap:first-child {
  margin-right: 10%;
}

@media screen and (max-width: 768px) {
  .mod-box.is-app {
    border-bottom: 1px solid #fff;
    flex-direction: column;
  }
  .mod-box.is-app:last-child {
    border-bottom: none;
  }
  .mod-box.is-app .app-wrap {
    width: 100%;
    max-width: none;
    flex: 1 1 auto;
    padding: 30px 0;
    border-bottom: 1px solid #fff;
  }
  .mod-box.is-app .app-wrap:last-child {
    border-bottom: none;
  }
  .mod-box.is-app .app-wrap .app-inner {
    display: inline-block;
    padding: 30px 0;
  }
  .mod-box.is-app .app-wrap .app-caption .app-caption-icon .icon-image {
    width: 100px;
  }
  .mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-title {
    font-size: 22px;
  }
  .mod-box.is-app .app-wrap .app-caption .app-caption-title .mod-box-text {
    font-size: 14px;
    margin-top: 8px;
  }
}

/* =================================
 l_emergency
================================= */
.l_emergency {
  width: 100%;
  position: fixed;
  cursor: pointer;
  bottom: 0;
  height: 48px;
  z-index: 996;
  background: #e54545;
}

@media screen and (max-width: 768px) {
  .l_emergency {
    height: 50px;
  }
}

.l_emergency > .inner {
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  position: relative;
  padding: 0 36px;
}

@media screen and (max-width: 768px) {
  .l_emergency > .inner {
    padding: 0 54px;
  }
}

.l_emergency > .inner:before {
  content: "";
  width: 28px;
  height: 28px;
  background: url("../img/common/icon_caution.svg") no-repeat center center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}

@media screen and (max-width: 768px) {
  .l_emergency > .inner:before {
    width: 20px;
    height: 20px;
    left: 20px;
  }
}

.l_emergency > .inner:after {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff url("../img/common/icon_modal.svg") no-repeat center center/50% 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
}

@media screen and (max-width: 768px) {
  .l_emergency > .inner:after {
    width: 20px;
    height: 20px;
    right: 20px;
  }
}

.l_emergency > .inner .overtext {
  font-size: 1.6rem;
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  text-overflow: ellipsis;
  position: relative;
  padding: 2px 0;
}

@media screen and (max-width: 768px) {
  .l_emergency > .inner .overtext {
    font-size: 1.4rem;
  }
}

.l_emergency > .inner .overtext .txt {
  font-size: 1.6rem;
  color: #fff;
  background: linear-gradient(transparent 95%, #fff 0%);
  padding: 2px 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .l_emergency > .inner .overtext .txt {
    font-size: 1.4rem;
  }
}

/* =================================
 l_modal
================================= */
.l_modal {
  position: fixed;
  z-index: 999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
}

.l_modal > .outer {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.l_modal > .outer > .inner {
  width: 740px;
  background: #fff;
  padding: 60px 40px 60px 60px;
  border-radius: 20px;
  position: relative;
  max-height: 80%;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner {
    width: calc(100% - 40px);
    max-height: calc(100% - 40px);
    padding: 50px 20px 50px 35px;
  }
}

.l_modal > .outer > .inner #modaltxt a {
  position: relative;
  color: #009fe8;
  border-bottom: 1px solid #009fe8;
}

.l_modal > .outer > .inner #modaltxt a.outlink {
  margin-right: 4px;
}

.l_modal > .outer > .inner #modaltxt a.outlink:after {
  content: "";
  width: 20px;
  height: 16px;
  background: url("../img/common/icon_outlink.png") no-repeat right center/contain;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner #modaltxt a.outlink:after {
    width: 17px;
    height: 14px;
  }
}

.l_modal > .outer > .inner.__max100 {
  height: 100%;
}

.l_modal > .outer > .inner.__max100 #modaltxt {
  height: 100%;
}

.l_modal > .outer > .inner #closebtn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: absolute;
  top: -15px;
  right: -15px;
  background: #009fe8 url("../img/common/icon_close.svg") no-repeat center center/40% 40%;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner #closebtn {
    width: 45px;
    height: 45px;
    top: -10px;
    right: -10px;
  }
}

.l_modal > .outer > .inner .wrap {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner .wrap {
    -webkit-overflow-scrolling: touch;
  }
}

.l_modal > .outer > .inner .wrap .textwrap {
  margin: 0 20px 0 0;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner .wrap .textwrap {
    margin: 0 15px 0 0;
  }
}

.l_modal > .outer > .inner .wrap .textwrap .ttl {
  font-size: 2rem;
  line-height: 1.67;
  font-weight: bold;
  margin: 0 0 36px;
}

.l_modal > .outer > .inner .wrap .textwrap .txt {
  height: 100%;
  overflow-y: auto;
  font-size: 1.6rem;
  line-height: 1.67;
}

@media screen and (max-width: 768px) {
  .l_modal > .outer > .inner .wrap .textwrap .txt {
    font-size: 1.4rem;
  }
}

.l_modal._active {
  visibility: visible;
  opacity: 1;
}

.list_01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.list_01 .item {
  max-width: 270px;
  margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
  .list_01 .item {
    max-width: 46%;
    margin-bottom: 40px;
  }
}

.list_01 .item.emty {
  width: 270px;
}

@media screen and (max-width: 768px) {
  .list_01 .item.emty {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .list_01 .item.no-mg {
    margin: 0;
  }
}

.list_01 .item .top {
  margin-bottom: 20px;
}

.list_01 .item .top a {
  display: block;
}

.list_01 .item .top img {
  width: 100%;
  margin-bottom: 15px;
}

.list_01 .item .top p {
  text-align: center;
}

.list_01 .item .top .bold {
  font-weight: bold;
}

.list_01 .item .c_btn_1 {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .list_01 .item .c_btn_1 p {
    font-size: 12px;
    padding-right: 22px;
  }
}

/* ======================================================================
 z-index
====================================================================== */
.l_loader {
  z-index: 1000;
}

.l_menu_sp {
  z-index: 999;
}

.l_header {
  z-index: 998;
}

.l_header_sp {
  z-index: 998;
}

.c_btn_p_top {
  z-index: 997;
}

.l_side {
  z-index: 996;
}

/* =================================
 p_top
================================= */
.l_menu_sp_top {
  z-index: 999;
}

.l_header_top {
  z-index: 998;
}

.l_header_sp_top {
  z-index: 998;
}

.c_btn_p_top_top {
  z-index: 997;
}

.l_side_top {
  z-index: 996;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2NvbXBhc3Muc2NzcyIsImNvbXBhc3MvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcGFzcy9mdW5jdGlvbnMvX2xpc3RzLnNjc3MiLCJjb21wYXNzL2Z1bmN0aW9ucy9fY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnNjc3MiLCJjb21wYXNzL2Z1bmN0aW9ucy9fZ3JhZGllbnRfc3VwcG9ydC5zY3NzIiwiY29tcGFzcy9mdW5jdGlvbnMvX2NvbnN0YW50cy5zY3NzIiwiY29tcGFzcy9mdW5jdGlvbnMvX2Rpc3BsYXkuc2NzcyIsImNvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsImNvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiY29tcGFzcy91dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJjb21wYXNzL3V0aWxpdGllcy9jb2xvci9fY29udHJhc3Quc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCJjb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19yZXNldC5zY3NzIiwiY29tcGFzcy9yZXNldC9fdXRpbGl0aWVzLnNjc3MiLCJjb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsImNvbXBhc3MvX3N1cHBvcnQuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCJjb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL190YWctY2xvdWQuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX21pbi5zY3NzIiwiY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX2Jhc2Uuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX3Nwcml0ZS1pbWcuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsImNvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1ucy5zY3NzIiwiY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19ib3JkZXJzLnNjc3MiLCJjb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCJjb21wYXNzL3R5cG9ncmFwaHkvX2xpbmtzLnNjc3MiLCJjb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX2hvdmVyLWxpbmsuc2NzcyIsImNvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsImNvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fdW5zdHlsZWQtbGluay5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L19saXN0cy5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsImNvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9fYnVsbGV0cy5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtbGlzdC5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsImNvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCJjb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsImNvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19lbGxpcHNpcy5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX25vd3JhcC5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCJjb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fZm9yY2Utd3JhcC5zY3NzIiwiY29tcGFzcy9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsImNvbXBhc3MvbGF5b3V0L19ncmlkLWJhY2tncm91bmQuc2NzcyIsImNvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCJjb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiY29tcGFzcy9fY3NzMy5zY3NzIiwiY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCJjb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsImNvbXBhc3MvY3NzMy9fYm94LXNoYWRvdy5zY3NzIiwiY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCJjb21wYXNzL2NzczMvX2JveC1zaXppbmcuc2NzcyIsImNvbXBhc3MvY3NzMy9fYm94LnNjc3MiLCJjb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiY29tcGFzcy9jc3MzL19iYWNrZ3JvdW5kLW9yaWdpbi5zY3NzIiwiY29tcGFzcy9jc3MzL19mb250LWZhY2Uuc2NzcyIsImNvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJjb21wYXNzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImNvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCJjb21wYXNzL2NzczMvX2h5cGhlbmF0aW9uLnNjc3MiLCJjb21wYXNzL2NzczMvX2ZpbHRlci5zY3NzIiwiY29tcGFzcy9jc3MzL19waWUuc2NzcyIsImNvbXBhc3MvY3NzMy9fdXNlci1pbnRlcmZhY2Uuc2NzcyIsImNvbXBhc3MvY3NzMy9fZmxleGJveC5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJfc2V0dGluZy5zY3NzIiwiX21peGluLnNjc3MiLCJfYmFzZS5zY3NzIiwiX3Nwcml0ZS5zY3NzIiwiX3V0aWxpdHkuc2NzcyIsIl9jb21wb25lbnQuc2NzcyIsIl9sYXlvdXQuc2NzcyIsIl96LWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnY29tcGFzcyc7XG5AaW1wb3J0ICdjb21wYXNzL3N1cHBvcnQnO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gY29tbW9uIHN0eWxlIGluZGV4XG7jg7tyZXNldFxu44O7c2V0dGluZ1xu44O7bWl4aW5cbuODu2Jhc2VcbuODu3Nwcml0ZVxu44O7dXRpbGl0eVxu44O7Y29tcG9uZW50XG7jg7tsYXlvdXRcbuODu3otaW5kZXhcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8g44Oq44K744OD44OIXG5AaW1wb3J0ICdyZXNldCc7XG5cbi8vIOOCu+ODg+ODhuOCo+ODs+OCsFxuQGltcG9ydCAnc2V0dGluZyc7XG5cbi8vIOODn+ODg+OCr+OCueOCpOODs1xuQGltcG9ydCAnbWl4aW4nO1xuXG4vLyDjg5njg7zjgrlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyDjgrnjg5fjg6njgqTjg4hcbkBpbXBvcnQgJ3Nwcml0ZSc7XG5cbi8vIOaxjueUqOOCr+ODqeOCuVxuQGltcG9ydCAndXRpbGl0eSc7XG5cbi8vIOOCs+ODs+ODneODvOODjeODs+ODiFxuQGltcG9ydCAnY29tcG9uZW50JztcblxuLy8g44Os44Kk44Ki44Km44OIXG5AaW1wb3J0ICdsYXlvdXQnO1xuXG4vLyB6LWluZGV4XG5AaW1wb3J0ICd6LWluZGV4JztcbiIsIkBpbXBvcnQgXCJjb21wYXNzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdXRpbGl0aWVzXCI7XG5AaW1wb3J0IFwiY29tcGFzcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiY29tcGFzcy9jc3MzXCI7XG4iLCJAaW1wb3J0IFwiZnVuY3Rpb25zL2xpc3RzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9ncmFkaWVudF9zdXBwb3J0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnN0YW50c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbG9yc1wiO1xuIiwiLy9cbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBsaXN0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvbGlzdHMucmJcbi8vXG5cblxuLy8gY29tcGFjdCBpcyBwYXJ0IG9mIGxpYnNhc3NcblxuQGZ1bmN0aW9uIC1jb21wYXNzLW50aCgkbGlzdCwgJHBsYWNlKSB7XG4gIC8vIFllcCwgU2Fzcy1saXN0cyBhcmUgMS1pbmRleGVkLlxuICBAaWYgJHBsYWNlID09IFwiZmlyc3RcIiB7XG4gICAgJHBsYWNlOiAxO1xuICB9XG4gIEBpZiAkcGxhY2UgPT0gXCJsYXN0XCIge1xuICAgICRwbGFjZTogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICBAcmV0dXJuIG50aCgkbGlzdCwgJHBsYWNlKTtcbn1cblxuLy8gY29tcGFzc19saXN0IGNhbid0IGJlIGltcGxlbWVudGVkIGluIHNhc3Mgc2NyaXB0XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1zcGFjZS1saXN0KCRpdGVtMSwgJGl0ZW0yOm51bGwsICRpdGVtMzpudWxsLCAkaXRlbTQ6bnVsbCwgJGl0ZW01Om51bGwsICRpdGVtNjpudWxsLCAkaXRlbTc6bnVsbCwgJGl0ZW04Om51bGwsICRpdGVtOTpudWxsKSB7XG4gICRpdGVtczogKCk7XG4gIC8vIFN1cHBvcnQgZm9yIHBvbHltb3JwaGlzbS5cbiAgQGlmIHR5cGUtb2YoJGl0ZW0xKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkaXRlbXM6ICRpdGVtMTtcbiAgfSBAZWxzZSB7XG4gICAgJGl0ZW1zOiAkaXRlbTEgJGl0ZW0yICRpdGVtMyAkaXRlbTQgJGl0ZW01ICRpdGVtNiAkaXRlbTcgJGl0ZW04ICRpdGVtOTtcbiAgfVxuXG4gICRmdWxsOiBmaXJzdC12YWx1ZS1vZigkaXRlbXMpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRpdGVtcykge1xuICAgICRpdGVtOiBudGgoJGl0ZW1zLCAkaSk7XG4gICAgQGlmICRpdGVtICE9IG51bGwge1xuICAgICAgJGZ1bGw6ICRmdWxsICRpdGVtO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1saXN0LXNpemUoJGxpc3QpIHtcbiAgQHJldHVybiBsZW5ndGgoJGxpc3QpO1xufVxuXG5AZnVuY3Rpb24gLWNvbXBhc3Mtc2xpY2UoJGxpc3QsICRzdGFydCwgJGVuZDogZmFsc2UpIHtcbiAgQGlmICRlbmQgPT0gZmFsc2Uge1xuICAgICRlbmQ6IGxlbmd0aCgkbGlzdCk7XG4gIH1cbiAgJGZ1bGw6IG50aCgkbGlzdCwgJHN0YXJ0KTtcbiAgQGZvciAkaSBmcm9tICRzdGFydCArIDEgdGhyb3VnaCAkZW5kIHtcbiAgICAkZnVsbDogJGZ1bGwsIG50aCgkbGlzdCwgJGkpO1xuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiByZWplY3QoJGxpc3QsICRyZWplY3QxLCAkcmVqZWN0MjpudWxsLCAkcmVqZWN0MzpudWxsLCAkcmVqZWN0NDpudWxsLCAkcmVqZWN0NTpudWxsLCAkcmVqZWN0NjpudWxsLCAkcmVqZWN0NzpudWxsLCAkcmVqZWN0ODpudWxsLCAkcmVqZWN0OTpudWxsKSB7XG4gICRyZWplY3RzOiAkcmVqZWN0MSwgJHJlamVjdDIsICRyZWplY3QzLCAkcmVqZWN0NCwgJHJlamVjdDUsICRyZWplY3Q2LCAkcmVqZWN0NywgJHJlamVjdDgsICRyZWplY3Q5O1xuXG4gICRmdWxsOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBpbmRleCgkcmVqZWN0cywgJGl0ZW0pIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRmdWxsIHtcbiAgICAgICAgJGZ1bGw6ICRmdWxsLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJGZ1bGw6ICRpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gZmlyc3QtdmFsdWUtb2YoJGxpc3QpIHtcbiAgQHJldHVybiBudGgoJGxpc3QsIDEpO1xufVxuXG5AZnVuY3Rpb24gY29tcGFjdCgkdmFycy4uLikge1xuICAkc2VwYXJhdG9yOiBsaXN0LXNlcGFyYXRvcigkdmFycyk7XG4gICRsaXN0OiAoKTtcbiAgQGVhY2ggJHZhciBpbiAkdmFycyB7XG4gICAgICBAaWYgJHZhciB7XG4gICAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHZhciwgJHNlcGFyYXRvcik7XG4gICAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNyb3NzIGJyb3dzZXIgc3VwcG9ydCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBwcmVmaXhlZCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgJHByZWZpeGVkOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkcHJlZml4ZWQ6ICRwcmVmaXhlZCBvciBzdHItaW5kZXgoJGl0ZW0sICd1cmwnKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICdyZ2InKSAhPSAxIGFuZCBzdHItaW5kZXgoJGl0ZW0sICcjJykgIT0gMTtcbiAgICB9IEBlbHNlaWYgdHlwZS1vZigkaXRlbSkgPT0gJ2NvbG9yJyB7XG4gICAgfSBAZWxzZWlmICRpdGVtICE9IG51bGwge1xuICAgICAgJHByZWZpeGVkOiB0cnVlO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcmVmaXhlZDtcbn1cblxuQGZ1bmN0aW9uIHByZWZpeCgkcHJlZml4LCAkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICAkcHJvcGVydGllczogXCJcIjtcblxuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eTEpID09ICdsaXN0JyB7XG4gICAgLy8gUGFzc2luZyBhIHNpbmdsZSBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxO1xuICB9IEBlbHNlIHtcbiAgICAvLyBQYXNzaW5nIG11bHRpcGxlIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gIH1cblxuICAkcHJvcHM6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRpdGVtID09IG51bGwge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgcHJlZml4ZWQoJHByZWZpeCwgJGl0ZW0pIHtcbiAgICAgICAgJGl0ZW06ICN7JHByZWZpeH0tI3skaXRlbX07XG4gICAgICB9XG4gICAgICBAaWYgJHByb3BzIHtcbiAgICAgICAgJHByb3BzOiAkcHJvcHMsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkcHJvcHM6ICRpdGVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRwcm9wcztcbn1cblxuQGZ1bmN0aW9uIC1zdmcoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1zdmcnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vd2coJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vd2cnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC13ZWJraXQoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy13ZWJraXQnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1tb3ooJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1tb3onLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1vKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXBpZSgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXBpZScsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgZ3JhZGllbnQgc3VwcG9ydCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3YwLjEyLjIvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9ncmFkaWVudF9zdXBwb3J0LnJiXG4vLyBcblxuQGZ1bmN0aW9uIGNvbG9yLXN0b3BzKCRpdGVtMSwgJGl0ZW0yOm51bGwsICRpdGVtMzpudWxsLCAkaXRlbTQ6bnVsbCwgJGl0ZW01Om51bGwsICRpdGVtNjpudWxsLCAkaXRlbTc6bnVsbCwgJGl0ZW04Om51bGwsICRpdGVtOTpudWxsKSB7XG4gICRpdGVtczogJGl0ZW0yLCAkaXRlbTMsICRpdGVtNCwgJGl0ZW01LCAkaXRlbTYsICRpdGVtNywgJGl0ZW04LCAkaXRlbTk7XG4gICRmdWxsOiAkaXRlbTE7XG4gIEBlYWNoICRpdGVtIGluICRpdGVtcyB7XG4gICAgQGlmICRpdGVtICE9IG51bGwge1xuICAgICAgJGZ1bGw6ICRmdWxsLCAkaXRlbTtcbiAgICB9ICAgIFxuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59IiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY29uc3RhbnRzIGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29uc3RhbnRzLnJiXG4vLyBcblxuQGZ1bmN0aW9uIG9wcG9zaXRlLXBvc2l0aW9uKCRmcm9tKSB7XG4gICAgQGlmICgkZnJvbSA9PSB0b3ApIHtcbiAgICAgICAgQHJldHVybiBib3R0b207XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gYm90dG9tKSB7XG4gICAgICAgIEByZXR1cm4gdG9wO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGxlZnQpIHtcbiAgICAgICAgQHJldHVybiByaWdodDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSByaWdodCkge1xuICAgICAgICBAcmV0dXJuIGxlZnQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gY2VudGVyKSB7XG4gICAgICAgIEByZXR1cm4gY2VudGVyO1xuICAgIH1cbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGRpc3BsYXkgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZGlzcGxheS5yYlxuLy8gXG5cbkBmdW5jdGlvbiBlbGVtZW50cy1vZi10eXBlKCR0eXBlKXtcbiAgICBAaWYgKCR0eXBlID09IGJsb2NrKXtcbiAgICAgICAgQHJldHVybiBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwgYmxvY2txdW90ZSwgY2VudGVyLCBkaXIsIGRpdiwgZGQsIGRldGFpbHMsIGRsLCBkdCwgZmllbGRzZXQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9ybSwgZm9vdGVyLCBmcmFtZXNldCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaHIsIGhlYWRlciwgaGdyb3VwLCBpc2luZGV4LCBtYWluLCBtZW51LCBuYXYsIG5vZnJhbWVzLCBub3NjcmlwdCwgb2wsIHAsIHByZSwgc2VjdGlvbiwgc3VtbWFyeSwgdWw7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lKXtcbiAgICAgICAgQHJldHVybiBhLCBhYmJyLCBhY3JvbnltLCBhdWRpbywgYiwgYmFzZWZvbnQsIGJkbywgYmlnLCBiciwgY2FudmFzLCBjaXRlLCBjb2RlLCBjb21tYW5kLCBkYXRhbGlzdCwgZGZuLCBlbSwgZW1iZWQsIGZvbnQsIGksIGltZywgaW5wdXQsIGtleWdlbiwga2JkLCBsYWJlbCwgbWFyaywgbWV0ZXIsIG91dHB1dCwgcHJvZ3Jlc3MsIHEsIHJwLCBydCwgcnVieSwgcywgc2FtcCwgc2VsZWN0LCBzbWFsbCwgc3Bhbiwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0ZXh0YXJlYSwgdGltZSwgdHQsIHUsIHZhciwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBpbmxpbmUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGltZztcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZSl7XG4gICAgICAgIEByZXR1cm4gdGFibGU7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gbGlzdC1pdGVtKXtcbiAgICAgICAgQHJldHVybiBsaTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3ctZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRib2R5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWhlYWRlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGhlYWQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtZm9vdGVyLWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Zm9vdDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1yb3cpe1xuICAgICAgICBAcmV0dXJuIHRyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWNlbGwpe1xuICAgICAgICBAcmV0dXJuIHRoLCB0ZDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1ibG9jayl7XG4gICAgICAgIEByZXR1cm4gYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1LWlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGVtYmVkLCBrZXlnZW4sIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUpe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBhdWRpbywgY2FudmFzLCBjb21tYW5kLCBkYXRhbGlzdCwgZGV0YWlscywgZW1iZWQsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwga2V5Z2VuLCBtYWluLCBtYXJrLCBtZW51LCBtZXRlciwgbmF2LCBvdXRwdXQsIHByb2dyZXNzLCBycCwgcnQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGV4dC1pbnB1dCl7XG4gICAgICAgIEByZXR1cm4gaW5wdXQsIHRleHRhcmVhO1xuICAgIH1cbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbG9ycyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9jb3JlL2xpYi9jb21wYXNzL2NvcmUvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jb2xvcnMucmJcbi8vXG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBsaWdodGVuL2RhcmtlbiBzbyB0aGF0IG5lZ2F0aXZlIHZhbHVlcyBjYW4gYmUgdXNlZC5cbkBmdW5jdGlvbiBhZGp1c3QtbGlnaHRuZXNzKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIFNjYWxlcyBhIGNvbG9yJ3MgbGlnaHRuZXNzIGJ5IHNvbWUgcGVyY2VudGFnZS5cbi8vIElmIHRoZSBhbW91bnQgaXMgbmVnYXRpdmUsIHRoZSBjb2xvciBpcyBzY2FsZWQgZGFya2VyLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2NhbGVkIGxpZ2h0ZXIuXG4vLyBUaGlzIHdpbGwgbmV2ZXIgcmV0dXJuIGEgcHVyZSBsaWdodCBvciBkYXJrIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtbGlnaHRuZXNzKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkYW1vdW50KTtcbn1cblxuLy8gYSBnZW5lcmljaXplZCB2ZXJzaW9uIG9mIHNhdHVyYXRlL2Rlc2F0dXJhdGUgc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LXNhdHVyYXRpb24oJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBhZGp1c3QtY29sb3IoJGNvbG9yLCAkc2F0dXJhdGlvbjogJGFtb3VudCk7XG59XG5cbi8vIFNjYWxlcyBhIGNvbG9yJ3Mgc2F0dXJhdGlvbiBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgZGVzYXR1cmF0ZWQsIGlmIHBvc2l0aXZlLCBpdCBpcyBzYXR1cmF0ZWQuXG4vLyBUaGlzIHdpbGwgbmV2ZXIgcmV0dXJuIGEgcHVyZSBzYXR1cmF0ZWQgb3IgZGVzYXR1cmF0ZWQgY29sb3IgdW5sZXNzIHRoZSBhbW91bnQgaXMgMTAwJS5cbkBmdW5jdGlvbiBzY2FsZS1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkc2F0dXJhdGlvbjogJGFtb3VudCk7XG59XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoIzAwMDAwMCwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgICBAcmV0dXJuIG1peCgjZmZmZmZmLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9jb2xvclwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9nZW5lcmFsXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Nwcml0ZXNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdGFibGVzXCI7XG5cbi8vIGRlcHJlY2F0ZWRcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saXN0c1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdGV4dFwiO1xuIiwiQGltcG9ydCBcImNvbG9yL2NvbnRyYXN0XCI7IiwiJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0OiAgICMwMDAgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodC1kZWZhdWx0OiAgI2ZmZiAhZGVmYXVsdDtcbiRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGQ6IDMwJSAhZGVmYXVsdDtcblxuLy8gUmV0dXJucyB0aGUgYCRsaWdodGAgY29sb3Igd2hlbiB0aGUgYCRjb2xvcmAgaXMgZGFya1xuLy8gYW5kIHRoZSBgJGRhcmtgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8gVGhlIGAkdGhyZXNob2xkYCBpcyBhIHBlcmNlbnQgYmV0d2VlbiBgMCVgIGFuZCBgMTAwJWAgYW5kIGl0IGRldGVybWluZXNcbi8vIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLlxuQGZ1bmN0aW9uIGNvbnRyYXN0LWNvbG9yKFxuICAkY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIEByZXR1cm4gaWYobGlnaHRuZXNzKCRjb2xvcikgPCAkdGhyZXNob2xkLCAkbGlnaHQsICRkYXJrKVxufVxuXG4vLyBTZXRzIHRoZSBzcGVjaWZpZWQgYmFja2dyb3VuZCBjb2xvciBhbmQgY2FsY3VsYXRlcyBhIGRhcmsgb3IgbGlnaHQgY29udHJhc3RlZCB0ZXh0IGNvbG9yLlxuLy8gVGhlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIFtjb250cmFzdC1jb2xvciBmdW5jdGlvbl0oI2Z1bmN0aW9uLWNvbnRyYXN0LWNvbG9yKS5cbkBtaXhpbiBjb250cmFzdGVkKFxuICAkYmFja2dyb3VuZC1jb2xvcixcbiAgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCxcbiAgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LFxuICAkdGhyZXNob2xkOiAkY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkXG4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiBjb250cmFzdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgJGRhcmssICRsaWdodCwgJHRocmVzaG9sZCk7XG59IiwiQGltcG9ydCBcImdlbmVyYWwvcmVzZXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcImdlbmVyYWwvdGFnLWNsb3VkXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9oYWNrc1wiO1xuQGltcG9ydCBcImdlbmVyYWwvbWluXCI7XG4iLCIvLyBUaGlzIG1vZHVsZSBoYXMgbW92ZWQuXG5AaW1wb3J0IFwiLi4vLi4vcmVzZXQvdXRpbGl0aWVzXCI7XG4iLCIvLyBCYXNlZCBvbiBbRXJpYyBNZXllcidzIHJlc2V0IDIuMF0oaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9pbmRleC5odG1sKVxuLy8gR2xvYmFsIHJlc2V0IHJ1bGVzLlxuLy8gRm9yIG1vcmUgc3BlY2lmaWMgcmVzZXRzLCB1c2UgdGhlIHJlc2V0IG1peGlucyBwcm92aWRlZCBiZWxvd1xuQG1peGluIGdsb2JhbC1yZXNldCB7XG4gIGh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuICBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG4gIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbiAgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbiAgYiwgdSwgaSwgY2VudGVyLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuICBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbiAgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG4gIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbiAgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBcbiAgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG4gIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIEBpbmNsdWRlIHJlc2V0LWZvbnQ7IH1cbiAgLy8gVW5saWtlIEVyaWMncyBvcmlnaW5hbCByZXNldCwgd2UgcmVzZXQgdGhlIGh0bWwgZWxlbWVudCB0byBiZSBjb21wYXRpYmxlXG4gIC8vIHdpdGggdGhlIHZlcnRpY2FsIHJoeXRobSBtaXhpbnMuXG4gIGh0bWwge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJvZHk7IH1cbiAgb2wsIHVsIHtcbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlOyB9XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZTsgfVxuICBjYXB0aW9uLCB0aCwgdGQge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlLWNlbGw7IH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtcXVvdGF0aW9uOyB9XG4gIGEgaW1nIHtcbiAgICBAaW5jbHVkZSByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyOyB9XG4gIEBpbmNsdWRlIHJlc2V0LWh0bWw1OyB9XG5cbi8vIFJlc2V0IGFsbCBlbGVtZW50cyB3aXRoaW4gc29tZSBzZWxlY3RvciBzY29wZS4gVG8gcmVzZXQgdGhlIHNlbGVjdG9yIGl0c2VsZixcbi8vIG1peGluIHRoZSBhcHByb3ByaWF0ZSByZXNldCBtaXhpbiBmb3IgdGhhdCBlbGVtZW50IHR5cGUgYXMgd2VsbC4gVGhpcyBjb3VsZCBiZVxuLy8gdXNlZnVsIGlmIHlvdSB3YW50IHRvIHN0eWxlIGEgcGFydCBvZiB5b3VyIHBhZ2UgaW4gYSBkcmFtYXRpY2FsbHkgZGlmZmVyZW50IHdheS5cbkBtaXhpbiBuZXN0ZWQtcmVzZXQge1xuICBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZTsgfVxuICBjYXB0aW9uLCB0aCwgdGQge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlLWNlbGw7IH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtcXVvdGF0aW9uOyB9XG4gIGEgaW1nIHtcbiAgICBAaW5jbHVkZSByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyOyB9IH1cblxuLy8gUmVzZXQgdGhlIGJveCBtb2RlbCBtZWFzdXJlbWVudHMuXG5AbWl4aW4gcmVzZXQtYm94LW1vZGVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLy8gUmVzZXQgdGhlIGZvbnQgYW5kIHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiByZXNldC1mb250IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLy8gUmVzZXRzIHRoZSBvdXRsaW5lIHdoZW4gZm9jdXMuXG4vLyBGb3IgYWNjZXNzaWJpbGl0eSB5b3UgbmVlZCB0byBhcHBseSBzb21lIHN0eWxpbmcgaW4gaXRzIHBsYWNlLlxuQG1peGluIHJlc2V0LWZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vLyBSZXNldCBhIGJvZHkgZWxlbWVudC5cbkBtaXhpbiByZXNldC1ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLy8gUmVzZXQgdGhlIGxpc3Qgc3R5bGUgb2YgYW4gZWxlbWVudC5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vLyBSZXNldCBhIHRhYmxlXG5AbWl4aW4gcmVzZXQtdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vLyBSZXNldCBhIHRhYmxlIGNlbGwgKGB0aGAsIGB0ZGApXG5AbWl4aW4gcmVzZXQtdGFibGUtY2VsbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLy8gUmVzZXQgYSBxdW90YXRpb24gKGBxYCwgYGJsb2NrcXVvdGVgKVxuQG1peGluIHJlc2V0LXF1b3RhdGlvbiB7XG4gIHF1b3Rlczogbm9uZTtcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IFxuICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuXG4vLyBSZXNldHMgdGhlIGJvcmRlci5cbkBtaXhpbiByZXNldC1pbWFnZS1hbmNob3ItYm9yZGVyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8vIFVucmVjb2duaXplZCBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGlubGluZS5cbi8vIFRoaXMgcmVzZXQgcHJvdmlkZXMgYSBiYXNpYyByZXNldCBmb3IgYmxvY2sgaHRtbDUgZWxlbWVudHNcbi8vIHNvIHRoZXkgYXJlIHJlbmRlcmVkIGNvcnJlY3RseSBpbiBicm93c2VycyB0aGF0IGRvbid0IHJlY29nbml6ZSB0aGVtXG4vLyBhbmQgcmVzZXQgaW4gYnJvd3NlcnMgdGhhdCBoYXZlIGRlZmF1bHQgc3R5bGVzIGZvciB0aGVtLlxuQG1peGluIHJlc2V0LWh0bWw1IHtcbiAgI3tlbGVtZW50cy1vZi10eXBlKGh0bWw1LWJsb2NrKX0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBkaXNwbGF5IG9mIGlubGluZSBhbmQgYmxvY2sgZWxlbWVudHMgdG8gdGhlaXIgZGVmYXVsdCBkaXNwbGF5XG4vLyBhY2NvcmRpbmcgdG8gdGhlaXIgdGFnIHR5cGUuIEVsZW1lbnRzIHRoYXQgaGF2ZSBhIGRlZmF1bHQgZGlzcGxheSB0aGF0IHZhcmllcyBhY3Jvc3Ncbi8vIHZlcnNpb25zIG9mIGh0bWwgb3IgYnJvd3NlciBhcmUgbm90IGhhbmRsZWQgaGVyZSwgYnV0IHRoaXMgY292ZXJzIHRoZSA5MCUgdXNlIGNhc2UuXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICAvLyBUdXJuIG9mZiB0aGUgZGlzcGxheSBmb3IgYm90aCBvZiB0aGVzZSBjbGFzc2VzXG4vLyAgICAgLnVucmVnaXN0ZXJlZC1vbmx5LCAucmVnaXN0ZXJlZC1vbmx5XG4vLyAgICAgICBkaXNwbGF5OiBub25lXG4vLyAgICAgLy8gTm93IHR1cm4gb25seSBvbmUgb2YgdGhlbSBiYWNrIG9uIGRlcGVuZGluZyBvbiBzb21lIG90aGVyIGNvbnRleHQuXG4vLyAgICAgYm9keS5yZWdpc3RlcmVkXG4vLyAgICAgICArcmVzZXQtZGlzcGxheShcIi5yZWdpc3RlcmVkLW9ubHlcIilcbi8vICAgICBib2R5LnVucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIudW5yZWdpc3RlcmVkLW9ubHlcIilcbkBtaXhpbiByZXNldC1kaXNwbGF5KCRzZWxlY3RvcjogXCJcIiwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImlubGluZVwiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImJsb2NrXCIpLCAkc2VsZWN0b3IpfSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuIiwiLy8gQGRvYyBvZmZcbi8vIEV4dGVuZHMgdGhlIGJvdHRvbSBvZiB0aGUgZWxlbWVudCB0byBlbmNsb3NlIGFueSBmbG9hdHMgaXQgY29udGFpbnMuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJoYWNrc1wiO1xuXG4vLyBUaGlzIGJhc2ljIG1ldGhvZCBpcyBwcmVmZXJyZWQgZm9yIHRoZSB1c3VhbCBjYXNlLCB3aGVuIHBvc2l0aW9uZWRcbi8vIGNvbnRlbnQgd2lsbCBub3Qgc2hvdyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIGNvbnRhaW5lci5cbi8vXG4vLyBSZWNvbW1lbmRhdGlvbnMgaW5jbHVkZSB1c2luZyB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYSB3aWR0aC5cbi8vIENyZWRpdDogW3F1aXJrc21vZGUub3JnXShodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAwNS8wMy9jbGVhcmluZ19mbG9hdHMuaHRtbClcbkBtaXhpbiBjbGVhcmZpeCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG5cbi8vIFRoaXMgb2xkZXIgbWV0aG9kIGZyb20gUG9zaXRpb24gSXMgRXZlcnl0aGluZyBjYWxsZWRcbi8vIFtFYXN5IENsZWFyaW5nXShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9lYXN5Y2xlYXJpbmcuaHRtbClcbi8vIGhhcyB0aGUgYWR2YW50YWdlIG9mIGFsbG93aW5nIHBvc2l0aW9uZWQgZWxlbWVudHMgdG8gaGFuZ1xuLy8gb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIgYXQgdGhlIGV4cGVuc2Ugb2YgbW9yZSB0cmlja3kgQ1NTLlxuQG1peGluIGxlZ2FjeS1waWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50ICAgIDogXCJcXDAwMjBcIjtcbiAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgaGVpZ2h0ICAgICA6IDA7XG4gICAgY2xlYXIgICAgICA6IGJvdGg7XG4gICAgb3ZlcmZsb3cgICA6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5IDogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG5cbi8vIFRoaXMgaXMgYW4gdXBkYXRlZCB2ZXJzaW9uIG9mIHRoZSBQSUUgY2xlYXJmaXggbWV0aG9kIHRoYXQgcmVkdWNlcyB0aGUgYW1vdW50IG9mIENTUyBvdXRwdXQuXG4vLyBJZiB5b3UgbmVlZCB0byBzdXBwb3J0IEZpcmVmb3ggYmVmb3JlIDMuNSB5b3UgbmVlZCB0byB1c2UgYGxlZ2FjeS1waWUtY2xlYXJmaXhgIGluc3RlYWQuXG4vL1xuLy8gQWRhcHRlZCBmcm9tOiBbQSBuZXcgbWljcm8gY2xlYXJmaXggaGFja10oaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svKVxuQG1peGluIHBpZS1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zdXBwb3J0XCI7XG5cbi8vIFRoZSBgem9vbWAgYXBwcm9hY2ggZ2VuZXJhdGVzIGxlc3MgQ1NTIGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZS5cbi8vIFNldCB0aGlzIHRvIGBibG9ja2AgdG8gdXNlIHRoZSBkaXNwbGF5LXByb3BlcnR5IHRvIGhhY2sgdGhlXG4vLyBlbGVtZW50IHRvIGdhaW4gbGF5b3V0LlxuJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaDogem9vbSAhZGVmYXVsdDtcblxuLy8gVGhpcyBtaXhpbiBjYXVzZXMgYW4gZWxlbWVudCBtYXRjaGluZyB0aGUgc2VsZWN0b3Jcbi8vIHRvIGdhaW4gdGhlIFwiaGFzTGF5b3V0XCIgcHJvcGVydHkgaW4gaW50ZXJuZXQgZXhwbG9yZXIuXG4vLyBNb3JlIGluZm9ybWF0aW9uIG9uIFtoYXNMYXlvdXRdKGh0dHA6Ly9yZWZlcmVuY2Uuc2l0ZXBvaW50LmNvbS9jc3MvaGFzbGF5b3V0KS5cbkBtaXhpbiBoYXMtbGF5b3V0KCRhcHByb2FjaDogJGRlZmF1bHQtaGFzLWxheW91dC1hcHByb2FjaCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgQGlmICRhcHByb2FjaCA9PSB6b29tIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9IEBlbHNlIGlmICRhcHByb2FjaCA9PSBibG9jayB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LWJsb2NrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGhhcy1sYXlvdXQgYXBwcm9hY2g6ICN7JGFwcHJvYWNofVwiO1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC16b29tIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IHtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG5AbWl4aW4gaGFzLWxheW91dC1ibG9jayB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAvLyBUaGlzIG1ha2VzIGllNiBnZXQgbGF5b3V0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vIGFuZCB0aGlzIHB1dHMgaXQgYmFjayB0byBibG9ja1xuICAgICYgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG59XG5cbi8vIEEgaGFjayB0byBzdXBwbHkgSUU2IChhbmQgYmVsb3cpIHdpdGggYSBkaWZmZXJlbnQgcHJvcGVydHkgdmFsdWUuXG4vLyBbUmVhZCBtb3JlXShodHRwOi8vd3d3LmNzc3BvcnRhbC5jb20vY3NzLWhhY2tzLyNpbl9jc3MtaW1wb3J0YW50KS5cbkBtaXhpbiBiYW5nLWhhY2soJHByb3BlcnR5LCAkdmFsdWUsICRpZTYtdmFsdWUpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfSAhaW1wb3J0YW50O1xuICAgICN7JHByb3BlcnR5fTogI3skaWU2LXZhbHVlfTtcbiAgfVxufVxuIiwiLy8gVXN1YWxseSBjb21wYXNzIGhhY2tzIGFwcGx5IHRvIGJvdGggaWU2ICYgNyAtLSBzZXQgdGhpcyB0byBmYWxzZSB0byBkaXNhYmxlIHN1cHBvcnQgZm9yIGJvdGguXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBpZTYgaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBpZTcgaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gc21hbGxlciBvdXRwdXQsIGJ1dCBubyBzdXBwb3J0IGZvciBsZWdhY3kgaWU4IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllODogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gQHByaXZhdGVcbi8vIFRoZSB1c2VyIGNhbiBzaW1wbHkgc2V0ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgYW5kIDYsIDcsIGFuZCA4IHdpbGwgYmUgc2V0IGFjY29yZGluZ2x5LFxuLy8gQnV0IGluIGNhc2UgdGhlIHVzZXIgc2V0IGVhY2ggb2YgdGhvc2UgZXhwbGljaXRseSwgd2UgbmVlZCB0byBzeW5jIHRoZSB2YWx1ZSBvZlxuLy8gdGhpcyBjb21iaW5lZCB2YXJpYWJsZS5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4O1xuXG4vLyBXaGV0aGVyIHRvIG91dHB1dCBsZWdhY3kgc3VwcG9ydCBmb3IgbW96aWxsYS5cbi8vIFVzdWFsbHkgdGhpcyBtZWFucyBoYWNrcyB0byBzdXBwb3J0IEZpcmVmb3ggMy42IG9yIGVhcmxpZXIuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLW1vemlsbGE6IHRydWU7XG5cbi8vIFN1cHBvcnQgZm9yIG1vemlsbGEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW1veikuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciB3ZWJraXQgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXdlYmtpdCkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciB3ZWJraXQncyBvcmlnaW5hbCAobm9uLXN0YW5kYXJkKSBncmFkaWVudCBzeW50YXguXG4kc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBvcGVyYSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBtaWNyb3NvZnQgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW1zKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0ICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIGtodG1sIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1raHRtbCkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igc3ZnIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMuXG4vLyBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSBtaWdodCBhZGQgc2lnbmlmaWNhbnQgc2l6ZSB0byB5b3VyXG4vLyBnZW5lcmF0ZWQgc3R5bGVzaGVldHMuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgQ1NTIFBJRSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtcGllKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBvZiBmbG9hdDpsZWZ0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgQGluY2x1ZGUgZmxvYXQobGVmdCk7IH1cblxuLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6cmlnaHQgd2l0aCBmaXggZm9yIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgQGluY2x1ZGUgZmxvYXQocmlnaHQpOyB9XG5cbi8vIERpcmVjdGlvbiBpbmRlcGVuZGVudCBmbG9hdCBtaXhpbiB0aGF0IGZpeGVzIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0KCRzaWRlOiBsZWZ0KSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHVucXVvdGUoJHNpZGUpOyB9XG5cbi8vIFJlc2V0cyBmbG9hdGVkIGVsZW1lbnRzIGJhY2sgdG8gdGhlaXIgZGVmYXVsdCBvZiBgZmxvYXQ6IG5vbmVgIGFuZCBkZWZhdWx0c1xuLy8gdG8gYGRpc3BsYXk6IGJsb2NrYCB1bmxlc3MgeW91IHBhc3MgYGlubGluZWAgYXMgYW4gYXJndW1lbnRcbi8vXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICBib2R5LmhvbWVwYWdlXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtmbG9hdC1sZWZ0XG4vLyAgICAgYm9keS5zaWdudXBcbi8vICAgICAgICNmb290ZXIgbGlcbi8vICAgICAgICAgK3Jlc2V0LWZsb2F0XG5AbWl4aW4gcmVzZXQtZmxvYXQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiAkZGlzcGxheTsgfSIsIi8vIEVtaXRzIHN0eWxlcyBmb3IgYSB0YWcgY2xvdWRcbkBtaXhpbiB0YWctY2xvdWQoJGJhc2Utc2l6ZTogMWVtKSB7XG4gIGZvbnQtc2l6ZTogJGJhc2Utc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMiAqICRiYXNlLXNpemU7XG4gIC54eHMsIC54cywgLnMsIC5sLCAueGwsIC54eGwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplOyB9XG4gIC54eHMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2Utc2l6ZSAvIDI7IH1cbiAgLnhzIHtcbiAgICBmb250LXNpemU6IDIgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAucyB7XG4gICAgZm9udC1zaXplOiAzICogJGJhc2Utc2l6ZSAvIDQ7IH1cbiAgLmwge1xuICAgIGZvbnQtc2l6ZTogNCAqICRiYXNlLXNpemUgLyAzOyB9XG4gIC54bCB7XG4gICAgZm9udC1zaXplOiAzICogJGJhc2Utc2l6ZSAvIDI7IH1cbiAgLnh4bCB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZTsgfSB9XG4iLCJAaW1wb3J0IFwiaGFja3NcIjtcblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4taGVpZ2h0IG1peGluLlxuQG1peGluIG1pbi1oZWlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGhhY2tlZC1taW5pbXVtKGhlaWdodCwgJHZhbHVlKTsgfVxuXG4vLyoqXG4vLyBDcm9zcyBicm93c2VyIG1pbi13aWR0aCBtaXhpbi5cbkBtaXhpbiBtaW4td2lkdGgoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIGhhY2tlZC1taW5pbXVtKHdpZHRoLCAkdmFsdWUpOyB9XG5cbi8vIEBwcml2YXRlIFRoaXMgbWl4aW4gaXMgbm90IG1lYW50IHRvIGJlIHVzZWQgZGlyZWN0bHkuXG5AbWl4aW4gaGFja2VkLW1pbmltdW0oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgbWluLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICBAaW5jbHVkZSBiYW5nLWhhY2soJHByb3BlcnR5LCBhdXRvLCAkdmFsdWUpOyB9XG4iLCJAaW1wb3J0IFwic3ByaXRlcy9iYXNlXCI7XG5AaW1wb3J0IFwic3ByaXRlcy9zcHJpdGUtaW1nXCI7XG4iLCIvLyBEZXRlcm1pbmVzIHRob3NlIHN0YXRlcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gZW5hYmxlIG1hZ2ljIHNwcml0ZSBzZWxlY3RvcnNcbiRzcHJpdGUtc2VsZWN0b3JzOiBob3ZlciwgdGFyZ2V0LCBhY3RpdmUgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgd2lkdGggYW5kIGhlaWdodCBvZiBhbiBlbGVtZW50IHRvIHRoZSBvcmlnaW5hbFxuLy8gZGltZW5zaW9ucyBvZiBhbiBpbWFnZSBiZWZvcmUgaXQgd2FzIGluY2x1ZGVkIGluIHRoZSBzcHJpdGUuXG5AbWl4aW4gc3ByaXRlLWRpbWVuc2lvbnMoJG1hcCwgJHNwcml0ZSkge1xuICBoZWlnaHQ6IGltYWdlLWhlaWdodChzcHJpdGUtZmlsZSgkbWFwLCAkc3ByaXRlKSk7XG4gIHdpZHRoOiBpbWFnZS13aWR0aChzcHJpdGUtZmlsZSgkbWFwLCAkc3ByaXRlKSk7XG59XG5cbi8vIFNldCB0aGUgYmFja2dyb3VuZCBwb3NpdGlvbiBvZiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYCB0byBkaXNwbGF5IHRoZVxuLy8gc3ByaXRlIG9mIHRoZSBnaXZlbiBgJHNwcml0ZWAgbmFtZS4gWW91IGNhbiBtb3ZlIHRoZSBpbWFnZSByZWxhdGl2ZSB0byBpdHNcbi8vIG5hdHVyYWwgcG9zaXRpb24gYnkgcGFzc2luZyBgJG9mZnNldC14YCBhbmQgYCRvZmZzZXQteWAuXG5AbWl4aW4gc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogc3ByaXRlLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteCwgJG9mZnNldC15KTsgIFxufVxuXG5cbi8vIERldGVybWluZXMgaWYgeW91IHdhbnQgdG8gaW5jbHVkZSBtYWdpYyBzZWxlY3RvcnMgaW4geW91ciBzcHJpdGVzXG4kZGlzYWJsZS1tYWdpYy1zcHJpdGUtc2VsZWN0b3JzOmZhbHNlICFkZWZhdWx0O1xuXG4vLyBJbmNsdWRlIHRoZSBwb3NpdGlvbiBhbmQgKG9wdGlvbmFsbHkpIGRpbWVuc2lvbnMgb2YgdGhpcyBgJHNwcml0ZWBcbi8vIGluIHRoZSBnaXZlbiBzcHJpdGUgYCRtYXBgLiBUaGUgc3ByaXRlIHVybCBzaG91bGQgY29tZSBmcm9tIGVpdGhlciBhIGJhc2Vcbi8vIGNsYXNzIG9yIHlvdSBjYW4gc3BlY2lmeSB0aGUgYHNwcml0ZS11cmxgIGV4cGxpY2l0bHkgbGlrZSB0aGlzOlxuLy9cbi8vICAgICBiYWNrZ3JvdW5kOiAkbWFwIG5vLXJlcGVhdDtcbkBtaXhpbiBzcHJpdGUoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnM6IGZhbHNlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIEBpZiAkZGltZW5zaW9ucyB7XG4gICAgQGluY2x1ZGUgc3ByaXRlLWRpbWVuc2lvbnMoJG1hcCwgJHNwcml0ZSk7XG4gIH1cbiAgQGlmIG5vdCgkZGlzYWJsZS1tYWdpYy1zcHJpdGUtc2VsZWN0b3JzKSB7XG4gICAgQGluY2x1ZGUgc3ByaXRlLXNlbGVjdG9ycygkbWFwLCAkc3ByaXRlLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIH1cbn1cblxuLy8gSW5jbHVkZSB0aGUgc2VsZWN0b3JzIGZvciB0aGUgYCRzcHJpdGVgIGdpdmVuIHRoZSBgJG1hcGAgYW5kIHRoZSBcbi8vIGAkZnVsbC1zcHJpdGUtbmFtZWBcbi8vIEBwcml2YXRlXG5AbWl4aW4gc3ByaXRlLXNlbGVjdG9ycygkbWFwLCAkc3ByaXRlLW5hbWUsICRmdWxsLXNwcml0ZS1uYW1lLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNwcml0ZS1zZWxlY3RvcnMge1xuICAgIEBpZiBzcHJpdGVfaGFzX3NlbGVjdG9yKCRtYXAsICRzcHJpdGUtbmFtZSwgJHNlbGVjdG9yKSB7XG4gICAgICAmOiN7JHNlbGVjdG9yfSwgJi4jeyRmdWxsLXNwcml0ZS1uYW1lfV8jeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX0tI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1wb3NpdGlvbigkbWFwLCBcIiN7JHNwcml0ZS1uYW1lfV8jeyRzZWxlY3Rvcn1cIiwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZXMgYSBjbGFzcyBmb3IgZWFjaCBzcGFjZSBzZXBhcmF0ZWQgbmFtZSBpbiBgJHNwcml0ZS1uYW1lc2AuXG4vLyBUaGUgY2xhc3Mgd2lsbCBiZSBvZiB0aGUgZm9ybSAuPG1hcC1uYW1lPi08c3ByaXRlLW5hbWU+LlxuLy9cbi8vIElmIGEgYmFzZSBjbGFzcyBpcyBwcm92aWRlZCwgdGhlbiBlYWNoIGNsYXNzIHdpbGwgZXh0ZW5kIGl0LlxuLy9cbi8vIElmIGAkZGltZW5zaW9uc2AgaXMgYHRydWVgLCB0aGUgc3ByaXRlIGRpbWVuc2lvbnMgd2lsbCBzcGVjaWZpZWQuXG5AbWl4aW4gc3ByaXRlcygkbWFwLCAkc3ByaXRlLW5hbWVzLCAkYmFzZS1jbGFzczogZmFsc2UsICRkaW1lbnNpb25zOiBmYWxzZSwgJHByZWZpeDogc3ByaXRlLW1hcC1uYW1lKCRtYXApLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBAZWFjaCAkc3ByaXRlLW5hbWUgaW4gJHNwcml0ZS1uYW1lcyB7XG4gICAgQGlmIHNwcml0ZV9kb2VzX25vdF9oYXZlX3BhcmVudCgkbWFwLCAkc3ByaXRlLW5hbWUpIHtcbiAgICAgICRmdWxsLXNwcml0ZS1uYW1lOiBcIiN7JHByZWZpeH0tI3skc3ByaXRlLW5hbWV9XCI7XG4gICAgICAuI3skZnVsbC1zcHJpdGUtbmFtZX0ge1xuICAgICAgICBAaWYgJGJhc2UtY2xhc3MgeyBAZXh0ZW5kICN7JGJhc2UtY2xhc3N9OyB9XG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZSgkbWFwLCAkc3ByaXRlLW5hbWUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gQGRvYyBvZmZcbi8vIEV4YW1wbGUgMTpcbi8vXG4vLyAgICAgYS50d2l0dGVyXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMyLnBuZ1wiLCAxKVxuLy8gICAgIGEuZmFjZWJvb2tcbi8vICAgICAgICtzcHJpdGUtaW1nKFwiaWNvbnMtMzJwbmdcIiwgMilcbi8vXG4vLyBFeGFtcGxlIDI6XG4vL1xuLy8gICAgIGFcbi8vICAgICAgICtzcHJpdGUtYmFja2dyb3VuZChcImljb25zLTMyLnBuZ1wiKVxuLy8gICAgICAgYS50d2l0dGVyXG4vLyAgICAgICAgICtzcHJpdGUtY29sdW1uKDEpXG4vLyAgICAgICBhLmZhY2Vib29rXG4vLyAgICAgICAgICtzcHJpdGUtcm93KDIpXG4vLyBAZG9jIG9uXG5cbiRzcHJpdGUtZGVmYXVsdC1zaXplOiAzMnB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWRlZmF1bHQtbWFyZ2luOiAwcHggIWRlZmF1bHQ7XG5cbiRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUgIWRlZmF1bHQ7XG5cbiRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQ6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4vLyBTZXRzIGFsbCB0aGUgcnVsZXMgZm9yIGEgc3ByaXRlIGZyb20gYSBnaXZlbiBzcHJpdGUgaW1hZ2UgdG8gc2hvdyBqdXN0IG9uZSBvZiB0aGUgc3ByaXRlcy5cbi8vIFRvIHJlZHVjZSBkdXBsaWNhdGlvbiB1c2UgYSBzcHJpdGUtYmcgbWl4aW4gZm9yIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBhIHNwcml0ZS1zZWxlY3QgbWl4aW4gZm9yIHBvc2l0aW9uaW5nLlxuQG1peGluIHNwcml0ZS1pbWcoJGltZywgJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRjb2wsICRyb3csICR3aWR0aCwgJGhlaWdodCwgJG1hcmdpbik7IFxufVxuXG4vLyBTZXRzIHJ1bGVzIGNvbW1vbiBmb3IgYWxsIHNwcml0ZXMsIGFzc3VtZXMgeW91IHdhbnQgYSBzcXVhcmUsIGJ1dCBhbGxvd3MgYSByZWN0YW5ndWxhciByZWdpb24uXG5AbWl4aW4gc3ByaXRlLWJhY2tncm91bmQoJGltZywgJHdpZHRoOiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSwgJGhlaWdodDogJHdpZHRoKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kLXJlY3RhbmdsZSgkaW1nLCAkd2lkdGgsICRoZWlnaHQpOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXJlY3RhbmdsZSgkaW1nLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCkge1xuICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZykgbm8tcmVwZWF0O1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IFxufVxuXG4vLyBBbGxvd3MgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgb3B0aW1pemVkIGZvciBhIHNpbmdsZSByb3cgb2Ygc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtY29sdW1uKCRjb2wsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAxLCAkd2lkdGgsIDBweCwgJG1hcmdpbik7IFxufVxuXG4vLyBBbGxvd3MgdmVydGljYWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgY29sdW1uIG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLXJvdygkcm93LCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigxLCAkcm93LCAwcHgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIHNwcml0ZSBwb3NpdGlvbmluZyBmcm9tIGEgZ3JpZCBvZiBlcXVhbCBkaW1lbnNpb25lZCBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93OiAxLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICAkeDogKCRjb2wgLSAxKSAqIC0kd2lkdGggLSAoJGNvbCAtIDEpICogJG1hcmdpbjtcbiAgJHk6ICgkcm93IC0gMSkgKiAtJGhlaWdodCAtICgkcm93IC0gMSkgKiAkbWFyZ2luO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkeCAkeTsgXG59XG5cblxuXG4vLyBTaW1pbGFyIHRvICdzcHJpdGUtcmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucycgYnV0IGRvZXMgbm90IGF1dG1hdGljbHkgc2V0IHRoZSBkZW1lbnNpb25zXG5AbWl4aW4gc3ByaXRlLXJlcGxhY2UtdGV4dCAoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnM6IGZhbHNlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkgeyAgICBcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZSwgJGRpbWVuc2lvbnMsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogJG1hcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLy8gU2ltaWxhciB0byAncmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucycgYnV0IHdpdGggc3ByaXRlc1xuLy8gVG8gdXNlLCBjcmVhdGUgeW91ciBzcHJpdGUgYW5kIHRoZW4gcGFzcyBpdCBpbiB0aGUgYCRtYXBgIHBhcmFtXG4vLyBUaGUgbmFtZSBvZiB0aGUgaW1hZ2UgaW4gdGhlIHNwcml0ZSBmb2xkZXIgc2hvdWxkIGJlIGAkaW1nLW5hbWVgXG5AbWl4aW4gc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMgKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKXsgICAgXG4gIEBpbmNsdWRlIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsIHRydWUsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbn0iLCJAaW1wb3J0IFwidGFibGVzL2FsdGVybmF0aW5nLXJvd3MtYW5kLWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInRhYmxlcy9zY2FmZm9sZGluZ1wiO1xuIiwiQG1peGluIGFsdGVybmF0aW5nLXJvd3MtYW5kLWNvbHVtbnMoJGV2ZW4tcm93LWNvbG9yLCAkb2RkLXJvdy1jb2xvciwgJGRhcmstaW50ZXJzZWN0aW9uLCAkaGVhZGVyLWNvbG9yOiB3aGl0ZSwgJGZvb3Rlci1jb2xvcjogd2hpdGUpIHtcbiAgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9XG4gIHRyIHtcbiAgICAmLm9kZCwgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgdGQge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZGQtcm93LWNvbG9yO1xuICAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZGQtcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICAgIH1cbiAgdHIuZXZlbiB7XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yO1xuICAgICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbi1yb3ctY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9XG4gIHRmb290IHtcbiAgICB0aCwgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH0gfVxuIiwiQG1peGluIG91dGVyLXRhYmxlLWJvcmRlcnMoJHdpZHRoOiAycHgsICRjb2xvcjogYmxhY2spIHtcbiAgYm9yZGVyOiAkd2lkdGggc29saWQgJGNvbG9yO1xuICB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9XG4gIHRmb290IHtcbiAgICB0aCwgdGQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9XG4gIHRoIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjsgfSB9IH1cblxuQG1peGluIGlubmVyLXRhYmxlLWJvcmRlcnMoJHdpZHRoOiAycHgsICRjb2xvcjogYmxhY2spIHtcbiAgdGgsIHRkIHtcbiAgICBib3JkZXI6IHtcbiAgICAgIHJpZ2h0OiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgYm90dG9tOiAkd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgbGVmdC13aWR0aDogMHB4O1xuICAgICAgdG9wLXdpZHRoOiAwcHg7IH07XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICYubGFzdCB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDBweDsgfSB9XG5cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuXG4gIHRib2R5LCB0Zm9vdCB7XG4gICAgdHI6bGFzdC1jaGlsZCB7XG4gICAgICB0aCwgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7IH0gfVxuICAgIHRyLmxhc3Qge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH0gfSB9XG4iLCJAbWl4aW4gdGFibGUtc2NhZmZvbGRpbmcge1xuICB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgICYubnVtZXJpYyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9IH1cbiIsIkBpbXBvcnQgXCJsaW5rcy9ob3Zlci1saW5rXCI7XG5AaW1wb3J0IFwibGlua3MvbGluay1jb2xvcnNcIjtcbkBpbXBvcnQgXCJsaW5rcy91bnN0eWxlZC1saW5rXCI7XG4iLCIvLyBhIGxpbmsgdGhhdCBvbmx5IGhhcyBhbiB1bmRlcmxpbmUgd2hlbiB5b3UgaG92ZXIgb3ZlciBpdFxuQG1peGluIGhvdmVyLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cbiIsIi8vIFNldCBhbGwgdGhlIGNvbG9ycyBmb3IgYSBsaW5rIHdpdGggb25lIG1peGluIGNhbGwuXG4vLyBPcmRlciBvZiBhcmd1bWVudHMgaXM6XG4vL1xuLy8gMS4gbm9ybWFsXG4vLyAyLiBob3ZlclxuLy8gMy4gYWN0aXZlXG4vLyA0LiB2aXNpdGVkXG4vLyA1LiBmb2N1c1xuLy9cbi8vIFRob3NlIHN0YXRlcyBub3Qgc3BlY2lmaWVkIHdpbGwgaW5oZXJpdC5cbi8vIE1peGluIHRvIGFuIGFuY2hvciBsaW5rIGxpa2Ugc286XG4vLyAgICAgYVxuLy8gICAgICAgK2xpbmstY29sb3JzKCMwMGMsICMwY2MsICNjMGMsICNjY2MsICNjYzApXG5cbkBtaXhpbiBsaW5rLWNvbG9ycygkbm9ybWFsLCAkaG92ZXI6IGZhbHNlLCAkYWN0aXZlOiBmYWxzZSwgJHZpc2l0ZWQ6IGZhbHNlLCAkZm9jdXM6IGZhbHNlKSB7XG4gIGNvbG9yOiAkbm9ybWFsO1xuICBAaWYgJHZpc2l0ZWQge1xuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJHZpc2l0ZWQ7IH0gfVxuICBAaWYgJGZvY3VzIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZm9jdXM7IH0gfVxuICBAaWYgJGhvdmVyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaG92ZXI7IH0gfVxuICBAaWYgJGFjdGl2ZSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmU7IH0gfSB9XG4iLCIvLyBBIGxpbmsgdGhhdCBsb29rcyBhbmQgYWN0cyBsaWtlIHRoZSB0ZXh0IGl0IGlzIGNvbnRhaW5lZCB3aXRoaW5cbkBtaXhpbiB1bnN0eWxlZC1saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfSB9XG4iLCJAaW1wb3J0IFwibGlzdHMvaG9yaXpvbnRhbC1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9pbmxpbmUtYmxvY2stbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2J1bGxldHNcIjtcbiIsIi8vIEhvcml6b250YWwgbGlzdCBsYXlvdXQgbW9kdWxlLlxuLy9cbi8vIEVhc3kgbW9kZSB1c2luZyBzaW1wbGUgZGVzY2VuZGFudCBsaSBzZWxlY3RvcnM6XG4vL1xuLy8gICB1bC5uYXZcbi8vICAgICAraG9yaXpvbnRhbC1saXN0XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gK2hvcml6b250YWwtbGlzdC1jb250YWluZXIgb24geW91ciB1bC9vbCBhbmQgK2hvcml6b250YWwtbGlzdC1pdGVtIG9uIHlvdXIgbGkuXG4vLyBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZyBvbiBsYXlvdXRzIGludm9sdmluZyBuZXN0ZWQgbGlzdHMuIEZvciBleGFtcGxlOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdC1jb250YWluZXJcbi8vICAgICA+IGxpXG4vLyAgICAgICAraG9yaXpvbnRhbC1saXN0LWl0ZW1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvZmxvYXRcIjtcblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IHNlbGVjdG9yIHRoYXQgdGFyZ2V0IGEgdWwgb3Igb2wgdGhhdCBpcyBtZWFudFxuLy8gdG8gaGF2ZSBhIGhvcml6b250YWwgbGF5b3V0LiBVc2VkIHRvIGltcGxlbWVudCAraG9yaXpvbnRhbC1saXN0LlxuQG1peGluIGhvcml6b250YWwtbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCAraG9yaXpvbnRhbC1saXN0LlxuLy9cbi8vIDpsYXN0LWNoaWxkIGlzIG5vdCBmdWxseSBzdXBwb3J0ZWRcbi8vIHNlZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9jb250ZW50cy5odG1sI3QyOSBmb3IgdGhlIHN1cHBvcnQgbWF0cml4XG4vL1xuLy8gSUU4IGlnbm9yZXMgcnVsZXMgdGhhdCBhcmUgaW5jbHVkZWQgb24gdGhlIHNhbWUgbGluZSBhcyA6bGFzdC1jaGlsZFxuLy8gc2VlIGh0dHA6Ly93d3cucmljaGFyZHNjYXJyb3R0LmNvLnVrL3Bvc3RzL3ZpZXcvaWU4LWxhc3QtY2hpbGQtYnVnIGZvciBkZXRhaWxzXG4vL1xuLy8gU2V0dGluZyBgJHBhZGRpbmdgIHRvIGBmYWxzZWAgZGlzYWJsZXMgdGhlIHBhZGRpbmcgYmV0d2VlbiBsaXN0IGVsZW1lbnRzXG5AbWl4aW4gaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBuby1idWxsZXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIGZsb2F0KCRkaXJlY3Rpb24pO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkLCAmLmZpcnN0IHsgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgcGFkZGluZy0je29wcG9zaXRlLXBvc2l0aW9uKCRkaXJlY3Rpb24pfTogMDsgfVxuICAgICYubGFzdCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgfVxufVxuXG4vLyBBIGxpc3Qob2wsdWwpIHRoYXQgaXMgbGF5ZWQgb3V0IHN1Y2ggdGhhdCB0aGUgZWxlbWVudHMgYXJlIGZsb2F0ZWQgbGVmdCBhbmQgd29uJ3Qgd3JhcC5cbi8vIFRoaXMgaXMgbm90IGFuIGlubGluZSBsaXN0LlxuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdCgkcGFkZGluZzogNHB4LCAkZGlyZWN0aW9uOiBsZWZ0KSB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1jb250YWluZXI7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtaXRlbSgkcGFkZGluZywgJGRpcmVjdGlvbik7IH0gfVxuIiwiLy8gVHVybiBvZmYgdGhlIGJ1bGxldCBmb3IgYW4gZWxlbWVudCBvZiBhIGxpc3RcbkBtaXhpbiBuby1idWxsZXQge1xuICBsaXN0LXN0eWxlLWltYWdlIDogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlICA6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0ICAgICAgOiAwO1xufVxuXG4vLyB0dXJucyBvZmYgdGhlIGJ1bGxldHMgZm9yIGFuIGVudGlyZSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpIHsgQGluY2x1ZGUgbm8tYnVsbGV0OyB9XG59XG5cbi8vIE1ha2UgYSBsaXN0KHVsL29sKSBoYXZlIGFuIGltYWdlIGJ1bGxldC5cbi8vXG4vLyBUaGUgbWl4aW4gc2hvdWxkIGJlIHVzZWQgbGlrZSB0aGlzIGZvciBhbiBpY29uIHRoYXQgaXMgNXg3OlxuLy9cbi8vICAgICB1bC5wcmV0dHlcbi8vICAgICAgICtwcmV0dHktYnVsbGV0cyhcIm15LWljb24ucG5nXCIsIDVweCwgN3B4KVxuLy9cbi8vIEFkZGl0aW9uYWxseSwgaWYgdGhlIGltYWdlIGRpbWVuc2lvbnMgYXJlIG5vdCBwcm92aWRlZCxcbi8vIFRoZSBpbWFnZSBkaW1lbnNpb25zIHdpbGwgYmUgZXh0cmFjdGVkIGZyb20gdGhlIGltYWdlIGl0c2VsZi5cbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiKVxuLy9cbkBtaXhpbiBwcmV0dHktYnVsbGV0cygkYnVsbGV0LWljb24sICR3aWR0aDogaW1hZ2Utd2lkdGgoJGJ1bGxldC1pY29uKSwgJGhlaWdodDogaW1hZ2UtaGVpZ2h0KCRidWxsZXQtaWNvbiksICRsaW5lLWhlaWdodDogMThweCwgJHBhZGRpbmc6IDE0cHgpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6IGltYWdlLXVybCgkYnVsbGV0LWljb24pIG5vLXJlcGVhdCAoJHBhZGRpbmcgLSAkd2lkdGgpIC8gMiAoJGxpbmUtaGVpZ2h0IC0gJGhlaWdodCkgLyAyO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gbWFrZXMgYSBsaXN0IGlubGluZS5cblxuQG1peGluIGlubGluZS1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmLCAmIGxpIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi8vIG1ha2VzIGFuIGlubGluZSBsaXN0IGRlbGltaXRlZCB3aXRoIHRoZSBwYXNzZWQgc3RyaW5nLlxuLy8gRGVmYXVsdHMgdG8gbWFraW5nIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4vL1xuLy8gUGxlYXNlIG1ha2Ugbm90ZSBvZiB0aGUgYnJvd3NlciBzdXBwb3J0IGlzc3VlcyBiZWZvcmUgdXNpbmcgdGhpcyBtaXhpbjpcbi8vXG4vLyB1c2Ugb2YgYGNvbnRlbnRgIGFuZCBgOmFmdGVyYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkIGluIGFsbCBicm93c2Vycy5cbi8vIFNlZSBxdWlya3Ntb2RlIGZvciB0aGUgW3N1cHBvcnQgbWF0cml4XShodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9jb250ZW50cy5odG1sI3QxNSlcbi8vXG4vLyBgOmxhc3QtY2hpbGRgIGlzIG5vdCBmdWxseSBzdXBwb3J0ZWQuXG4vLyBzZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkpLlxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuXG5AbWl4aW4gZGVsaW1pdGVkLWxpc3QoJHNlcGFyYXRvcjogXCIsIFwiKSB7XG4gIEBpbmNsdWRlIGlubGluZS1saXN0O1xuICBsaSB7XG4gICAgJjphZnRlciB7IGNvbnRlbnQ6ICRzZXBhcmF0b3I7IH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cbiAgICB9XG4gICAgJi5sYXN0IHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlZSBbZGVsaW1pdGVkLWxpc3RdKCNtaXhpbi1kZWxpbWl0ZWQtbGlzdClcbi8vIEBkZXByZWNhdGVkXG5AbWl4aW4gY29tbWEtZGVsaW1pdGVkLWxpc3Qge1xuICBAd2FybiBcImNvbW1hLWRlbGltaXRlZC1saXN0IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgZGVsaW1pdGVkLWxpc3QgaW5zdGVhZC5cIjtcbiAgQGluY2x1ZGUgZGVsaW1pdGVkLWxpc3Q7XG59XG4iLCIvLyBJbmxpbmUtQmxvY2sgbGlzdCBsYXlvdXQgbW9kdWxlLlxuLy9cbi8vIEVhc3kgbW9kZSB1c2luZyBzaW1wbGUgZGVzY2VuZGFudCBsaSBzZWxlY3RvcnM6XG4vL1xuLy8gICAgIHVsLm5hdiB7XG4vLyAgICAgICBAaW1wb3J0IGlubGluZS1ibG9jay1saXN0O1xuLy8gICAgIH1cbi8vXG4vLyBBZHZhbmNlZCBtb2RlOlxuLy8gSWYgeW91IG5lZWQgdG8gdGFyZ2V0IHRoZSBsaXN0IGl0ZW1zIHVzaW5nIGEgZGlmZmVyZW50IHNlbGVjdG9yIHRoZW4gdXNlXG4vLyBgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyYCBvbiB5b3VyIHVsL29sIGFuZFxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW1gIG9uIHlvdXIgbGkuIFRoaXMgbWF5IGhlbHAgd2hlbiB3b3JraW5nXG4vLyBvbiBsYXlvdXRzIGludm9sdmluZyBuZXN0ZWQgbGlzdHMuIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyO1xuLy8gICAgICAgPiBsaSB7XG4vLyAgICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW07XG4vLyAgICAgICB9XG4vLyAgICAgfVxuXG5AaW1wb3J0IFwiYnVsbGV0c1wiO1xuQGltcG9ydCBcImhvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5AaW1wb3J0IFwiLi4vLi4vY3NzMy9pbmxpbmUtYmxvY2tcIjtcblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IHNlbGVjdG9yIHRoYXQgdGFyZ2V0IGEgdWwgb3Igb2wgdGhhdCBpcyBtZWFudFxuLy8gdG8gaGF2ZSBhbiBpbmxpbmUtYmxvY2sgbGF5b3V0LiBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1jb250YWluZXI7IH1cblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IGxpIHNlbGVjdG9yIHRoYXQgaXMgbWVhbnQgdG8gcGFydGljaXBhdGUgaW4gYSBob3Jpem9udGFsIGxheW91dC5cbi8vIFVzZWQgdG8gaW1wbGVtZW50IGBpbmxpbmUtYmxvY2stbGlzdGAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QtaXRlbSgkcGFkZGluZzogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICBAaW5jbHVkZSBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzoge1xuICAgICAgbGVmdDogJHBhZGRpbmc7XG4gICAgICByaWdodDogJHBhZGRpbmc7XG4gICAgfTtcbiAgfVxufVxuXG4vLyBBIGxpc3Qob2wsdWwpIHRoYXQgaXMgbGF5ZWQgb3V0IHN1Y2ggdGhhdCB0aGUgZWxlbWVudHMgYXJlIGlubGluZS1ibG9jayBhbmQgd29uJ3Qgd3JhcC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdCgkcGFkZGluZzogZmFsc2UpIHtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtaXRlbSgkcGFkZGluZyk7IH0gfVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTZXQgYCRpbmxpbmUtYmxvY2stYWxpZ25tZW50YCB0byBgbm9uZWAgb3IgYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBvdXRwdXRcbi8vIG9mIGEgdmVydGljYWwtYWxpZ24gcHJvcGVydHkgaW4gdGhlIGlubGluZS1ibG9jayBtaXhpbi5cbi8vIE9yIHNldCBpdCB0byBhIGxlZ2FsIHZhbHVlIGZvciBgdmVydGljYWwtYWxpZ25gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cbiRpbmxpbmUtYmxvY2stYWxpZ25tZW50OiBtaWRkbGUgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGEgY3Jvc3MtYnJvd3NlciBtZXRob2QgdG8gaW1wbGVtZW50IGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YFxuQG1peGluIGlubGluZS1ibG9jaygkYWxpZ25tZW50OiAkaW5saW5lLWJsb2NrLWFsaWdubWVudCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpZiAkYWxpZ25tZW50IGFuZCAkYWxpZ25tZW50ICE9IG5vbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiAkYWxpZ25tZW50O1xuICB9XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAqdmVydGljYWwtYWxpZ246IGF1dG87XG4gICAgem9vbTogMTtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIkBpbXBvcnQgXCJ0ZXh0L2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwidGV4dC9ub3dyYXBcIjtcbkBpbXBvcnQgXCJ0ZXh0L3JlcGxhY2VtZW50XCI7XG5AaW1wb3J0IFwidGV4dC9mb3JjZS13cmFwXCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vY3NzMy9zaGFyZWRcIjtcblxuLy8gVG8gZ2V0IGZ1bGwgZmlyZWZveCBzdXBwb3J0LCB5b3UgbXVzdCBpbnN0YWxsIHRoZSBlbGxpcHNpcyBwYXR0ZXJuOlxuLy9cbi8vICAgICBjb21wYXNzIGluc3RhbGwgY29tcGFzcy9lbGxpcHNpc1xuJHVzZS1tb3ppbGxhLWVsbGlwc2lzLWJpbmRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGlzIHRlY2huaXF1ZSwgYnkgW0p1c3RpbiBNYXh3ZWxsXShodHRwOi8vY29kZTQwNC5jb20vKSwgd2FzIG9yaWdpbmFsbHlcbi8vIHB1Ymxpc2hlZCBbaGVyZV0oaHR0cDovL21hdHRzbmlkZXIuY29tL2Nzcy9jc3Mtc3RyaW5nLXRydW5jYXRpb24td2l0aC1lbGxpcHNpcy8pLlxuLy8gRmlyZWZveCBpbXBsZW1lbnRhdGlvbiBieSBbUmlra2VydCBLb3BwZXNdKGh0dHA6Ly93d3cucmlra2VydGtvcHBlcy5jb20vdGhvdWdodHMvMjAwOC82LykuXG5AbWl4aW4gZWxsaXBzaXMoJG5vLXdyYXA6IHRydWUpIHtcbiAgQGlmICRuby13cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodGV4dC1vdmVyZmxvdywgZWxsaXBzaXMsXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICAtbyxcbiAgICAtbXMsXG4gICAgbm90KC1raHRtbCksXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSBhbmQgJHVzZS1tb3ppbGxhLWVsbGlwc2lzLWJpbmRpbmcge1xuICAgIC1tb3otYmluZGluZzogc3R5bGVzaGVldC11cmwodW5xdW90ZShcInhtbC9lbGxpcHNpcy54bWwjZWxsaXBzaXNcIikpO1xuICB9XG59XG4iLCIvLyBXaGVuIHJlbWVtYmVyaW5nIHdoZXRoZXIgb3Igbm90IHRoZXJlJ3MgYSBoeXBoZW4gaW4gd2hpdGUtc3BhY2UgaXMgdG9vIGhhcmRcbkBtaXhpbiBub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4iLCIvLyBJbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiB5b3UgcHJlZmVyIHRvIG1vdmUgeW91ciB0ZXh0XG4vLyB3aGVuIGhpZGluZyBpdC5cbi8vXG4vLyBgbGVmdGAgaXMgbW9yZSByb2J1c3QsIGVzcGVjaWFsbHkgaW4gb2xkZXIgYnJvd3NlcnMuXG4vLyBgcmlnaHRgIHNlZW1zIGhhdmUgYmV0dGVyIHJ1bnRpbWUgcGVyZm9ybWFuY2UuXG4kaGlkZS10ZXh0LWRpcmVjdGlvbjogbGVmdCAhZGVmYXVsdDtcblxuLy8gSGlkZXMgaHRtbCB0ZXh0IGFuZCByZXBsYWNlcyBpdCB3aXRoIGFuIGltYWdlLlxuLy8gSWYgeW91IHVzZSB0aGlzIG9uIGFuIGlubGluZSBlbGVtZW50LCB5b3Ugd2lsbCBuZWVkIHRvIGNoYW5nZSB0aGUgZGlzcGxheSB0byBibG9jayBvciBpbmxpbmUtYmxvY2suXG4vLyBBbHNvLCBpZiB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2UgZGlmZmVycyBzaWduaWZpY2FudGx5IGZyb20gdGhlIGZvbnQgc2l6ZSwgeW91J2xsIG5lZWQgdG8gc2V0IHRoZSB3aWR0aCBhbmQvb3IgaGVpZ2h0LlxuLy9cbi8vIFBhcmFtZXRlcnM6XG4vL1xuLy8gKiBgaW1nYCAtLSB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIHRoZSBwcm9qZWN0IGltYWdlIGRpcmVjdG9yeSB0byB0aGUgaW1hZ2UsIG9yIGEgdXJsIGxpdGVyYWwuXG4vLyAqIGB4YCAtLSB0aGUgeCBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbi8vICogYHlgIC0tIHRoZSB5IHBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kIGltYWdlLlxuQG1peGluIHJlcGxhY2UtdGV4dCgkaW1nLCAkeDogNTAlLCAkeTogNTAlKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgYmFja2dyb3VuZDoge1xuICAgIEBpZiBpcy11cmwoJGltZykge1xuICAgICAgaW1hZ2U6IHVybCgkaW1nKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGltYWdlOiBpbWFnZS11cmwoJGltZyk7XG4gICAgfVxuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiAkeCAkeTtcbiAgfTtcbn1cblxuLy8gTGlrZSB0aGUgYHJlcGxhY2UtdGV4dGAgbWl4aW4sIGJ1dCBhbHNvIHNldHMgdGhlIHdpZHRoXG4vLyBhbmQgaGVpZ2h0IG9mIHRoZSBlbGVtZW50IGFjY29yZGluZyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgaW1hZ2UuXG4vL1xuLy8gSWYgeW91IHNldCBgJGlubGluZWAgdG8gdHJ1ZSwgdGhlbiBhbiBpbmxpbmUgaW1hZ2UgKGRhdGEgdXJpKSB3aWxsIGJlIHVzZWQuXG5AbWl4aW4gcmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucygkaW1nLCAkeDogNTAlLCAkeTogNTAlLCAkaW5saW5lOiBmYWxzZSkge1xuICBAaW5jbHVkZSByZXBsYWNlLXRleHQoaWYoJGlubGluZSwgaW5saW5lLWltYWdlKCRpbWcpLCAkaW1nKSwgJHgsICR5KTtcbiAgd2lkdGg6IGltYWdlLXdpZHRoKCRpbWcpO1xuICBoZWlnaHQ6IGltYWdlLWhlaWdodCgkaW1nKTtcbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IHNvIHlvdSBjYW4gc2VlIHRoZSBiYWNrZ3JvdW5kLlxuLy9cbi8vIFRoZSBkaXJlY3Rpb24gaW5kaWNhdGVzIGhvdyB0aGUgdGV4dCBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIHZpZXcuXG4vL1xuLy8gU2VlIGAkaGlkZS10ZXh0LWRpcmVjdGlvbmAgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRvIHNldCB0aGlzIGdsb2JhbGx5XG4vLyBmb3IgeW91ciBhcHBsaWNhdGlvbi5cbkBtaXhpbiBoaWRlLXRleHQoJGRpcmVjdGlvbjogJGhpZGUtdGV4dC1kaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgJGFwcHJveGltYXRlLWVtLXZhbHVlOiAxMnB4O1xuICAgICR3aWRlci10aGFuLWFueS1zY3JlZW46IC05OTk5O1xuICAgIHRleHQtaW5kZW50OiAkd2lkZXItdGhhbi1hbnktc2NyZWVuICogJGFwcHJveGltYXRlLWVtLXZhbHVlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfSBAZWxzZSB7XG4gICAgLy8gc2xpZ2h0bHkgd2lkZXIgdGhhbiB0aGUgYm94IHByZXZlbnRzIGlzc3VlcyB3aXRoIGlubGluZS1ibG9jayBlbGVtZW50c1xuICAgIHRleHQtaW5kZW50OiAxMTAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBIaWRlcyB0ZXh0IGluIGFuIGVsZW1lbnQgYnkgc3F1aXNoaW5nIHRoZSB0ZXh0IGludG8gb2JsaXZpb24uXG4vLyBVc2UgdGhpcyBpZiB5b3UgbmVlZCB0byBoaWRlIHRleHQgY29udGFpbmVkIGluIGFuIGlubGluZSBlbGVtZW50XG4vLyBidXQgc3RpbGwgaGF2ZSBpdCByZWFkIGJ5IGEgc2NyZWVuIHJlYWRlci5cbkBtaXhpbiBzcXVpc2gtdGV4dCB7XG4gIGZvbnQ6IDAvMCBzZXJpZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8vIFByZXZlbnQgbG9uZyB1cmxzIGFuZCB0ZXh0IGZyb20gYnJlYWtpbmcgbGF5b3V0c1xuLy8gW29yaWdpbmFsbHkgZnJvbSBwZXJpc2hhYmxlcHJlc3MuY29tXShodHRwOi8vcGVyaXNoYWJsZXByZXNzLmNvbS9wcmVzcy8yMDEwLzA2LzAxL3dyYXBwaW5nLWNvbnRlbnQvKVxuQG1peGluIGZvcmNlLXdyYXAge1xuICB3aGl0ZS1zcGFjZTogcHJlOyAgICAgICAgICAgLy8gQ1NTIDIuMFxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7ICAgICAgLy8gQ1NTIDIuMVxuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7ICAgICAgLy8gQ1NTIDMuMFxuICB3aGl0ZS1zcGFjZTogLXByZS13cmFwOyAgICAgLy8gT3BlcmEgNC02XG4gIHdoaXRlLXNwYWNlOiAtby1wcmUtd3JhcDsgICAvLyBPcGVyYSA3XG4gIHdoaXRlLXNwYWNlOiAtbW96LXByZS13cmFwOyAvLyBNb3ppbGxhXG4gIHdoaXRlLXNwYWNlOiAtaHAtcHJlLXdyYXA7ICAvLyBIUCBQcmludGVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7ICAgICAgLy8gSUUgNStcbn1cbiIsIkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saXN0c1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdGV4dFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvdmVydGljYWxfcmh5dGhtXCI7XG4iLCJAaW1wb3J0IFwiLi4vbGF5b3V0L2dyaWQtYmFja2dyb3VuZFwiO1xuXG4vLyBUaGUgYmFzZSBmb250IHNpemUuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgZGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIHJoeXRobSBib3JkZXJzLlxuJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4kYnJvd3Nlci1kZWZhdWx0LWZvbnQtc2l6ZTogMTZweDtcblxuLy8gU2V0IHRvIGZhbHNlIGlmIHlvdSB3YW50IHRvIHVzZSBhYnNvbHV0ZSBwaXhlbHMgaW4gc2l6aW5nIHlvdXIgdHlwb2dyYXBoeS5cbiRyZWxhdGl2ZS1mb250LXNpemluZzogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIHRoZSBgYWRqdXN0LWZvbnQtc2l6ZS10b2AgbWl4aW4gYW5kIHRoZSBgbGluZXMtZm9yLWZvbnQtc2l6ZWAgZnVuY3Rpb25cbi8vIHRvIHJvdW5kIHRoZSBsaW5lIGhlaWdodCB0byB0aGUgbmVhcmVzdCBoYWxmIGxpbmUgaGVpZ2h0IGluc3RlYWQgb2YgdGhlXG4vLyBuZWFyZXN0IGludGVncmFsIGxpbmUgaGVpZ2h0IHRvIGF2b2lkIGxhcmdlIHNwYWNpbmcgYmV0d2VlbiBsaW5lcy5cbiRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEVuc3VyZSB0aGVyZSBpcyBhdCBsZWFzdCB0aGlzIG1hbnkgcGl4ZWxzXG4vLyBvZiB2ZXJ0aWNhbCBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgdGV4dC5cbiRtaW4tbGluZS1wYWRkaW5nOiAycHggIWRlZmF1bHQ7XG5cbi8vICRiYXNlLWZvbnQtc2l6ZSBidXQgaW4geW91ciBvdXRwdXQgdW5pdCBvZiBjaG9pY2UuXG4vLyBEZWZhdWx0cyB0byAxZW0gd2hlbiBgJHJlbGF0aXZlLWZvbnQtc2l6aW5nYCBpcyB0cnVlLlxuJGZvbnQtdW5pdDogaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAxZW0sICRiYXNlLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNpYyB1bml0IG9mIGZvbnQgcmh5dGhtLlxuJGJhc2Utcmh5dGhtLXVuaXQ6ICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplICogJGZvbnQtdW5pdDtcblxuLy8gVGhlIGxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgaW4gYSBsaW5lLlxuLy8gSXQgbWlnaHQgYmUgdXNlZnVsIGluIHlvdXIgY2FsY3VsYXRpb25zLlxuJGJhc2UtbGVhZGVyOiAoJGJhc2UtbGluZS1oZWlnaHQgLSAkYmFzZS1mb250LXNpemUpICogJGZvbnQtdW5pdCAvICRiYXNlLWZvbnQtc2l6ZTtcblxuLy8gVGhlIGhhbGYtbGVhZGVyIGlzIHRoZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBhYm92ZSBhbmQgYmVsb3cgYSBsaW5lLlxuLy8gSXQgbWlnaHQgYmUgdXNlZnVsIGluIHlvdXIgY2FsY3VsYXRpb25zLlxuJGJhc2UtaGFsZi1sZWFkZXI6ICRiYXNlLWxlYWRlciAvIDI7XG5cbi8vIFRydWUgaWYgYSBudW1iZXIgaGFzIGEgcmVsYXRpdmUgdW5pdC5cbkBmdW5jdGlvbiByZWxhdGl2ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiB1bml0KCRudW1iZXIpID09IFwiJVwiIG9yIHVuaXQoJG51bWJlcikgPT0gXCJlbVwiIG9yIHVuaXQoJG51bWJlcikgPT0gXCJyZW1cIlxufVxuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhbiBhYnNvbHV0ZSB1bml0LlxuQGZ1bmN0aW9uIGFic29sdXRlLXVuaXQoJG51bWJlcikge1xuICBAcmV0dXJuIG5vdChyZWxhdGl2ZS11bml0KCRudW1iZXIpIG9yIHVuaXRsZXNzKCRudW1iZXIpKTtcbn1cblxuQGlmICRyZWxhdGl2ZS1mb250LXNpemluZyBhbmQgbm90KHJlbGF0aXZlLXVuaXQoJGZvbnQtdW5pdCkpIHtcbiAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgdHJ1ZSBidXQgJGZvbnQtdW5pdCBpcyBzZXQgdG8gI3skZm9udC11bml0fSB3aGljaCBpcyBub3QgYSByZWxhdGl2ZSB1bml0LlwiO1xufVxuXG4vLyBFc3RhYmxpc2hlcyBhIGZvbnQgYmFzZWxpbmUgZm9yIHRoZSBnaXZlbiBmb250LXNpemUuXG5AbWl4aW4gZXN0YWJsaXNoLWJhc2VsaW5lKCRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAvLyBJRSA2IHJlZnVzZXMgdG8gcmVzaXplIGZvbnRzIHNldCBpbiBwaXhlbHMgYW5kIGl0IHdlaXJkbHkgcmVzaXplcyBmb250c1xuICAvLyB3aG9zZSByb290IGlzIHNldCBpbiBlbXMuIFNvIHdlIHNldCB0aGUgcm9vdCBmb250IHNpemUgaW4gcGVyY2VudGFnZXMgb2ZcbiAgLy8gdGhlIGRlZmF1bHQgZm9udCBzaXplLlxuICAqIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJSAqICgkZm9udC1zaXplIC8gJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemUpO1xuICB9XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygxLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICRmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xuICB9XG59XG5cbi8vIFJlc2V0cyB0aGUgbGluZS1oZWlnaHQgdG8gMSB2ZXJ0aWNhbCByaHl0aG0gdW5pdC5cbi8vIERvZXMgbm90IHdvcmsgb24gZWxlbWVudHMgd2hvc2UgZm9udC1zaXplIGlzIGRpZmZlcmVudCBmcm9tICRiYXNlLWZvbnQtc2l6ZS5cbi8vXG4vLyBAZGVwcmVjYXRlZCBUaGlzIG1peGluIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCByZWxlYXNlLlxuLy8gUGxlYXNlIHVzZSB0aGUgYGFkanVzdC1sZWFkaW5nLXRvYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIHJlc2V0LWJhc2VsaW5lIHtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkYmFzZS1mb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBTaG93IGEgYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlYnVnIHlvdXIgYWxpZ25tZW50cy5cbi8vIEluY2x1ZGUgdGhlICRpbWcgYXJndW1lbnQgaWYgeW91IHdvdWxkIHJhdGhlciB1c2UgeW91ciBvd24gaW1hZ2UgdGhhbiB0aGVcbi8vIENvbXBhc3MgZGVmYXVsdCBncmFkaWVudCBpbWFnZS5cbkBtaXhpbiBkZWJ1Zy12ZXJ0aWNhbC1hbGlnbm1lbnQoJGltZzogZmFsc2UpIHtcbiAgQGlmICRpbWcge1xuICAgIGJhY2tncm91bmQ6IGltYWdlLXVybCgkaW1nKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKCRiYXNlLXJoeXRobS11bml0KTtcbiAgfVxufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGEgZGlmZmVyZW50IGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlXG4vLyByaHl0aG0uICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lXG4vLyBvZiB0aGlzIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXRcbi8vIGRlZmF1bHRzIHRvIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbi8vIFVzZSAkZnJvbS1zaXplIHRvIGFkanVzdCBmcm9tIGEgZm9udC1zaXplIG90aGVyIHRoYW4gdGhlIGJhc2UgZm9udC1zaXplLlxuQG1peGluIGFkanVzdC1mb250LXNpemUtdG8oJHRvLXNpemUsICRsaW5lczogbGluZXMtZm9yLWZvbnQtc2l6ZSgkdG8tc2l6ZSksICRmcm9tLXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmcm9tLXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byBhZGp1c3QtZm9udC1zaXplLXRvXCI7XG4gIH1cbiAgZm9udC1zaXplOiAkZm9udC11bml0ICogJHRvLXNpemUgLyAkZnJvbS1zaXplO1xuICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJHRvLXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGRpZmZlcmVudCBsaW5lIGhlaWdodCB0byBtYWludGFpbiB0aGUgcmh5dGhtLlxuLy8gJGxpbmVzIHNwZWNpZmllcyBob3cgbWFueSBtdWx0aXBsZXMgb2YgdGhlIGJhc2VsaW5lIHJoeXRobSBlYWNoIGxpbmUgb2YgdGhpc1xuLy8gZm9udCBzaG91bGQgdXNlIHVwLiBJdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdCBkZWZhdWx0cyB0byB0aGVcbi8vIHNtYWxsZXN0IGludGVnZXIgdGhhdCBpcyBsYXJnZSBlbm91Z2ggdG8gZml0IHRoZSBmb250LlxuQG1peGluIGFkanVzdC1sZWFkaW5nLXRvKCRsaW5lcywgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIGxpbmUtaGVpZ2h0OiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHJoeXRobSB1bml0cy5cbkBmdW5jdGlvbiByaHl0aG0oXG4gICRsaW5lczogMSxcbiAgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLFxuICAkb2Zmc2V0OiAwXG4pIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gdGhlIHJoeXRobSBmdW5jdGlvblwiO1xuICB9XG4gICRyaHl0aG06ICRmb250LXVuaXQgKiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkb2Zmc2V0KSAvICRmb250LXNpemU7XG4gIC8vIFJvdW5kIHRoZSBwaXhlbHMgZG93biB0byBuZWFyZXN0IGludGVnZXIuXG4gIEBpZiB1bml0KCRyaHl0aG0pID09IHB4IHtcbiAgICAkcmh5dGhtOiBmbG9vcigkcmh5dGhtKTtcbiAgfVxuICBAcmV0dXJuICRyaHl0aG07XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBtdWx0aXBsZSBvZiByaHl0aG0gdW5pdHMgbmVlZGVkIHRvIGNvbnRhaW4gdGhlIGZvbnQtc2l6ZS5cbkBmdW5jdGlvbiBsaW5lcy1mb3ItZm9udC1zaXplKCRmb250LXNpemUpIHtcbiAgJGxpbmVzOiBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsXG4gICAgICAgICAgICAgIGNlaWwoMiAqICRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCkgLyAyLFxuICAgICAgICAgICAgICBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCkpO1xuICBAaWYgJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplIDwgJG1pbi1saW5lLXBhZGRpbmcgKiAyIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIGlmKCRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZSwgMC41LCAxKTtcbiAgfVxuICBAcmV0dXJuICRsaW5lcztcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlLiBUaGUgJHByb3BlcnR5IGNhbiBiZSBtYXJnaW4gb3IgcGFkZGluZy5cbkBtaXhpbiBsZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgcGFkZGluZy5cbkBtaXhpbiBwYWRkaW5nLWxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBwYWRkaW5nLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLWxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBtYXJnaW4tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJHByb3BlcnR5OiBtYXJnaW4pIHtcbiAgI3skcHJvcGVydHl9LWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgcGFkZGluZy5cbkBtaXhpbiBwYWRkaW5nLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIG1hcmdpbi5cbkBtaXhpbiBtYXJnaW4tdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBtYXJnaW4tYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gU2hvcnRoYW5kIG1peGluIHRvIGFwcGx5IHdoaXRlc3BhY2UgZm9yIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgYW5kIHBhZGRpbmcuXG5AbWl4aW4gcmh5dGhtKCRsZWFkZXI6IDAsICRwYWRkaW5nLWxlYWRlcjogMCwgJHBhZGRpbmctdHJhaWxlcjogMCwgJHRyYWlsZXI6IDAsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBsZWFkZXIoJGxlYWRlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHBhZGRpbmctbGVhZGVyKCRwYWRkaW5nLWxlYWRlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHBhZGRpbmctdHJhaWxlcigkcGFkZGluZy10cmFpbGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgdHJhaWxlcigkdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGEgYm9yZGVyIGFuZCB3aGl0ZXNwYWNlIHRvIGFueSBzaWRlIHdpdGhvdXQgZGVzdHJveWluZyB0aGUgdmVydGljYWxcbi8vIHJoeXRobS4gVGhlIHdoaXRlc3BhY2UgbXVzdCBiZSBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBib3JkZXIuXG5AbWl4aW4gYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKCRzaWRlLCAkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyXCI7XG4gIH1cbiAgYm9yZGVyLSN7JHNpZGV9LXN0eWxlOiAkYm9yZGVyLXN0eWxlO1xuICBib3JkZXItI3skc2lkZX0td2lkdGg6ICRmb250LXVuaXQgKiAkd2lkdGggLyAkZm9udC1zaXplO1xuICBwYWRkaW5nLSN7JHNpZGV9OiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplLCAkb2Zmc2V0OiAkd2lkdGgpO1xufVxuXG4vLyBBcHBseSBib3JkZXJzIGFuZCB3aGl0ZXNwYWNlIGVxdWFsbHkgdG8gYWxsIHNpZGVzLlxuQG1peGluIHJoeXRobS1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byByaHl0aG0tYm9yZGVyc1wiO1xuICB9XG4gIGJvcmRlcjoge1xuICAgIHN0eWxlOiAkYm9yZGVyLXN0eWxlO1xuICAgIHdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgfTtcbiAgcGFkZGluZzogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYSBsZWFkaW5nIGJvcmRlci5cbkBtaXhpbiBsZWFkaW5nLWJvcmRlcigkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKHRvcCwgJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBcHBseSBhIHRyYWlsaW5nIGJvcmRlci5cbkBtaXhpbiB0cmFpbGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcihib3R0b20sICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYm90aCBsZWFkaW5nIGFuZCB0cmFpbGluZyBib3JkZXJzLlxuQG1peGluIGhvcml6b250YWwtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgbGVhZGluZy1ib3JkZXIoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSB0cmFpbGluZy1ib3JkZXIoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBbGlhcyBmb3IgYGhvcml6b250YWwtYm9yZGVyc2AgbWl4aW4uXG5AbWl4aW4gaC1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuIiwiQGltcG9ydCBcIi4uL2NzczMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiLi4vY3NzMy9iYWNrZ3JvdW5kLXNpemVcIjtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yICAgICA6IHJnYmEoMTAwLCAxMDAsIDIyNSwgMC4yNSkgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvciAgICAgOiByZ2JhKDAsIDAsIDAsIDApICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4geW91ciBncmlkXG4kZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMgICAgOiAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIHdpZHRoIG9mIHlvdXIgY29sdW1uc1xuJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGggICAgIDogMzBweCAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGd1dHRlcnNcbiRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoICAgICA6IDEwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgb2Zmc2V0LCBpZiB5b3VyIGNvbHVtbnMgYXJlIHBhZGRlZCBpbiBmcm9tIHRoZSBjb250YWluZXIgZWRnZVxuJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQgICAgICAgICAgIDogMHB4ICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgYmFzZWxpbmVcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IgICA6IHJnYmEoMCwgMCwgMCwgMC41KSAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgaGVpZ2h0IG9mIHlvdXIgYmFzZWxpbmUgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQgIDogMS41ZW0gICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyB0b2dnbGUgeW91ciBjb2x1bW5zIGdyaWRzIG9uIGFuZCBvZmZcbiRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzICAgICA6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIHRvZ2dsZSB5b3VyIHZlcnRpY2FsIGdyaWRzIG9uIGFuZCBvZmZcbiRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgICA6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIHRvZ2dsZSBhbGwgeW91ciBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1ncmlkLWJhY2tncm91bmRzICAgICAgICAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIG9wdGlvbmFsbHkgZm9yY2UgeW91ciBncmlkLWltYWdlIHRvIHJlbWFpbiBmbHVpZFxuLy8gbm8gbWF0dGVyIHdoYXQgdW5pdHMgeW91IHVzZWQgdG8gZGVjbGFyZWQgeW91ciBncmlkLlxuJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZCAgICAgIDogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIENyZWF0ZSB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBiYXNlbGluZSBncmlkc1xuQGZ1bmN0aW9uIGdldC1iYXNlbGluZS1ncmFkaWVudChcbiAgJGNvbG9yIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvclxuKSB7XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgJGNvbG9yIDUlLCByZ2JhKCRjb2xvciwwKSA1JSk7XG4gIEByZXR1cm4gJGdyYWRpZW50O1xufVxuXG4vLyBDcmVhdGUgdGhlIGNvbG9yLXN0b3BzIG5lZWRlZCBmb3IgaG9yaXpvbnRhbCBncmlkc1xuQGZ1bmN0aW9uIGJ1aWxkLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3Jcbikge1xuICAkZ3JpZDogY29tcGFjdCgpO1xuICAkZ3JpZDogYXBwZW5kKCRncmlkLCAkZ3V0dGVyLWNvbG9yICRvZmZzZXQsIGNvbW1hKTtcbiAgQGZvciAkaSBmcm9tIDAgdG8gJHRvdGFsIHtcblxuICAgIC8vICRhIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgY29sdW1uLCBpbml0aWFsbHkgZXF1YWwgdG8gdGhlIG9mZnNldFxuICAgICRhOiAkb2Zmc2V0O1xuICAgIEBpZiAkaSA+IDAgeyAkYTogJGEgKyAoKCRjb2x1bW4gKyAkZ3V0dGVyKSAqICRpKTsgfVxuXG4gICAgLy8gJGcgcmVwcmVzZW50cyB0aGUgc3RhcnQgb2YgdGhpcyBndXR0ZXIsIGVxdWFsIHRvICRhIHBsdXMgb25lIGNvbHVtbi13aWR0aFxuICAgICRnOiAkYSArICRjb2x1bW47XG5cbiAgICAvLyAkeiByZXByZXNlbnRzIHRoZSBlbmQgb2YgYSBndXR0ZXIsIGVxdWFsIHRvICRnIHBsdXMgb25lIGd1dHRlci13aWR0aFxuICAgICR6OiAkZyArICRndXR0ZXI7XG5cbiAgICBAaWYgKHVuaXQoJGEpID09IFwiJVwiKSBhbmQgKCRpID09ICgkdG90YWwgLSAxKSkge1xuICAgICAgJHo6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gYW5kIHdlIGFkZCB0aGlzIGNvbHVtbi9ndXR0ZXIgcGFpciB0byBvdXIgZ3JpZFxuICAgICRncmlkOiBqb2luKCRncmlkLCAoJGNvbHVtbi1jb2xvciAkYSwgJGNvbHVtbi1jb2xvciAkZywgJGd1dHRlci1jb2xvciAkZywgJGd1dHRlci1jb2xvciAkeikpO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuLy8gUmV0dXJuIHRoZSBncmFkaWVudCBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtY29sdW1uLWdyYWRpZW50KFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gICRncmlkOiB1bnF1b3RlKFwiXCIpO1xuXG4gIC8vIGRvbid0IGZvcmNlIGZsdWlkIGdyaWRzIHdoZW4gdGhleSBhcmUgYWxyZWFkeSBmbHVpZC5cbiAgQGlmIHVuaXQoJGNvbHVtbikgPT0gXCIlXCIgeyAkZm9yY2UtZmx1aWQ6IGZhbHNlOyB9XG5cbiAgQGlmICRmb3JjZS1mbHVpZCB7XG4gICAgJGdyaWQ6IGdldC1jb2x1bW4tZmx1aWQtZ3JpZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgfSBAZWxzZSB7XG4gICAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHJldHVybiB0aGUgaG9yaXpvbnRhbCBncmlkIGFzIGEgZ3JhZGllbnRcbiAgJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQobGVmdCwgJGdyaWQpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ29udmVydCBhIGdyaWQgZnJvbSBmaXhlZCB1bml0cyBpbnRvIHBlcmNlbnRhZ2VzLlxuQGZ1bmN0aW9uIGdldC1jb2x1bW4tZmx1aWQtZ3JpZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3Jcbikge1xuICAkY29udGV4dDogKCRjb2x1bW4gKiAkdG90YWwpICsgKCRndXR0ZXIgKiAoJHRvdGFsIC0gMSkgKyAoJG9mZnNldCAqIDIpKTtcbiAgJG9mZnNldDogJG9mZnNldCAvICRjb250ZXh0ICogMTAwJTtcbiAgJGNvbHVtbjogJGNvbHVtbiAvICRjb250ZXh0ICogMTAwJTtcbiAgJGd1dHRlcjogJGd1dHRlciAvICRjb250ZXh0ICogMTAwJTtcblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIHNldCBvZiBjb2xvci1zdG9wc1xuICAkZ3JpZDogYnVpbGQtZ3JpZC1iYWNrZ3JvdW5kKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IpO1xuICBAcmV0dXJuICRncmlkO1xufVxuXG5cbi8vIEFkZCBqdXN0IHRoZSBiYXNlbGluZSBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKFxuICAkYmFzZWxpbmUgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWhlaWdodCxcbiAgJGNvbG9yICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvclxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIGFuZCAkc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGdldC1iYXNlbGluZS1ncmFkaWVudCgkY29sb3IpKTtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBqdXN0IHRoZSBob3Jpem9udGFsIGdyaWQgdG8gYW4gZWxlbWVudCdzIGJhY2tncm91bmRcbkBtaXhpbiBjb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIGFuZCAkc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShcbiAgICAgIGdldC1jb2x1bW4tZ3JhZGllbnQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvciwgJGZvcmNlLWZsdWlkKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuLy8gQWRkIGJvdGggaG9yaXpvbnRhbCBhbmQgYmFzZWxpbmUgZ3JpZHMgdG8gYW4gZWxlbWVudCdzIGJhY2tncm91bmRcbkBtaXhpbiBncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkYmFzZWxpbmUgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWhlaWdodCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvcixcbiAgJGJhc2VsaW5lLWNvbG9yIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvcixcbiAgJGZvcmNlLWZsdWlkICAgIDogJGdyaWQtYmFja2dyb3VuZC1mb3JjZS1mbHVpZFxuKSB7XG4gIEBpZiAkc2hvdy1ncmlkLWJhY2tncm91bmRzIHtcbiAgICBAaWYgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShcbiAgICAgICAgZ2V0LWJhc2VsaW5lLWdyYWRpZW50KCRiYXNlbGluZS1jb2xvciksXG4gICAgICAgIGdldC1jb2x1bW4tZ3JhZGllbnQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvciwgJGZvcmNlLWZsdWlkKVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgxMDAlICRiYXNlbGluZSwgYXV0byk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZWxpbmUsICRiYXNlbGluZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBjb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZCk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5AaW1wb3J0IFwiLi4vdXRpbGl0aWVzL2dlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZChcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRiYWNrZ3JvdW5kcykgb3IgJG11bHQtYmdzO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1zdmcoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1vd2coJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1tb3ooJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgICAgLW8oJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgICAgICAgeyAtcGllLWJhY2tncm91bmQ6ICAgIC1waWUoJGJhY2tncm91bmRzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICAgICAgICAgJGJhY2tncm91bmRzIDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtd2l0aC1jc3MyLWZhbGxiYWNrKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJHNpbXBsZS1iYWNrZ3JvdW5kOiBpZigkbXVsdC1iZ3Mgb3IgcHJlZml4ZWQoLWNzczIsICRiYWNrZ3JvdW5kcyksIC1jc3MyKC1jb21wYXNzLW50aCgkYmFja2dyb3VuZHMsIGxhc3QpKSwgZmFsc2UpO1xuICBAaWYgbm90KGJsYW5rKCRzaW1wbGUtYmFja2dyb3VuZCkpIHsgYmFja2dyb3VuZDogJHNpbXBsZS1iYWNrZ3JvdW5kOyB9XG4gIEBpbmNsdWRlIGJhY2tncm91bmQoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG59XG5cblxuLy8gQmFja2dyb3VuZCBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZShcbiAgJGltYWdlLTEsXG4gICRpbWFnZS0yOiBmYWxzZSxcbiAgJGltYWdlLTM6IGZhbHNlLFxuICAkaW1hZ2UtNDogZmFsc2UsXG4gICRpbWFnZS01OiBmYWxzZSxcbiAgJGltYWdlLTY6IGZhbHNlLFxuICAkaW1hZ2UtNzogZmFsc2UsXG4gICRpbWFnZS04OiBmYWxzZSxcbiAgJGltYWdlLTk6IGZhbHNlLFxuICAkaW1hZ2UtMTA6IGZhbHNlXG4pIHtcbiAgJGltYWdlczogY29tcGFjdCgkaW1hZ2UtMSwgJGltYWdlLTIsICRpbWFnZS0zLCAkaW1hZ2UtNCwgJGltYWdlLTUsICRpbWFnZS02LCAkaW1hZ2UtNywgJGltYWdlLTgsICRpbWFnZS05LCAkaW1hZ2UtMTApO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkaW1hZ2VzKSBvciAtY29tcGFzcy1saXN0LXNpemUoJGltYWdlcykgPiAxO1xuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtc3ZnKCRpbWFnZXMpOyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1vd2coJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQoJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1tb3ooJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8oJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICB7IEB3YXJuIFwiUElFIGRvZXMgbm90IHN1cHBvcnQgYmFja2dyb3VuZC1pbWFnZS4gVXNlIEBpbmNsdWRlIGJhY2tncm91bmQoI3skaW1hZ2VzfSkgaW5zdGVhZC5cIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgICRpbWFnZXMgO1xufVxuXG4vLyBFbWl0IGEgSUUtU3BlY2lmaWMgZmlsdGVycyB0aGF0IHJlbmRlcnMgYSBzaW1wbGUgbGluZWFyIGdyYWRpZW50LlxuLy8gRm9yIHVzZSBpbiBJRSA2IC0gOC4gQmVzdCBwcmFjdGljZSB3b3VsZCBoYXZlIHlvdSBhcHBseSB0aGlzIHZpYSBhXG4vLyBjb25kaXRpb25hbCBJRSBzdHlsZXNoZWV0LCBidXQgaWYgeW91IG11c3QsIHlvdSBzaG91bGQgcGxhY2UgdGhpcyBiZWZvcmVcbi8vIGFueSBiYWNrZ3JvdW5kLWltYWdlIHByb3BlcnRpZXMgdGhhdCB5b3UgaGF2ZSBzcGVjaWZpZWQuXG4vL1xuLy8gRm9yIHRoZSBgJG9yaWVudGF0aW9uYCBwYXJhbWV0ZXIsIHlvdSBjYW4gcGFzcyBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC5cbkBtaXhpbiBmaWx0ZXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb246IHZlcnRpY2FsKSB7XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG4gICRncmFkaWVudC10eXBlOiBpZigkb3JpZW50YXRpb24gPT0gdmVydGljYWwsIDAsIDEpO1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGdyYWRpZW50VHlwZT0jeyRncmFkaWVudC10eXBlfSwgc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nKTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHByb3BlcnRpZXMgYW5kIHZhbHVlcy5cbkBtaXhpbiBib3JkZXItaW1hZ2UoJHZhbHVlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICB7ICAgIC1tb3otYm9yZGVyLWltYWdlOiAgICAtbW96KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogICAgLW93ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICB7ICAgICAgLW8tYm9yZGVyLWltYWdlOiAgICAgIC1vKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgeyAgICAgICAgIGJvcmRlci1pbWFnZTogICAgLXN2ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlO1xufVxuXG4vLyBMaXN0IHN0eWxlIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlLWltYWdlKCRpbWFnZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCRpbWFnZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkaW1hZ2UpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJGltYWdlIDtcbn1cblxuLy8gTGlzdCBzdHlsZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZSgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkdmFsdWUgO1xufVxuXG4vLyBjb250ZW50IHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBjb250ZW50KCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBjb250ZW50OiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgY29udGVudDogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAgICAgICAgICR2YWx1ZSA7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vICBvdmVycmlkZSB0byBjaGFuZ2UgdGhlIGRlZmF1bHRcbiRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHNpemUgb2YgYmFja2dyb3VuZCBpbWFnZXMgdXNpbmcgcHgsIHdpZHRoIGFuZCBoZWlnaHQsIG9yIHBlcmNlbnRhZ2VzLlxuLy8gQ3VycmVudGx5IHN1cHBvcnRlZCBpbjogT3BlcmEsIEdlY2tvLCBXZWJraXQuXG4vL1xuLy8gKiBwZXJjZW50YWdlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhY2tncm91bmQtb3JpZ2luIChkZWZhdWx0ID0gcGFkZGluZy1ib3gpXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvOiBgJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplYFxuQG1peGluIGJhY2tncm91bmQtc2l6ZShcbiAgJHNpemUtMTogJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplLFxuICAkc2l6ZS0yOiBmYWxzZSxcbiAgJHNpemUtMzogZmFsc2UsXG4gICRzaXplLTQ6IGZhbHNlLFxuICAkc2l6ZS01OiBmYWxzZSxcbiAgJHNpemUtNjogZmFsc2UsXG4gICRzaXplLTc6IGZhbHNlLFxuICAkc2l6ZS04OiBmYWxzZSxcbiAgJHNpemUtOTogZmFsc2UsXG4gICRzaXplLTEwOiBmYWxzZVxuKSB7XG4gICRzaXplLTE6IGlmKHR5cGUtb2YoJHNpemUtMSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRzaXplLTEpLCAkc2l6ZS0xKTtcbiAgJHNpemVzOiBjb21wYWN0KCRzaXplLTEsICRzaXplLTIsICRzaXplLTMsICRzaXplLTQsICRzaXplLTUsICRzaXplLTYsICRzaXplLTcsICRzaXplLTgsICRzaXplLTksICRzaXplLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtc2l6ZSwgJHNpemVzLCAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpKTtcbn1cbiIsIkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2lubGluZS1ibG9ja1wiO1xuQGltcG9ydCBcImNzczMvb3BhY2l0eVwiO1xuQGltcG9ydCBcImNzczMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcImNzczMvdGV4dC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2JveFwiO1xuQGltcG9ydCBcImNzczMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWNsaXBcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtb3JpZ2luXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLXNpemVcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9yZWdpb25zXCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5hdGlvblwiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9waWVcIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItaW50ZXJmYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4Ym94XCI7IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG5cbi8vIFJvdW5kIGFsbCBjb3JuZXJzIGJ5IGEgc3BlY2lmaWMgYW1vdW50LCBkZWZhdWx0cyB0byB2YWx1ZSBvZiBgJGRlZmF1bHQtYm9yZGVyLXJhZGl1c2AuXG4vL1xuLy8gV2hlbiB0d28gdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBmaXJzdCBpcyB0aGUgaG9yaXpvbnRhbCByYWRpdXNcbi8vIGFuZCB0aGUgc2Vjb25kIGlzIHRoZSB2ZXJ0aWNhbCByYWRpdXMuXG4vL1xuLy8gTm90ZTogd2Via2l0IGRvZXMgbm90IHN1cHBvcnQgc2hvcnRoYW5kIHN5bnRheCBmb3Igc2V2ZXJhbCBjb3JuZXJzIGF0IG9uY2UuXG4vLyBTbyBpbiB0aGUgY2FzZSB3aGVyZSB5b3UgcGFzcyBzZXZlcmFsIHZhbHVlcyBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIHBhc3NlZCB0byB3ZWJraXQuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gICAgIC5zaW1wbGUgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4LCA0cHgpOyB9XG4vLyAgICAgLmNvbXBvdW5kIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHggNXB4LCAzcHggNnB4KTsgfVxuLy8gICAgIC5jcmF6eSAgICB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMXB4IDNweCA1cHggN3B4LCAycHggNHB4IDZweCA4cHgpfVxuLy9cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vXG4vLyAgICAuc2ltcGxlIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHggNHB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDRweCAvIDRweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4OyB9XG4vLyAgICBcbi8vICAgIC5jb21wb3VuZCB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4IDNweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDsgfVxuLy8gICAgXG4vLyAgICAuY3Jhenkge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweCAycHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7IH1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cywgJHZlcnRpY2FsLXJhZGl1czogZmFsc2UpIHtcblxuICBAaWYgJHZlcnRpY2FsLXJhZGl1cyB7XG4gICAgLy8gV2Via2l0IGRvZXNuJ3QgdW5kZXJzdGFuZCB0aGUgb2ZmaWNpYWwgc2hvcnRoYW5kIHN5bnRheCBmb3Igc3BlY2lmeWluZ1xuICAgIC8vIGEgdmVydGljYWwgcmFkaXVzIHVubGVzcyBzbyBpbiBjYXNlIHRoZXJlJ3Mgc2V2ZXJhbCB3ZSBvbmx5IHRha2UgdGhlIGZpcnN0LlxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCBmaXJzdC12YWx1ZS1vZigkcmFkaXVzKSBmaXJzdC12YWx1ZS1vZigkdmVydGljYWwtcmFkaXVzKSxcbiAgICAgIG5vdCgtbW96KSxcbiAgICAgIC13ZWJraXQsXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICBub3QoLWtodG1sKSxcbiAgICAgIG5vdChvZmZpY2lhbClcbiAgICApO1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXNcIiwgJHJhZGl1cyB1bnF1b3RlKFwiL1wiKSAkdmVydGljYWwtcmFkaXVzLFxuICAgICAgLW1veixcbiAgICAgIG5vdCgtd2Via2l0KSxcbiAgICAgIG5vdCgtbyksXG4gICAgICBub3QoLW1zKSxcbiAgICAgIC1raHRtbCxcbiAgICAgIG9mZmljaWFsXG4gICAgKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJvcmRlci1yYWRpdXMsICRyYWRpdXMpO1xuICB9XG59XG5cbi8vIFJvdW5kIHJhZGl1cyBhdCBwb3NpdGlvbiBieSBhbW91bnQuXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yIGAkdmVydGA6IGB0b3BgLCBgYm90dG9tYFxuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yIGAkaG9yemA6IGBsZWZ0YCwgYHJpZ2h0YFxuXG5AbWl4aW4gYm9yZGVyLWNvcm5lci1yYWRpdXMoJHZlcnQsICRob3J6LCAkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIC8vIFN1cHBvcnQgZm9yIG1vemlsbGEncyBzeW50YXggZm9yIHNwZWNpZnlpbmcgYSBjb3JuZXJcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLXJhZGl1cy0jeyR2ZXJ0fSN7JGhvcnp9XCIsICRyYWRpdXMsXG4gICAgLW1veixcbiAgICBub3QoLXdlYmtpdCksXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qob2ZmaWNpYWwpXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci0jeyR2ZXJ0fS0jeyRob3J6fS1yYWRpdXNcIiwgJHJhZGl1cyxcbiAgICBub3QoLW1veiksXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xuICBcbn1cblxuLy8gUm91bmQgdG9wLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIHRvcC1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyh0b3AsIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3R0b20tbGVmdCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgbGVmdCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLXJpZ2h0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKGJvdHRvbSwgcmlnaHQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggdG9wIGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHJpZ2h0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIGJvdHRvbSBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBsZWZ0IGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTsgfVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIENTUyBvcGFjaXR5LiBUYWtlcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEgYXMgdGhlIGFyZ3VtZW50LCBlLmcuIDAuNSBmb3IgNTAlIG9wYWNpdHkuXG4vL1xuLy8gICAgIEBwYXJhbSAkb3BhY2l0eVxuLy8gICAgICAgICBBIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIHdoZXJlIDAgaXMgdHJhbnNwYXJlbnQgYW5kIDEgaXMgb3BhcXVlLlxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gIH1cbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50LlxuQG1peGluIHRyYW5zcGFyZW50IHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSBvcGFxdWUuXG5AbWl4aW4gb3BhcXVlIHsgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuIiwiLy8gQGRvYyBvZmZcbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgYmVmb3JlIGltcG9ydGluZy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBib3ggc2hhZG93c1xuJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgaG9yaXpvbnRhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIHRvIHRoZSByaWdodC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgdmVydGljYWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyBkb3duLlxuJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBibHVyIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cjogNXB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzcHJlYWQgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc2hhZG93IGluc2V0OiBpbnNldCBvciBmYWxzZSAoZm9yIHN0YW5kYXJkIHNoYWRvdykuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0IDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzIGJveCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgYm94XG4vLyBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyBib3gtc2hhZG93IHByb3BlcnR5LlxuQG1peGluIGJveC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMSA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdChpZigkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0LCBpbnNldCwgZmFsc2UpLCAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yKSk7XG4gIH1cbiAgJHNoYWRvdyA6IGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2hhZG93LCAkc2hhZG93LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgYm94IHNoYWRvdyBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMuXG4vLyBJbmNsdWRlcyBkZWZhdWx0IGFyZ3VtZW50cyBmb3IgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciBsZW5ndGgsIHNwcmVhZCBsZW5ndGgsIGNvbG9yIGFuZCBpbnNldC5cbkBtaXhpbiBzaW5nbGUtYm94LXNoYWRvdyhcbiAgJGhvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsXG4gICR2b2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LFxuICAkYmx1ciAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLFxuICAkc3ByZWFkIDogJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsXG4gICRjb2xvciAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yLFxuICAkaW5zZXQgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldFxuKSB7XG4gIEBpZiBub3QgKCRpbnNldCA9PSB0cnVlIG9yICRpbnNldCA9PSBmYWxzZSBvciAkaW5zZXQgPT0gaW5zZXQpIHtcbiAgICBAd2FybiBcIiRpbnNldCBleHBlY3RlZCB0byBiZSB0cnVlIG9yIHRoZSBpbnNldCBrZXl3b3JkLiBHb3QgI3skaW5zZXR9IGluc3RlYWQuIFVzaW5nOiBpbnNldFwiO1xuICB9XG5cbiAgQGlmICRjb2xvciA9PSBub25lIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9IEBlbHNlIHtcbiAgICAkZnVsbCAgIDogJGhvZmYgJHZvZmY7XG4gICAgQGlmICRibHVyICAgeyAkZnVsbDogJGZ1bGwgJGJsdXI7ICAgfVxuICAgIEBpZiAkc3ByZWFkIHsgJGZ1bGw6ICRmdWxsICRzcHJlYWQ7IH1cbiAgICBAaWYgJGNvbG9yICB7ICRmdWxsOiAkZnVsbCAkY29sb3I7ICB9XG4gICAgQGlmICRpbnNldCAgeyAkZnVsbDogaW5zZXQgJGZ1bGw7ICAgfVxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZ1bGwpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgaW4geW91ciBwcm9qZWN0XG5cbiRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yOiAgICAjYWFhICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldDogMHB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXI6ICAgICAxcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkOiAgIGZhbHNlICAhZGVmYXVsdDtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciB0ZXh0IHNoYWRvd3Mgd2hlbiBvbmUgb3IgbW9yZSBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyB0ZXh0LXNoYWRvdyBwcm9wZXJ0eS5cbi8vXG4vLyBOb3RlOiBpZiBhbnkgc2hhZG93IGhhcyBhIHNwcmVhZCBwYXJhbWV0ZXIsIHRoaXMgd2lsbCBjYXVzZSB0aGUgbWl4aW5cbi8vIHRvIGVtaXQgdGhlIHNoYWRvdyBkZWNsYXJhdGlvbiB0d2ljZSwgZmlyc3Qgd2l0aG91dCB0aGUgc3ByZWFkLFxuLy8gdGhlbiB3aXRoIHRoZSBzcHJlYWQgaW5jbHVkZWQuIFRoaXMgYWxsb3dzIHlvdSB0byBwcm9ncmVzc2l2ZWx5XG4vLyBlbmhhbmNlIHRoZSBicm93c2VycyB0aGF0IGRvIHN1cHBvcnQgdGhlIHNwcmVhZCBwYXJhbWV0ZXIuXG5AbWl4aW4gdGV4dC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMTogY29tcGFjdCgkZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldCAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyICRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcik7XG4gIH1cbiAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGpvaW4oKCksKCksY29tbWEpO1xuICAkc2hhZG93czogam9pbigoKSwoKSxjb21tYSk7XG4gICRoYXMtc3ByZWFkOiBmYWxzZTtcbiAgQGVhY2ggJHNoYWRvdyBpbiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKSB7XG4gICAgQGlmIGxlbmd0aCgkc2hhZG93KSA+IDQge1xuICAgICAgJGhhcy1zcHJlYWQ6IHRydWU7XG4gICAgICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogYXBwZW5kKCRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkLCBudGgoJHNoYWRvdywxKSBudGgoJHNoYWRvdywyKSBudGgoJHNoYWRvdywzKSBudGgoJHNoYWRvdyw1KSk7XG4gICAgICAkc2hhZG93czogYXBwZW5kKCRzaGFkb3dzLCAkc2hhZG93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgJHNoYWRvdyk7XG4gICAgICAkc2hhZG93czogYXBwZW5kKCRzaGFkb3dzLCAkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgQGlmICRoYXMtc3ByZWFkIHtcbiAgICB0ZXh0LXNoYWRvdzogJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ7XG4gIH1cbiAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzO1xufVxuXG4vLyBQcm92aWRlcyBhIHNpbmdsZSBjcm9zcy1icm93c2VyIENTUyB0ZXh0IHNoYWRvdy5cbi8vXG4vLyBQcm92aWRlcyBzZW5zaWJsZSBkZWZhdWx0cyBmb3IgdGhlIGNvbG9yLCBob3Jpem9udGFsIG9mZnNldCwgdmVydGljYWwgb2Zmc2V0LCBibHVyLCBhbmQgc3ByZWFkXG4vLyBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGVmYXVsdHMgYWJvdmUuXG5AbWl4aW4gc2luZ2xlLXRleHQtc2hhZG93KFxuICAkaG9mZjogZmFsc2UsXG4gICR2b2ZmOiBmYWxzZSxcbiAgJGJsdXI6IGZhbHNlLFxuICAkc3ByZWFkOiBmYWxzZSxcbiAgJGNvbG9yOiBmYWxzZVxuKSB7XG4gIC8vIEEgbG90IG9mIHBlb3BsZSB0aGluayB0aGUgY29sb3IgY29tZXMgZmlyc3QuIEl0IGRvZXNuJ3QuXG4gIEBpZiB0eXBlLW9mKCRob2ZmKSA9PSBjb2xvciB7XG4gICAgJHRlbXAtY29sb3I6ICRob2ZmO1xuICAgICRob2ZmOiAkdm9mZjtcbiAgICAkdm9mZjogJGJsdXI7XG4gICAgJGJsdXI6ICRzcHJlYWQ7XG4gICAgJHNwcmVhZDogJGNvbG9yO1xuICAgICRjb2xvcjogJHRlbXAtY29sb3I7XG4gIH1cbiAgLy8gQ2FuJ3QgcmVseSBvbiBkZWZhdWx0IGFzc2lnbm1lbnQgd2l0aCBtdWx0aXBsZSBzdXBwb3J0ZWQgYXJndW1lbnQgb3JkZXJzLlxuICAkaG9mZjogICBpZigkaG9mZiwgICAkaG9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldCk7XG4gICR2b2ZmOiAgIGlmKCR2b2ZmLCAgICR2b2ZmLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0KTtcbiAgJGJsdXI6ICAgaWYoJGJsdXIsICAgJGJsdXIsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAgICApO1xuICAkc3ByZWFkOiBpZigkc3ByZWFkLCAkc3ByZWFkLCAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgICk7XG4gICRjb2xvcjogIGlmKCRjb2xvciwgICRjb2xvciwgICRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yICAgKTtcbiAgLy8gV2UgZG9uJ3QgbmVlZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgQGlmICRjb2xvciA9PSBub25lIG9yICRob2ZmID09IG5vbmUge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KG5vbmUpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhjb21wYWN0KCRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQgJGNvbG9yKSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU3BlY2lmeSB0aGUgc2hvcnRoYW5kIGBjb2x1bW5zYCBwcm9wZXJ0eS5cbi8vXG4vLyBFeGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW5zKDIwZW0gMilcbkBtaXhpbiBjb2x1bW5zKCR3aWR0aC1hbmQtY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbnMsICR3aWR0aC1hbmQtY291bnQsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIG51bWJlciBvZiBjb2x1bW5zXG5AbWl4aW4gY29sdW1uLWNvdW50KCRjb3VudCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWNvdW50LCAkY291bnQsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGdhcCBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgMjBweGBcbkBtaXhpbiBjb2x1bW4tZ2FwKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWdhcCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB3aWR0aCBvZiBjb2x1bW5zIGUuZy4gYDEwMHB4YFxuQG1peGluIGNvbHVtbi13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi13aWR0aCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgMXB4YFxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgc3R5bGUgb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYGRvdHRlZGAuXG4vLyBUaGlzIHdvcmtzIGxpa2UgYm9yZGVyLXN0eWxlLlxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtc3R5bGUsIHVucXVvdGUoJHN0eWxlKSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgY29sb3Igb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYGJsdWVgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1jb2xvci5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGVuY29tcGFzc2luZyBhbGwgY29sdW1uIHJ1bGUgcHJvcGVydGllc1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbi1ydWxlKDFweCwgc29saWQsICNjMDApXG4vL1xuLy8gT3IgdGhlIHZhbHVlcyBjYW4gYmUgc3BhY2Ugc2VwYXJhdGVkOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHggc29saWQgI2MwMClcbkBtaXhpbiBjb2x1bW4tcnVsZSgkd2lkdGgsICRzdHlsZTogZmFsc2UsICRjb2xvcjogZmFsc2UpIHtcbiAgJGZ1bGwgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoJHdpZHRoLCAkc3R5bGUsICRjb2xvcikpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUsICRmdWxsLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYmVmb3JlXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmJlZm9yZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWJlZm9yZShhbHdheXMpO31cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vXG4vLyAgaDIuYmVmb3JlIHsgICAgXG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5czt9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWJlZm9yZSgkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1iZWZvcmUsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1hZnRlclxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5hZnRlciB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWFmdGVyKGFsd2F5cyk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vXG4vLyAgaDIuYWZ0ZXIge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzOyB9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWFmdGVyKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWFmdGVyLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstaW5zaWRlXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGF2b2lkLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5pbnNpZGUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1pbnNpZGUoKTt9XG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBcbi8vICBoMi5pbnNpZGUge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO1xuLy8gICAgY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bzt9XG5AbWl4aW4gY29sdW1uLWJyZWFrLWluc2lkZSgkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1pbnNpZGUsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIEFsbC1wdXJwb3NlIG1peGluIGZvciBzZXR0aW5nIGNvbHVtbiBicmVha3MuXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogYmVmb3JlLCBhZnRlciwgaW5zaWRlIFxuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICckdmFsdWUnIGFyZSBkZXBlbmRlbnQgb24gJHR5cGVcbi8vICAgICogd2hlbiAkdHlwZSA9IGJlZm9yZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGFmdGVyLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gICAgKiB3aGVuICR0eXBlID0gaW5zaWRlLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGF2b2lkLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICBcbi8vICBFeGFtcGxlczogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhayhiZWZvcmUsIGFsd2F5cyk7fVxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhayhhZnRlciwgYWx3YXlzKTsgfVxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoaW5zaWRlKTsgfVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuLy8gIFxuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuLy9cbi8vICBoMi5pbnNpZGUge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO1xuLy8gICAgY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bzt9XG4gXG5AbWl4aW4gY29sdW1uLWJyZWFrKCR0eXBlOiBiZWZvcmUsICR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJjb2x1bW4tYnJlYWstI3skdHlwZX1cIiwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYm94IG1vZGVsIGZvciBNb3ppbGxhLCBXZWJraXQsIElFOCBhbmQgdGhlIGZ1dHVyZVxuLy9cbi8vIEBwYXJhbSAkYnNcbi8vICAgWyBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggXVxuXG5AbWl4aW4gYm94LXNpemluZygkYnMpIHtcbiAgJGJzOiB1bnF1b3RlKCRicyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2l6aW5nLCAkYnMsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBkaXNwbGF5OmJveDsgbXVzdCBiZSB1c2VkIGZvciBhbnkgb2YgdGhlIG90aGVyIGZsZXhib3ggbWl4aW5zIHRvIHdvcmsgcHJvcGVybHlcbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbC12YWx1ZShkaXNwbGF5LCBib3gsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3ggb3JpZW50YXRpb24sIGFzc3VtaW5nIHRoYXQgdGhlIHVzZXIgd2FudHMgc29tZXRoaW5nIGxlc3MgYmxvY2stbGlrZVxuJGRlZmF1bHQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuLy8gQm94IG9yaWVudGF0aW9uIFsgaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzIHwgaW5oZXJpdCBdXG5AbWl4aW4gYm94LW9yaWVudChcbiAgJG9yaWVudGF0aW9uOiAkZGVmYXVsdC1ib3gtb3JpZW50XG4pIHtcbiAgJG9yaWVudGF0aW9uIDogdW5xdW90ZSgkb3JpZW50YXRpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LW9yaWVudCwgJG9yaWVudGF0aW9uLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94LWFsaWduXG4kZGVmYXVsdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWRlZmF1bHQ7XG5cbi8vIEJveCBhbGlnbiBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoIF1cbkBtaXhpbiBib3gtYWxpZ24oXG4gICRhbGlnbm1lbnQ6ICRkZWZhdWx0LWJveC1hbGlnblxuKSB7XG4gICRhbGlnbm1lbnQgOiB1bnF1b3RlKCRhbGlnbm1lbnQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWFsaWduLCAkYWxpZ25tZW50LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IGZsZXhcbiRkZWZhdWx0LWJveC1mbGV4OiAwICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIGJveCBmbGV4LiBBcHBseSB0aGlzIHRvIHRoZSBjaGlsZHJlbiBpbnNpZGUgdGhlIGJveC5cbi8vXG4vLyBGb3IgZXhhbXBsZTogXCJkaXYuZGlzcGxheS1ib3ggPiBkaXYuY2hpbGQtYm94XCIgd291bGQgZ2V0IHRoZSBib3ggZmxleCBtaXhpbi5cbkBtaXhpbiBib3gtZmxleChcbiAgJGZsZXg6ICRkZWZhdWx0LWJveC1mbGV4XG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LCAkZmxleCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGZsZXggZ3JvdXBcbiRkZWZhdWx0LWJveC1mbGV4LWdyb3VwOiAxICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIGZsZXhpYmxlIGdyb3VwaW5nXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtYm94LWZsZXgtZ3JvdXBcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWZsZXgtZ3JvdXAsICRncm91cCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBvcmRpbmFsIGdyb3VwXG4kZGVmYXVsdC1ib3gtb3JkaW5hbC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBvcmRpbmFsIGdyb3VwaW5nIGFuZCByZWFycmFuZ2luZyB0aGUgb3JkZXJcbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cChcbiAgJGdyb3VwOiAkZGVmYXVsdC1vcmRpbmFsLWZsZXgtZ3JvdXBcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LW9yZGluYWwtZ3JvdXAsICRncm91cCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBCb3ggZGlyZWN0aW9uIGRlZmF1bHQgdmFsdWVcbiRkZWZhdWx0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveC1kaXJlY3Rpb24gWyBub3JtYWwgfCByZXZlcnNlIHwgaW5oZXJpdCBdXG5AbWl4aW4gYm94LWRpcmVjdGlvbihcbiAgJGRpcmVjdGlvbjogJGRlZmF1bHQtYm94LWRpcmVjdGlvblxuKSB7XG4gICRkaXJlY3Rpb246IHVucXVvdGUoJGRpcmVjdGlvbik7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBsaW5lc1xuJGRlZmF1bHQtYm94LWxpbmVzOiBzaW5nbGUgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggbGluZXMgWyBzaW5nbGUgfCBtdWx0aXBsZSBdXG5AbWl4aW4gYm94LWxpbmVzKFxuICAkbGluZXM6ICRkZWZhdWx0LWJveC1saW5lc1xuKSB7XG4gICRsaW5lczogdW5xdW90ZSgkbGluZXMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWxpbmVzLCAkbGluZXMsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3IgYm94IHBhY2tcbiRkZWZhdWx0LWJveC1wYWNrOiBzdGFydCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveCBwYWNrIFsgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IF1cbkBtaXhpbiBib3gtcGFjayhcbiAgJHBhY2s6ICRkZWZhdWx0LWJveC1wYWNrXG4pIHtcbiAgJHBhY2s6IHVucXVvdGUoJHBhY2spO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXBhY2ssICRwYWNrLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgcGFkZGluZy1ib3hgIC0tIHRoZSBib3ggbW9kZWwgdXNlZCBieSBtb2Rlcm4gYnJvd3NlcnMuXG4vL1xuLy8gSWYgeW91IHdpc2ggdG8gZG8gc28sIHlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29uc3RhbnQgd2l0aCBgYm9yZGVyLWJveGBcbi8vXG4vLyBUbyBvdmVycmlkZSB0byB0aGUgZGVmYXVsdCBib3JkZXItYm94IG1vZGVsLCB1c2UgdGhpcyBjb2RlOlxuLy8gICAgICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveFxuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFkZWZhdWx0O1xuXG4vLyBDbGlwIHRoZSBiYWNrZ3JvdW5kIChpbWFnZSBhbmQgY29sb3IpIGF0IHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nIG9yIGJvcmRlci5cbi8vXG4vLyBMZWdhbCBWYWx1ZXM6XG4vL1xuLy8gICAqIHBhZGRpbmctYm94XG4vLyAgICogYm9yZGVyLWJveFxuLy8gICAqIHRleHRcblxuQG1peGluIGJhY2tncm91bmQtY2xpcCgkY2xpcDogJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwKSB7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmddXG4gICRjbGlwOiB1bnF1b3RlKCRjbGlwKTtcbiAgJGRlcHJlY2F0ZWQ6ICRjbGlwO1xuICBAaWYgJGNsaXAgPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJGNsaXAgPT0gYm9yZGVyLWJveCB7ICRkZXByZWNhdGVkOiBib3JkZXI7IH1cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRjbGlwLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIi8vIE92ZXJyaWRlIGAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbmAgdG8gY2hhbmdlIHRoZSBkZWZhdWx0LlxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveCAhZGVmYXVsdDtcblxuLy8gUG9zaXRpb24gdGhlIGJhY2tncm91bmQgb2ZmIHRoZSBlZGdlIG9mIHRoZSBwYWRkaW5nLCBib3JkZXIgb3IgY29udGVudFxuLy9cbi8vICogUG9zc2libGUgdmFsdWVzOlxuLy8gICAqIGBwYWRkaW5nLWJveGBcbi8vICAgKiBgYm9yZGVyLWJveGBcbi8vICAgKiBgY29udGVudC1ib3hgXG4vLyAqIGJyb3dzZXIgZGVmYXVsdHMgdG8gYHBhZGRpbmctYm94YFxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0byBgY29udGVudC1ib3hgXG5cblxuQG1peGluIGJhY2tncm91bmQtb3JpZ2luKCRvcmlnaW46ICRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJG9yaWdpbik7XG4gIC8vIHdlYmtpdCBhbmQgbW96aWxsYSB1c2UgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgW2JvcmRlciB8IHBhZGRpbmcgfCBjb250ZW50XVxuICAkZGVwcmVjYXRlZDogJG9yaWdpbjtcbiAgQGlmICRvcmlnaW4gPT0gcGFkZGluZy1ib3ggeyAkZGVwcmVjYXRlZDogcGFkZGluZzsgfVxuICBAaWYgJG9yaWdpbiA9PSBib3JkZXItYm94ICB7ICRkZXByZWNhdGVkOiBib3JkZXI7ICB9XG4gIEBpZiAkb3JpZ2luID09IGNvbnRlbnQtYm94IHsgJGRlcHJlY2F0ZWQ6IGNvbnRlbnQ7IH1cblxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1vcmlnaW4sICRvcmlnaW4sXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICAtbyxcbiAgICAtbXMsXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENyb3NzLWJyb3dzZXIgc3VwcG9ydCBmb3IgQGZvbnQtZmFjZS4gU3VwcG9ydHMgSUUsIEdlY2tvLCBXZWJraXQsIE9wZXJhLlxuLy9cbi8vICogJG5hbWUgaXMgcmVxdWlyZWQsIGFyYml0cmFyeSwgYW5kIHdoYXQgeW91IHdpbGwgdXNlIGluIGZvbnQgc3RhY2tzLlxuLy8gKiAkZm9udC1maWxlcyBpcyByZXF1aXJlZCB1c2luZyBmb250LWZpbGVzKCdyZWxhdGl2ZS9sb2NhdGlvbicsICdmb3JtYXQnKS5cbi8vICAgZm9yIGJlc3QgcmVzdWx0cyB1c2UgdGhpcyBvcmRlcjogd29mZiwgb3BlbnR5cGUvdHJ1ZXR5cGUsIHN2Z1xuLy8gKiAkZW90IGlzIHJlcXVpcmVkIGJ5IElFLCBhbmQgaXMgYSByZWxhdGl2ZSBsb2NhdGlvbiBvZiB0aGUgZW90IGZpbGUuXG4vLyAqICR3ZWlnaHQgc2hvd3MgaWYgdGhlIGZvbnQgaXMgYm9sZCwgZGVmYXVsdHMgdG8gbm9ybWFsXG4vLyAqICRzdHlsZSBkZWZhdWx0cyB0byBub3JtYWwsIG1pZ2h0IGJlIGFsc28gaXRhbGljXG4vLyAqIEZvciBhbmRyb2lkIDIuMiBDb21wYXRpYmxpdHksIHBsZWFzZSBlbnN1cmUgdGhhdCB5b3VyIHdlYiBwYWdlIGhhc1xuLy8gICBhIG1ldGEgdmlld3BvcnQgdGFnLlxuLy8gKiBUbyBzdXBwb3J0IGlPUyA8IDQuMiwgYW4gU1ZHIGZpbGUgbXVzdCBiZSBwcm92aWRlZFxuLy9cbi8vIElmIHlvdSBuZWVkIHRvIGdlbmVyYXRlIG90aGVyIGZvcm1hdHMgY2hlY2sgb3V0IHRoZSBGb250IFNxdWlycmVsXG4vLyBbZm9udCBnZW5lcmF0b3JdKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbS9mb250ZmFjZS9nZW5lcmF0b3IpXG4vL1xuXG4vLyBJbiBvcmRlciB0byByZWZlciB0byBhIHNwZWNpZmljIHN0eWxlIG9mIHRoZSBmb250IGluIHlvdXIgc3R5bGVzaGVldHMgYXMgXG4vLyBlLmcuIFwiZm9udC1zdHlsZTogaXRhbGljO1wiLCAgeW91IG1heSBhZGQgYSBjb3VwbGUgb2YgQGZvbnQtZmFjZSBpbmNsdWRlc1xuLy8gY29udGFpbmluZyB0aGUgcmVzcGVjdGl2ZSBmb250IGZpbGVzIGZvciBlYWNoIHN0eWxlIGFuZCBzcGVjeWluZ1xuLy8gcmVzcGVjdGl2ZSB0aGUgJHN0eWxlIHBhcmFtZXRlci5cblxuLy8gT3JkZXIgb2YgdGhlIGluY2x1ZGVzIG1hdHRlcnMsIGFuZCBpdCBpczogbm9ybWFsLCBib2xkLCBpdGFsaWMsIGJvbGQraXRhbGljLlxuXG5AbWl4aW4gZm9udC1mYWNlKFxuICAkbmFtZSwgXG4gICRmb250LWZpbGVzLCBcbiAgJGVvdDogZmFsc2UsXG4gICR3ZWlnaHQ6IGZhbHNlLFxuICAkc3R5bGU6IGZhbHNlXG4pIHtcbiAgJGllZm9udDogdW5xdW90ZShcIiN7JGVvdH0/I2llZml4XCIpO1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xuICAgIEBpZiAkZW90IHtcbiAgICAgIHNyYzogZm9udC11cmwoJGVvdCk7XG4gICAgICAkZm9udC1maWxlczogZm9udC11cmwoJGllZm9udCkgdW5xdW90ZShcImZvcm1hdCgnZW90JylcIiksICRmb250LWZpbGVzOyBcbiAgICB9XG4gICAgc3JjOiAkZm9udC1maWxlcztcbiAgICBAaWYgJHdlaWdodCB7XG4gICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICB9XG4gICAgQGlmICRzdHlsZSB7XG4gICAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIEBkb2Mgb2ZmXG4vLyBOb3RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNhZmFyaSwgQ2hyb21lLCBhbmQgRmlyZWZveCBhbGwgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zLiBIb3dldmVyLFxuLy8gb25seSBpbiB0aGUgbW9zdCByZWNlbnQgYnVpbGRzLiBZb3Ugc2hvdWxkIGFsc28gcHJvdmlkZSBmYWxsYmFjayAyZCBzdXBwb3J0IGZvclxuLy8gT3BlcmEgYW5kIElFLiBJRTEwIGlzIHNsYXRlZCB0byBoYXZlIDNkIGVuYWJsZWQsIGJ1dCBpcyBjdXJyZW50bHkgdW5yZWxlYXNlZC5cbi8vIFRvIG1ha2UgdGhhdCBlYXN5LCBhbGwgMkQgdHJhbnNmb3JtcyBpbmNsdWRlIGFuIGJyb3dzZXItdGFyZ2V0aW5nIHRvZ2dsZSAoJG9ubHkzZClcbi8vIHRvIHN3aXRjaCBiZXR3ZWVuIHRoZSB0d28gc3VwcG9ydCBsaXN0cy4gVGhlIHRvZ2dsZSBkZWZhdWx0cyB0byAnZmFsc2UnICgyRCksXG4vLyBhbmQgYWxzbyBhY2NlcHRzICd0cnVlJyAoM0QpLiBDdXJyZW50bHkgdGhlIGxpc3RzIGFyZSBhcyBmb2xsb3dzOlxuLy8gMkQ6IE1vemlsbGEsIFdlYmtpdCwgT3BlcmEsIE9mZmljaWFsXG4vLyAzRDogV2Via2l0LCBGaXJlZm94LlxuXG4vLyBBdmFpbGFibGUgVHJhbnNmb3JtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gU2NhbGUgKDJkIGFuZCAzZClcbi8vIC0gUm90YXRlICgyZCBhbmQgM2QpXG4vLyAtIFRyYW5zbGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBTa2V3ICgyZCBvbmx5KVxuXG4vLyBUcmFuc2Zvcm0gUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gVHJhbnNmb3JtIE9yaWdpbiAoMmQgYW5kIDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSAoM2QpXG4vLyAtIFBlcnNwZWN0aXZlIE9yaWdpbiAoM2QpXG4vLyAtIFRyYW5zZm9ybSBTdHlsZSAoM2QpXG4vLyAtIEJhY2tmYWNlIFZpc2liaWxpdHkgKDNkKVxuXG4vLyBNaXhpbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHRyYW5zZm9ybS1vcmlnaW5cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybS1vcmlnaW4yZCwgdHJhbnNmb3JtLW9yaWdpbjNkXG4vLyAgLSBoZWxwZXJzOiAgICBhcHBseS1vcmlnaW5cbi8vIHRyYW5zZm9ybVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtMmQsIHRyYW5zZm9ybTNkXG4vLyAgLSBoZWxwZXJzOiAgICBzaW1wbGUtdHJhbnNmb3JtLCBjcmVhdGUtdHJhbnNmb3JtXG4vLyBwZXJzcGVjdGl2ZVxuLy8gIC0gaGVscGVyczogICAgcGVyc3BlY3RpdmUtb3JpZ2luXG4vLyB0cmFuc2Zvcm0tc3R5bGVcbi8vIGJhY2tmYWNlLXZpc2liaWxpdHlcbi8vIHNjYWxlXG4vLyAgLSBzaG9ydGN1dHM6ICBzY2FsZVgsIHNjYWxlWSwgc2NhbGVaLCBzY2FsZTNkXG4vLyByb3RhdGVcbi8vICAtIHNob3J0Y3V0czogIHJvdGF0ZVgsIHJvdGF0ZVksIHJvdGF0ZTNkXG4vLyB0cmFuc2xhdGVcbi8vICAtIHNob3J0Y3V0czogIHRyYW5zbGF0ZVgsIHRyYW5zbGF0ZVksIHRyYW5zbGF0ZVosIHRyYW5zbGF0ZTNkXG4vLyBza2V3XG4vLyAgLSBzaG9ydGN1dHM6ICBza2V3WCwgc2tld1lcblxuLy8gRGVmYXVsdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFRoZSBkZWZhdWx0IHgtb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teCAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teSAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotb3JpZ2luIGZvciB0cmFuc2Zvcm1zXG4kZGVmYXVsdC1vcmlnaW4teiAgICA6IDUwJSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXggICAgIDogMS4yNSAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS15ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteiAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgYW5nbGUgZm9yIHJvdGF0aW9uc1xuJGRlZmF1bHQtcm90YXRlICAgICAgOiA0NWRlZyAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXggICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteSAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci16ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS14IDogMWVtICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXkgOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteiA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXggICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteSAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vICoqVHJhbnNmb3JtLW9yaWdpbioqXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmdcbi8vXG4vLyAgICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCBvcmlnaW4gWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAnb3JpZ2luJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IGNvbnRhaW5pbmcgMS0zICh4L3kveikgY29vcmRpbmF0ZXNcbi8vIGluIHBlcmNlbnRhZ2VzLCBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIG9yIHJlbGF0aXZlXG4vLyAobGVmdCwgdG9wLCByaWdodCwgYm90dG9tLCBjZW50ZXIpIHVuaXRzXG4vL1xuLy8gQHBhcmFtIG9ubHkzZCBTZXQgdGhpcyB0byB0cnVlIHRvIG9ubHkgYXBwbHkgdGhpc1xuLy8gbWl4aW4gd2hlcmUgYnJvd3NlcnMgaGF2ZSAzRCBzdXBwb3J0LlxuQG1peGluIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKSB7XG4gICRvbmx5M2Q6ICRvbmx5M2Qgb3IgLWNvbXBhc3MtbGlzdC1zaXplKC1jb21wYXNzLWxpc3QoJG9yaWdpbikpID4gMjtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBpbmRpdmlkdWFsIGFyZ3VtZW50czpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbiggWyBvcmlnaW4teCwgb3JpZ2luLXksIG9yaWdpbi16LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAzICdvcmlnaW4tJyBhcmd1bWVudHMgcmVwcmVzZW50IHgveS96IGNvb3JkaW5hdGVzLlxuLy9cbi8vICoqTk9URToqKiBzZXR0aW5nIHogY29vcmRpbmF0ZXMgdHJpZ2dlcnMgM0Qgc3VwcG9ydCBsaXN0LCBsZWF2ZSBmYWxzZSBmb3IgMkQgc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oXG4gICRvcmlnaW4teDogJGRlZmF1bHQtb3JpZ2luLXgsXG4gICRvcmlnaW4teTogJGRlZmF1bHQtb3JpZ2luLXksXG4gICRvcmlnaW4tejogZmFsc2UsXG4gICRvbmx5M2Q6ICAgaWYoJG9yaWdpbi16LCB0cnVlLCBmYWxzZSlcbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCcnKTtcbiAgQGlmICRvcmlnaW4teCBvciAkb3JpZ2luLXkgb3IgJG9yaWdpbi16IHtcbiAgICBAaWYgJG9yaWdpbi14IHsgJG9yaWdpbjogJG9yaWdpbi14OyB9IEBlbHNlIHsgJG9yaWdpbjogNTAlOyB9XG4gICAgQGlmICRvcmlnaW4teSB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi15OyB9IEBlbHNlIHsgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gNTAlOyB9fVxuICAgIEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4tejsgfVxuICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbigkb3JpZ2luLCAkb25seTNkKTtcbiAgfVxufVxuXG5cbi8vIFRyYW5zZm9ybSBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zZm9ybXMgWywgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSAndHJhbnNmb3JtcycgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBhbGwgdGhlIHRyYW5zZm9ybXMgdG8gYmUgYXBwbGllZC5cbkBtaXhpbiB0cmFuc2Zvcm0oXG4gICR0cmFuc2Zvcm0sXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgQGlmICRvbmx5M2Qge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgYWxsIGJyb3dzZXJzIHdpdGggMkQgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0yZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgZmFsc2UpO1xufVxuXG4vLyBTaG9ydGN1dCB0byB0YXJnZXQgb25seSBicm93c2VycyB3aXRoIDNEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtM2QoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIHRydWUpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gM0QgUGFyYW1ldGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNldCB0aGUgcGVyc3BlY3RpdmUgb2YgM0QgdHJhbnNmb3JtcyBvbiB0aGUgY2hpbGRyZW4gb2YgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlKCBwZXJzcGVjdGl2ZSApXG4vL1xuLy8gd2hlcmUgJ3BlcnNwZWN0aXZlJyBpcyBhIHVuaXRsZXNzIG51bWJlciByZXByZXNlbnRpbmcgdGhlIGRlcHRoIG9mIHRoZVxuLy8gei1heGlzLiBUaGUgaGlnaGVyIHRoZSBwZXJzcGVjdGl2ZSwgdGhlIG1vcmUgZXhhZ2dlcmF0ZWQgdGhlIGZvcmVzaG9ydGVuaW5nLlxuLy8gdmFsdWVzIGZyb20gNTAwIHRvIDEwMDAgYXJlIG1vcmUtb3ItbGVzcyBcIm5vcm1hbFwiIC0gYSBnb29kIHN0YXJ0aW5nLXBvaW50LlxuQG1peGluIHBlcnNwZWN0aXZlKCRwKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZSwgJHAsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNldCB0aGUgb3JpZ2luIHBvc2l0aW9uIGZvciB0aGUgcGVyc3BlY3RpdmVcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbihvcmlnaW4teCBbb3JpZ2luLXldKVxuLy9cbi8vIHdoZXJlIHRoZSB0d28gYXJndW1lbnRzIHJlcHJlc2VudCB4L3kgY29vcmRpbmF0ZXNcbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJG9yaWdpbjogNTAlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChwZXJzcGVjdGl2ZS1vcmlnaW4sICRvcmlnaW4sXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB3aGV0aGVyIGEgM0Qgb2JqZWN0cyBjaGlsZHJlbiBhbHNvIGxpdmUgaW4gdGhlIGdpdmVuIDNEIHNwYWNlXG4vL1xuLy8gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tc3R5bGUoIFsgc3R5bGUgXSApXG4vL1xuLy8gd2hlcmUgYHN0eWxlYCBjYW4gYmUgZWl0aGVyIGBmbGF0YCBvciBgcHJlc2VydmUtM2RgLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byBgZmxhdGAsIG1peGluIGRlZmF1bHRzIHRvIGBwcmVzZXJ2ZS0zZGAuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgYW4gZWxlbWVudCB3aGVuIGl0J3MgYmFjayBpcyB0dXJuZWRcbi8vXG4vLyAgICAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSggWyB2aXNpYmlsaXR5IF0gKVxuLy9cbi8vIHdoZXJlIGB2aXNpYmlsaXR5YCBjYW4gYmUgZWl0aGVyIGB2aXNpYmxlYCBvciBgaGlkZGVuYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gdmlzaWJsZSwgbWl4aW4gZGVmYXVsdHMgdG8gaGlkZGVuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eTogaGlkZGVuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zZm9ybSBQYXJ0aWFscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlc2Ugd29yayB3ZWxsIG9uIHRoZWlyIG93biwgYnV0IHRoZXkgZG9uJ3QgYWRkIHRvIGVhY2ggb3RoZXIsIHRoZXkgb3ZlcnJpZGUuXG4vLyBVc2UgYWxvbmcgd2l0aCB0cmFuc2Zvcm0gcGFyYW1ldGVyIG1peGlucyB0byBhZGp1c3Qgb3JpZ2luLCBwZXJzcGVjdGl2ZSBhbmQgc3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFNjYWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYW5kIHkgYXhpczpcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHNjYWxlKCBbIHNjYWxlLXgsIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2NhbGUtJyBhcmd1bWVudHMgYXJlIHVuaXRsZXNzIG11bHRpcGxpZXJzIG9mIHRoZSB4IGFuZCB5IGRpbWVuc2lvbnNcbi8vIGFuZCBwZXJzcGVjdGl2ZSwgd2hpY2ggd29ya3MgdGhlIHNhbWUgYXMgdGhlIHN0YW5kLWFsb25lIHBlcnNwZWN0aXZlIHByb3BlcnR5L21peGluXG4vLyBidXQgYXBwbGllcyB0byB0aGUgaW5kaXZpZHVhbCBlbGVtZW50IChtdWx0aXBsaWVkIHdpdGggYW55IHBhcmVudCBwZXJzcGVjdGl2ZSlcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVgoIFsgc2NhbGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWChcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVgoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVkoIFsgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWShcbiAgJHNjYWxlOiAgICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVkoJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZVooIFsgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlWihcbiAgJHNjYWxlOiAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZVooJHNjYWxlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gU2NhbGUgYW5kIG9iamVjdCBhbG9uZyBhbGwgdGhyZWUgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGUzZCggWyBzY2FsZS14LCBzY2FsZS15LCBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGUzZChcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRzY2FsZS16OiAgICAgJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFJvdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeiBheGlzICAoMkQpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgJ3JvdGF0aW9uJyBpcyBhbiBhbmdsZSBzZXQgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHNcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gQSBsb25nY3V0IGZvciAncm90YXRlJyBpbiBjYXNlIHlvdSBmb3JnZXQgdGhhdCAneicgaXMgaW1wbGllZFxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVaKFxuICAkcm90YXRlOiAgICAgICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIHJvdGF0ZSgkcm90YXRlLCAkcGVyc3BlY3RpdmUsICRvbmx5M2QpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeCBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZVgoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVYKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVgoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWShcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVZKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCBhbiBhcmJpdHJhcnkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgdmVjdG9yLXgsIHZlY3Rvci15LCB2ZWN0b3Iteiwgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy8gd2hlcmUgdGhlICd2ZWN0b3ItJyBhcmd1bWVudHMgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMuXG4vLyBUaGVzZSBudW1iZXJzIGFyZSBub3QgaW1wb3J0YW50IG9uIHRoZWlyIG93biwgYnV0IGluIHJlbGF0aW9uIHRvIG9uZSBhbm90aGVyXG4vLyBjcmVhdGluZyBhbiBheGlzIGZyb20geW91ciB0cmFuc2Zvcm0tb3JpZ2luLCBhbG9uZyB0aGUgYXhpcyBvZiBYeCA9IFl5ID0gWnouXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZTNkKFxuICAkdmVjdG9yLXg6ICRkZWZhdWx0LXZlY3Rvci14LFxuICAkdmVjdG9yLXk6ICRkZWZhdWx0LXZlY3Rvci15LFxuICAkdmVjdG9yLXo6ICRkZWZhdWx0LXZlY3Rvci16LFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZTNkKCR2ZWN0b3IteCwgJHZlY3Rvci15LCAkdmVjdG9yLXosICRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNsYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IG9yIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlIHRoZSAndHJhbnNsYXRlLScgYXJndW1lbnRzIGFjY2VwdCBhbnkgZGlzdGFuY2UgaW4gcGVyY2VudGFnZXMgb3IgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVYKFxuICAkdHJhbnMteDogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVYKCR0cmFucy14KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWShcbiAgJHRyYW5zLXk6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWSgkdHJhbnMteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVooXG4gICR0cmFucy16OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVooJHRyYW5zLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCwgeSBhbmQgeiBheGlzICgzRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlM2QoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICR0cmFuc2xhdGUtejogJGRlZmF1bHQtdHJhbnNsYXRlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZTNkKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15LCAkdHJhbnNsYXRlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gU2tldyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNrZXcgYW4gZWxlbWVudDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NrZXctJyBhcmd1bWVudHMgYWNjZXB0IGNzcyBhbmdsZXMgaW4gZGVncmVlcyAoZGVnKSBvciByYWRpYW4gKHJhZCkgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXcoXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tldygkc2tldy14LCAkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeCBheGl6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WChcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1goJHNrZXcteCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHkgYXhpc1xuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1koXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdZKCRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuXG4vLyBGdWxsIHRyYW5zZm9ybSBtaXhpbnNcbi8vIEZvciBzZXR0aW5ncyBhbnkgY29tYmluYXRpb24gb2YgdHJhbnNmb3JtcyBhcyBhcmd1bWVudHNcbi8vIFRoZXNlIGFyZSBjb21wbGV4IGFuZCBub3QgaGlnaGx5IHJlY29tbWVuZGVkIGZvciBkYWlseSB1c2UuIFRoZXkgYXJlIG1haW5seVxuLy8gaGVyZSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy5cbi8vXG4vLyAqIHRoZXkgaW5jbHVkZSBvcmlnaW4gYWRqdXN0bWVudHNcbi8vICogc2NhbGUgdGFrZXMgYSBtdWx0aXBsaWVyICh1bml0bGVzcyksIHJvdGF0ZSBhbmQgc2tldyB0YWtlIGRlZ3JlZXMgKGRlZylcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gY3JlYXRlLXRyYW5zZm9ybShcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJHNjYWxlLXg6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXk6ICAgICBmYWxzZSxcbiAgJHNjYWxlLXo6ICAgICBmYWxzZSxcbiAgJHJvdGF0ZS14OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS15OiAgICBmYWxzZSxcbiAgJHJvdGF0ZS16OiAgICBmYWxzZSxcbiAgJHJvdGF0ZTNkOiAgICBmYWxzZSxcbiAgJHRyYW5zLXg6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXk6ICAgICBmYWxzZSxcbiAgJHRyYW5zLXo6ICAgICBmYWxzZSxcbiAgJHNrZXcteDogICAgICBmYWxzZSxcbiAgJHNrZXcteTogICAgICBmYWxzZSxcbiAgJG9yaWdpbi14OiAgICBmYWxzZSxcbiAgJG9yaWdpbi15OiAgICBmYWxzZSxcbiAgJG9yaWdpbi16OiAgICBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdW5xdW90ZShcIlwiKTtcblxuICAvLyBwZXJzcGVjdGl2ZVxuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIDsgfVxuXG4gIC8vIHNjYWxlXG4gIEBpZiAkc2NhbGUteCBhbmQgJHNjYWxlLXkge1xuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICRzY2FsZS14IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVYKCRzY2FsZS14KTsgfVxuICAgIEBpZiAkc2NhbGUteSB7ICR0cmFuczogJHRyYW5zIHNjYWxlWSgkc2NhbGUteSk7IH1cbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZVooJHNjYWxlLXopOyB9XG4gIH1cblxuICAvLyByb3RhdGVcbiAgQGlmICRyb3RhdGUteCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVgoJHJvdGF0ZS14KTsgfVxuICBAaWYgJHJvdGF0ZS15IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWSgkcm90YXRlLXkpOyB9XG4gIEBpZiAkcm90YXRlLXogeyAkdHJhbnM6ICR0cmFucyByb3RhdGVaKCRyb3RhdGUteik7IH1cbiAgQGlmICRyb3RhdGUzZCB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZTNkKCRyb3RhdGUzZCk7IH1cblxuICAvLyB0cmFuc2xhdGVcbiAgQGlmICR0cmFucy14IGFuZCAkdHJhbnMteSB7XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlM2QoJHRyYW5zLXgsICR0cmFucy15LCAkdHJhbnMteik7IH1cbiAgICBAZWxzZSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZSgkdHJhbnMteCwgJHRyYW5zLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkdHJhbnMteCB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVgoJHRyYW5zLXgpOyB9XG4gICAgQGlmICR0cmFucy15IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWSgkdHJhbnMteSk7IH1cbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVaKCR0cmFucy16KTsgfVxuICB9XG5cbiAgLy8gc2tld1xuICBAaWYgJHNrZXcteCBhbmQgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXcoJHNrZXcteCwgJHNrZXcteSk7IH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkc2tldy14IHsgJHRyYW5zOiAkdHJhbnMgc2tld1goJHNrZXcteCk7IH1cbiAgICBAaWYgJHNrZXcteSB7ICR0cmFuczogJHRyYW5zIHNrZXdZKCRza2V3LXkpOyB9XG4gIH1cblxuICAvLyBhcHBseSBpdCFcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi14LCAkb3JpZ2luLXksICRvcmlnaW4teiwgJG9ubHkzZCk7XG59XG5cblxuLy8gQSBzaW1wbGlmaWVkIHNldCBvZiBvcHRpb25zXG4vLyBiYWNrd2FyZHMtY29tcGF0aWJsZSB3aXRoIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSAndHJhbnNmb3JtJyBtaXhpblxuQG1peGluIHNpbXBsZS10cmFuc2Zvcm0oXG4gICRzY2FsZTogICAgZmFsc2UsXG4gICRyb3RhdGU6ICAgZmFsc2UsXG4gICR0cmFucy14OiAgZmFsc2UsXG4gICR0cmFucy15OiAgZmFsc2UsXG4gICRza2V3LXg6ICAgZmFsc2UsXG4gICRza2V3LXk6ICAgZmFsc2UsXG4gICRvcmlnaW4teDogZmFsc2UsXG4gICRvcmlnaW4teTogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBjcmVhdGUtdHJhbnNmb3JtKFxuICAgIGZhbHNlLFxuICAgICRzY2FsZSwgJHNjYWxlLCBmYWxzZSxcbiAgICBmYWxzZSwgZmFsc2UsICRyb3RhdGUsIGZhbHNlLFxuICAgICR0cmFucy14LCAkdHJhbnMteSwgZmFsc2UsXG4gICAgJHNrZXcteCwgJHNrZXcteSxcbiAgICAkb3JpZ2luLXgsICRvcmlnaW4teSwgZmFsc2UsXG4gICAgZmFsc2VcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ2hhbmdlIHRoZSBhcHBlYXJhbmNlIGZvciBNb3ppbGxhLCBXZWJraXQgYW5kIHBvc3NpYmx5IHRoZSBmdXR1cmUuXG4vLyBUaGUgYXBwZWFyYW5jZSBwcm9wZXJ0eSBpcyBjdXJyZW50bHkgbm90IHByZXNlbnQgaW4gYW55IG5ld2VyIENTUyBzcGVjaWZpY2F0aW9uLlxuLy9cbi8vIFRoZXJlIGlzIG5vIG9mZmljaWFsIGxpc3Qgb2YgYWNjZXB0ZWQgdmFsdWVzLCBidXQgeW91IG1pZ2h0IGNoZWNrIHRoZXNlIHNvdXJjZTpcbi8vICAgTW96aWxsYSA6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL0NTUy8tbW96LWFwcGVhcmFuY2Vcbi8vICAgV2Via2l0ICA6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC93ZWJraXQtbWlycm9yL3NvdXJjZS9icm93c2UvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4/c3BlYz1zdm5mMWFlYTU1OWRjZDAyNWE4OTQ2YWE3ZGE2ZTRlODMwNmY1YzFiNjA0JnI9NjNjN2QxYWY0NDQzMGIzMTQyMzNmZWEzNDJjM2RkYjJhMDUyZTM2NVxuLy8gICAoc2VhcmNoIGZvciAnYXBwZWFyYW5jZScgd2l0aGluIHRoZSBwYWdlKVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXApIHtcbiAgJGFwOiB1bnF1b3RlKCRhcCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChhcHBlYXJhbmNlLCAkYXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBXZWJraXQsIElFMTAgYW5kIGZ1dHVyZSBzdXBwb3J0IGZvciBbQ1NTIFJlZ2lvbnNdKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtcmVnaW9ucy8pXG4vL1xuLy8gJHRhcmdldCBpcyBhIHZhbHVlIHlvdSB1c2UgdG8gbGluayB0d28gcmVnaW9ucyBvZiB5b3VyIGNzcy4gR2l2ZSB0aGUgc291cmNlIG9mIHlvdXIgY29udGVudCB0aGUgZmxvdy1pbnRvIHByb3BlcnR5LCBhbmQgZ2l2ZSB5b3VyIHRhcmdldCBjb250YWluZXIgdGhlIGZsb3ctZnJvbSBwcm9wZXJ0eS5cbi8vXG4vLyBGb3IgYSB2aXN1YWwgZXhwbGFuYXRpb24sIHNlZSB0aGUgZGlhZ3JhbXMgYXQgQ2hyaXMgQ295aWVyJ3Ncbi8vIFtDU1MtVHJpY2tzXShodHRwOi8vY3NzLXRyaWNrcy5jb20vY29udGVudC1mb2xkaW5nLylcblxuQG1peGluIGZsb3ctaW50bygkdGFyZ2V0KSB7XG4gICR0YXJnZXQ6IHVucXVvdGUoJHRhcmdldCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChmbG93LWludG8sICR0YXJnZXQsXG4gICAgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBub3Qgb2ZmaWNpYWxcbiAgKTtcbn1cblxuQG1peGluIGZsb3ctZnJvbSgkdGFyZ2V0KSB7XG4gICR0YXJnZXQ6IHVucXVvdGUoJHRhcmdldCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChmbG93LWZyb20sICR0YXJnZXQsXG4gICAgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBub3Qgb2ZmaWNpYWxcbiAgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIE1peGlucyB0byBzdXBwb3J0IHNwZWNpZmljIENTUyBUZXh0IExldmVsIDMgZWxlbWVudHNcbi8vXG4vL1xuLy9cbi8vIE1peGluIGZvciB3b3JkLWJyZWFrIHByb3BlcnRpZXNcbi8vIGh0dHA6Ly93d3cudzMub3JnL2NzczMtdGV4dC8jd29yZC1icmVha1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogbm9ybWFsLCBrZWVwLWFsbCwgYnJlYWstYWxsXG4vL1xuLy8gRXhhbXBsZTpcbi8vICAgIHAud29yZEJyZWFrIHtAaW5jbHVkZSB3b3JkLWJyZWFrKGJyZWFrLWFsbCk7fVxuLy9cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICAgIHAud29yZEJyZWFrIHtcbi8vICAgICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO31cbi8vXG5AbWl4aW4gd29yZC1icmVhaygkdmFsdWU6IG5vcm1hbCl7XG4gIEBpZiAkdmFsdWUgPT0gYnJlYWstYWxsIHtcbiAgICAvL01vc3QgYnJvd3NlcnMgaGFuZGxlIHRoZSBicmVhay1hbGwgY2FzZSB0aGUgc2FtZS4uLlxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICAgIC8vV2Via2l0IGhhbmRsZXMgYnJlYWstYWxsIGRpZmZlcmVudGx5Li4uIGFzIGJyZWFrLXdvcmRcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgYnJlYWstd29yZCxcbiAgICAgIG5vdCgtbW96KSwgbm90KC13ZWJraXQpLCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssICR2YWx1ZSxcbiAgICAgIG5vdCgtbW96KSwgbm90KC13ZWJraXQpLCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIHRoZSBoeXBoZW5zIHByb3BlcnR5XG4vL1xuLy8gVzNDIHNwZWNpZmljYXRpb246IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8jaHlwaGVuc1xuLy8gKiBsZWdhbCB2YWx1ZXMgZm9yICR0eXBlIDogYXV0bywgbWFudWFsLCBub25lXG4vL1xuLy8gRXhhbXBsZTpcbi8vICBwIHtcbi8vICAgIEBpbmNsdWRlIGh5cGhlbnMoYXV0byk7fVxuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy8gIHAge1xuLy8gICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuLy8gICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgaHlwaGVuczogYXV0bzt9XG4vL1xuQG1peGluIGh5cGhlbnMoJHZhbHVlOiBhdXRvKXtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGh5cGhlbnMsICR2YWx1ZSxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGZvciB4LWJyb3dzZXIgaHlwaGVuYXRpb24gYmFzZWQgb24gQGF1Y2hlbmJlcmcncyBwb3N0OlxuLy8gUmVtb3ZlcyB0aGUgbmVlZCBmb3IgdGhlIDx3YnIvPiBIVE1MIHRhZ1xuLy8gaHR0cDovL2Jsb2cua2VubmV0aC5pby9ibG9nLzIwMTIvMDMvMDQvd29yZC13cmFwcGluZy1oeXBlcm5hdGlvbi11c2luZy1jc3MvXG4vL1xuLy8gIEV4YW1wbGU6XG4vLyAgZGl2IHtAaW5jbHVkZSBoeXBoZW5hdGlvbjt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczpcbi8vICAgIGRpdiB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbi8vICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4vLyAgICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5hdGlvbntcbiAgQGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO1xuICBAaW5jbHVkZSBoeXBoZW5zO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIHRoZSB1cGNvbWluZyAoPykgY3NzMyBmaWx0ZXIgcHJvcGVydHkuXG4vL1xuLy8gRWFjaCBmaWx0ZXIgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gZmlsdGVyIHByb3BlcnR5LlxuQG1peGluIGZpbHRlciAoXG4gICRmaWx0ZXItMSxcbiAgJGZpbHRlci0yIDogZmFsc2UsXG4gICRmaWx0ZXItMyA6IGZhbHNlLFxuICAkZmlsdGVyLTQgOiBmYWxzZSxcbiAgJGZpbHRlci01IDogZmFsc2UsXG4gICRmaWx0ZXItNiA6IGZhbHNlLFxuICAkZmlsdGVyLTcgOiBmYWxzZSxcbiAgJGZpbHRlci04IDogZmFsc2UsXG4gICRmaWx0ZXItOSA6IGZhbHNlLFxuICAkZmlsdGVyLTEwOiBmYWxzZVxuKSB7XG4gICRmaWx0ZXIgOiBjb21wYWN0KCRmaWx0ZXItMSwgJGZpbHRlci0yLCAkZmlsdGVyLTMsICRmaWx0ZXItNCwgJGZpbHRlci01LCAkZmlsdGVyLTYsICRmaWx0ZXItNywgJGZpbHRlci04LCAkZmlsdGVyLTksICRmaWx0ZXItMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmlsdGVyLCAkZmlsdGVyLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgU2FzcydzIEBleHRlbmQgZGlyZWN0aXZlIHRvIGFwcGx5IHRoZSBiZWhhdmlvclxuLy8gdG8geW91ciBQSUUgZWxlbWVudHMuIFRvIGFzc2lzdCB5b3UsIENvbXBhc3MgcHJvdmlkZXMgdGhpcyB2YXJpYWJsZS5cbi8vIFdoZW4gc2V0LCBpdCB3aWxsIGNhdXNlIHRoZSBgQGluY2x1ZGUgcGllYCBtaXhpbiB0byBleHRlbmQgdGhpcyBjbGFzcy5cbi8vIFRoZSBjbGFzcyBuYW1lIHlvdSBwcm92aWRlIHNob3VsZCAqKm5vdCoqIGluY2x1ZGUgdGhlIGAuYC5cbiRwaWUtYmFzZS1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGFwcHJvYWNoIHRvIHVzaW5nIFBJRS5cbi8vIENhbiBiZSBvbmUgb2Y6XG4vL1xuLy8gKiByZWxhdGl2ZSAoZGVmYXVsdClcbi8vICogei1pbmRleFxuLy8gKiBub25lXG4kcGllLWRlZmF1bHQtYXBwcm9hY2g6IHJlbGF0aXZlICFkZWZhdWx0O1xuXG4vLyBUaGUgbG9jYXRpb24gb2YgeW91ciBQSUUgYmVoYXZpb3IgZmlsZVxuLy8gVGhpcyBzaG91bGQgYmUgcm9vdC1yZWxhdGl2ZSB0byB5b3VyIHdlYiBzZXJ2ZXJcbi8vIHJlbGF0aXZlIGFzc2V0cyBkb24ndCB3b3JrLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0XG4vLyB5b3Ugc2V0IHRoaXMgeW91cnNlbGYuXG4kcGllLWJlaGF2aW9yOiBzdHlsZXNoZWV0LXVybChcIlBJRS5odGNcIikgIWRlZmF1bHQ7XG5cbi8vIFdoZW4gdXNpbmcgdGhlIHotaW5kZXggYXBwcm9hY2gsIHRoZVxuLy8gZmlyc3QgYW5jZXN0b3Igb2YgdGhlIFBJRSBlbGVtZW50IGF0XG4vLyBvciBiZWZvcmUgdGhlIGNvbnRhaW5lcidzIG9wYXF1ZSBiYWNrZ3JvdW5kXG4vLyBzaG91bGQgaGF2ZSBhIHotaW5kZXggc2V0IGFzIHdlbGwgdG8gZW5zdXJlXG4vLyBwcm9wZXJ0IHotaW5kZXggc3RhY2tpbmcuXG4vL1xuLy8gVGhlIGAkcG9zaXRpb25gIGFyZ3VtZW50IG11c3QgYmUgc29tZSBub24tc3RhdGljXG4vLyB2YWx1ZSAoYWJzb2x1dGUsIHJlbGF0aXZlLCBldGMuKVxuQG1peGluIHBpZS1jb250YWluZXIoJHotaW5kZXg6IDAsICRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgei1pbmRleDogJHotaW5kZXg7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG59XG5cbi8vIFBJRSBlbGVtZW50cyBtdXN0IGhhdmUgdGhpcyBiZWhhdmlvciBhdHRhY2hlZCB0byB0aGVtLlxuLy8gSUUgaXMgYnJva2VuIC0tIGl0IGRvZXNuJ3QgdGhpbmsgb2YgYmVoYXZpb3IgdXJscyBhc1xuLy8gcmVsYXRpdmUgdG8gdGhlIHN0eWxlc2hlZXQuIEl0IGNvbnNpZGVycyB0aGVtIHJlbGF0aXZlXG4vLyB0byB0aGUgd2VicGFnZS4gQXMgYSByZXN1bHQsIHlvdSBjYW5ub3QgcmVsaWFibHkgdXNlXG4vLyBjb21wYXNzJ3MgcmVsYXRpdmVfYXNzZXRzIHdpdGggUElFLlxuLy9cbi8vICogYCRhcHByb2FjaGAgLSBvbmUgb2Y6IHJlbGF0aXZlLCB6LWluZGV4LCBvciBub25lXG4vLyAqIGAkei1pbmRleGAgLSB3aGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGlzXG4vLyAgICAgICAgICAgICAgICBpcyB0aGUgei1pbmRleCB0aGF0IGlzIGFwcGxpZWQuXG5AbWl4aW4gcGllLWVsZW1lbnQoXG4gICRhcHByb2FjaDogJHBpZS1kZWZhdWx0LWFwcHJvYWNoLFxuICAkei1pbmRleDogMFxuKSB7XG4gIGJlaGF2aW9yOiAkcGllLWJlaGF2aW9yO1xuICBAaWYgJGFwcHJvYWNoID09IHJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQGVsc2UgaWYgJGFwcHJvYWNoID09IHotaW5kZXgge1xuICAgIHotaW5kZXg6ICR6LWluZGV4O1xuICB9XG59XG5cbi8vIGEgc21hcnQgbWl4aW4gdGhhdCBrbm93cyB0byBleHRlbmQgb3IgaW5jbHVkZSBwaWUtZWxlbWVudCBhY2NvcmRpbmdcbi8vIHRvIHlvdXIgc3R5bGVzaGVldCdzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLlxuQG1peGluIHBpZSgkYmFzZS1jbGFzczogJHBpZS1iYXNlLWNsYXNzKSB7XG4gIEBpZiAkYmFzZS1jbGFzcyB7XG4gICAgQGV4dGVuZCAuI3skYmFzZS1jbGFzc307XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIHBpZS1lbGVtZW50O1xuICB9XG59XG5cbi8vIFdhdGNoIGAkbmAgbGV2ZWxzIG9mIGFuY2VzdG9ycyBmb3IgY2hhbmdlcyB0byB0aGVpciBjbGFzcyBhdHRyaWJ1dGVcbi8vIFNvIHRoYXQgY2FzY2FkaW5nIHN0eWxlcyB3aWxsIHdvcmsgY29ycmVjdGx5IG9uIHRoZSBQSUUgZWxlbWVudC5cbkBtaXhpbiBwaWUtd2F0Y2gtYW5jZXN0b3JzKCRuKSB7XG4gIC1waWUtd2F0Y2gtYW5jZXN0b3JzOiAkbjtcbn1cbiIsIi8vIFVzZXIgSW50ZXJmYWNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNhbiBiZSBleHBhbmRlZCB0byBoYW5kbGUgYWxsIHRoZSB1c2VyIGludGVyZmFjZSBwcm9wZXJ0aWVzIGFzXG4vLyB0aGV5IGJlY29tZSBhdmFpbGFibGUgaW4gYnJvd3NlcnM6XG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL1dELWNzczMtdXNlcmludC0yMDAwMDIxNlxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoaXMgcHJvcGVydHkgY29udHJvbHMgdGhlIHNlbGVjdGlvbiBtb2RlbCBhbmQgZ3JhbnVsYXJpdHkgb2YgYW4gZWxlbWVudC5cbi8vXG4vLyBAcGFyYW0gJHNlbGVjdFxuLy8gICBbIG5vbmUgfCB0ZXh0IHwgdG9nZ2xlIHwgZWxlbWVudCB8IGVsZW1lbnRzIHwgYWxsIHwgaW5oZXJpdCBdXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAkc2VsZWN0OiB1bnF1b3RlKCRzZWxlY3QpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodXNlci1zZWxlY3QsICRzZWxlY3QsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCAta2h0bWwsIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFN0eWxlIHRoZSBodG1sNSBpbnB1dCBwbGFjZWhvbGRlciBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgaXQuXG4vL1xuLy8gVGhlIHN0eWxlcyBmb3IgdGhlIGlucHV0IHBsYWNlaG9sZGVyIGFyZSBwYXNzZWQgYXMgbWl4aW4gY29udGVudFxuLy8gYW5kIHRoZSBzZWxlY3RvciBjb21lcyBmcm9tIHRoZSBtaXhpbidzIGNvbnRleHQuXG4vL1xuLy8gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICAgICN7ZWxlbWVudHMtb2YtdHlwZSh0ZXh0LWlucHV0KX0ge1xuLy8gICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogI2JmYmZiZjtcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vXG4vLyBpZiB5b3Ugd2FudCB0byBhcHBseSB0aGUgcGxhY2Vob2xkZXIgc3R5bGVzIHRvIGFsbCBlbGVtZW50cyBzdXBwb3J0aW5nXG4vLyB0aGUgYGlucHV0LXBsYWNlaG9sZGVyYCBwc2V1ZG8gY2xhc3MgKGJld2FyZSBvZiBwZXJmb3JtYW5jZSBpbXBhY3RzKTpcbi8vXG4vLyAgICAgKiB7XG4vLyAgICAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlciB7XG4vLyAgICAgICAgIGNvbG9yOiAjYmZiZmJmO1xuLy8gICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGlzIGlzIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uIGZvciBhbGwgdGhlIG90aGVyIG1peGlucyBpbiB0aGlzIG1vZHVsZS5cbi8vIEl0IGlzIHRoZSBvbmx5IHdheSB0byBhY2Nlc3MgcHJlZml4IHN1cHBvcnQgZm9yIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBzcGVjLlxuLy8gRGV2aWF0ZXMgZnJvbSBjYW5vbmljYWwgQ29tcGFzcyBpbXBsZW1lbnRhdGlvbiBieSBkcm9wcGluZyBzdXBwb3J0IGZvclxuLy8gb2xkZXIgdmVyc2lvbnMgb2YgdGhlIEZsZXhib3ggc3BlYy5cbi8vXG4vLyBgJHByb3BlcnRpZXNgOiBtYXAgb2YgcHJvcGVydHktdmFsdWUgcGFpcnMgdGhhdCBzaG91bGQgYmUgcHJlZml4ZWRcbkBtaXhpbiBmbGV4Ym94KCRwcm9wZXJ0aWVzKSB7XG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkcHJvcCA9PSBkaXNwbGF5IHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbC12YWx1ZShkaXNwbGF5LCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCgkcHJvcCwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFZhbHVlcyBmb3IgJGRpc3BsYXkgYXJlOiBmbGV4IChkZWZhdWx0KSwgaW5saW5lLWZsZXhcbkBtaXhpbiBkaXNwbGF5LWZsZXgoJGRpc3BsYXk6IGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZGlzcGxheTogJGRpc3BsYXkpKTtcbn1cblxuLy8gVmFsdWVzOiByb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbikpO1xufVxuXG4vLyBWYWx1ZXM6IG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC13cmFwOiAkd3JhcCkpO1xufVxuXG4vLyBTaG9ydGhhbmQgZm9yIGZsZXgtZGlyZWN0aW9uIGFuZCBmbGV4LXdyYXAuXG5AbWl4aW4gZmxleC1mbG93KCRmbG93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZmxvdzogJGZsb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhbiBpbnRlZ2VyXG5AbWl4aW4gb3JkZXIoJG9yZGVyKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKG9yZGVyOiAkb3JkZXIpKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWdyb3csIGZsZXgtc2hyaW5rIGFuZCBvcHRpb25hbGx5IGZsZXgtYmFzaXMuXG4vLyBTcGFjZSBzZXBhcmF0ZWQsIGluIHRoYXQgb3JkZXIuXG5AbWl4aW4gZmxleCgkZmxleCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4OiAkZmxleCkpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtZ3JvdygkZmxleC1ncm93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZ3JvdzogJGZsZXgtZ3JvdykpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtc2hyaW5rKCRmbGV4LXNocmluaykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LXNocmluazogJGZsZXgtc2hyaW5rKSk7XG59XG5cbi8vIEFjY2VwdHMgYW55IGxlZ2FsIHZhbHVlIGZvciB0aGUgd2lkdGggcHJvcGVydHkuXG5AbWl4aW4gZmxleC1iYXNpcygkZmxleC1iYXNpcykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWJhc2lzOiAkZmxleC1iYXNpcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGp1c3RpZnktY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ24taXRlbXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbi1zZWxmKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLXNlbGY6ICRhbGlnbi1zZWxmKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbi1jb250ZW50KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50KSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gcmVzZXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG59XG4vKiBodG1sNWRvY3Rvci5jb20gUmVzZXQgU3R5bGVzaGVldCB2MS42LjFcbiAgTGFzdCBVcGRhdGVkOiAyMDEwLTA5LTE3IEF1dGhvcjogUmljaGFyZCBDbGFyayAtIGh0dHA6Ly9yaWNoY2xhcmtkZXNpZ24uY29tIFR3aXR0ZXI6IEByaWNoX2NsYXJrICovXG5hYmJyLCBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwgYXVkaW8sIGIsIGJsb2NrcXVvdGUsIGJvZHksIGNhbnZhcywgY2FwdGlvbiwgY2l0ZSwgY29kZSwgZGQsIGRlbCwgZGV0YWlscyxcbmRmbiwgZGl2LCBkbCwgZHQsIGVtLCBmaWVsZHNldCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGZvcm0sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhlYWRlciwgaGdyb3VwLFxuaHRtbCwgaSwgaWZyYW1lLCBpbWcsIGlucywga2JkLCBsYWJlbCwgbGVnZW5kLCBsaSwgbWFyaywgbWVudSwgbmF2LCBvYmplY3QsIG9sLCBwLCBwcmUsIHEsIHNhbXAsIHNlY3Rpb24sXG5zbWFsbCwgc3Bhbiwgc3Ryb25nLCBzdWIsIHN1bW1hcnksIHN1cCwgdGFibGUsIHRib2R5LCB0ZCwgdGZvb3QsIHRoLCB0aGVhZCwgdGltZSwgdHIsIHVsLCB2YXIsIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmFmdGVyLCBibG9ja3F1b3RlOmJlZm9yZSwgcTphZnRlciwgcTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cblxuYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi8vIGNoYW5nZSBjb2xvdXJzIHRvIHN1aXQgeW91ciBuZWVkc1xuaW5zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8vIGNoYW5nZSBjb2xvdXJzIHRvIHN1aXQgeW91ciBuZWVkc1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kZWwge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuYWJiclt0aXRsZV0sIGRmblt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4vLyBjaGFuZ2UgYm9yZGVyIGNvbG91ciB0byBzdWl0IHlvdXIgbmVlZHNcbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dCwgc2VsZWN0IHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIFlVSSAzLjQuMSAoYnVpbGQgNDExOCkgQ29weXJpZ2h0IDIwMTEgWWFob28hIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgTGljZW5zZS4gaHR0cDovL3l1aWxpYnJhcnkuY29tL2xpY2Vuc2UvICovXG4vLyBQZXJjZW50cyBjb3VsZCB3b3JrIGZvciBJRSwgYnV0IGZvciBiYWNrQ29tcGF0IHB1cnBvc2VzLCB3ZSBhcmUgdXNpbmcga2V5d29yZHMuXG4vLyB4LXNtYWxsIGlzIGZvciBJRTYvNyBxdWlya3MgbW9kZS5cblxuLy8gYm9keSB7XG4vLyAgIGZvbnQ6IDEzcHgvMS4yMzEgYXJpYWwsaGVsdmV0aWNhLGNsZWFuLHNhbnMtc2VyaWY7XG4vLyAgICpmb250LXNpemU6IHNtYWxsOyAvLyBmb3IgSUVcbi8vICAgKmZvbnQ6IHgtc21hbGw7IC8vIGZvciBJRSBpbiBxdWlya3MgbW9kZVxuLy8gfVxuLy8gLy8gTnVkZ2UgZG93biB0byBnZXQgdG8gMTNweCBlcXVpdmFsZW50IGZvciB0aGVzZSBmb3JtIGVsZW1lbnRzXG4vLyBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbi8vICAgZm9udDogOTklIGFyaWFsLGhlbHZldGljYSxjbGVhbixzYW5zLXNlcmlmO1xuLy8gfVxuLy8gLy8gVG8gaGVscCB0YWJsZXMgcmVtZW1iZXIgdG8gaW5oZXJpdFxuLy8gdGFibGUge1xuLy8gICBmb250LXNpemU6IGluaGVyaXQ7XG4vLyAgIGZvbnQ6IDEwMCU7XG4vLyB9XG4vLyAvLyBCdW1wIHVwIElFIHRvIGdldCB0byAxM3B4IGVxdWl2YWxlbnQgZm9yIHRoZXNlIGZpeGVkLXdpZHRoIGVsZW1lbnRzXG4vLyBjb2RlLCBrYmQsIHByZSwgc2FtcCwgdHQge1xuLy8gICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuLy8gICAqZm9udC1zaXplOiAxMDglO1xuLy8gICBsaW5lLWhlaWdodDogMTAwJTtcbi8vIH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBzZXR0aW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRzdXBwb3J0ZWQtYnJvd3NlcnM6ICgnY2hyb21lJywgJ3NhZmFyaScsICdmaXJlZm94JywgJ2llJyk7XG4kZ3JhY2VmdWwtdXNhZ2UtdGhyZXNob2xkOiAwLjE7XG4kY3JpdGljYWwtdXNhZ2UtdGhyZXNob2xkOiAwLjAxO1xuJGJyb3dzZXItbWluaW11bS12ZXJzaW9uczogKCdmaXJlZm94JzogJzE1JywgJ2llJzogJzgnKTtcblxuLy8g55S75YOP44Gu44OR44K5XG4vLyAkaW1nX3BhdGg6ICcuLi8uLi9pbWcvJztcbi8vICRpbWdfcGF0aDI6ICcuLi9pbWcvJztcblxuLy8g44Oa44O844K45YWo5L2T44Gu5qiq5bmFXG4kYmFzZV93aWR0aDogMTIwMHB4O1xuXG4vLyDjg6HjgqTjg7PmqKrluYVcbiRtYWluX3dpZHRoOiA5MDBweDtcblxuLy8g44K144Kk44OJ5qiq5bmFXG4kc2lkZV93aWR0aDogMjUwcHg7XG5cbi8vIOS7mOS4juOBmeOCi+ODmeODs+ODgOODvOODl+ODrOODleOCo+ODg+OCr+OCuVxuLy8gJHNldF9wcmVmaXg6IC13ZWJraXQtLCAtbW96LSwgLW1zLSwgLW8tLCAnJztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGZvbnRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIOWfuuacrOODleOCqeODs+ODiFxuJGdvdGhpY19mb250OiBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg6HjgqTjg6rjgqpcIiwgTWVpcnlvLCBcIua4uOOCtOOCt+ODg+OCr1wiLCBcIll1IEdvdGhpY1wiLCBZdUdvdGhpYywgXCLvvK3vvLMg44K044K344OD44KvXCIsIHNhbnMtc2VyaWY7XG4kbWluX2ZvbnQ6ICfjg5Ljg6njgq7jg47mmI7mnJ0gUHJvIFczJywgJ0hpcmFnaW5vIE1pbmNobyBQcm8nLCAn5ri45piO5pydJywgWXVNaW5jaG8sICdIR+aYjuacnUUnLCAnTVMgUOaYjuacnScsICdNUyDmmI7mnJ0nLCBzZXJpZjtcblxuLy8gZ29vZ2xlIGZvbnRcbiRub3RvX3NhbnNfZm9udDogJ05vdG8gU2FucycsIHNhbnMtc2VyaWYsICfjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczJywgJ0hpcmFnaW5vIEtha3UgR290aGljIFBybycsICfjg6HjgqTjg6rjgqonLCBNZWlyeW8sICfmuLjjgrTjgrfjg4Pjgq8nLCBZdUdvdGhpYywgVmVyZGFuYTtcblxuLy8gZm9udC1mYWNlXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoJ25hbWUwMScsIGZvbnQtZmlsZXMoJ25hbWUwMS9uYW1lMDEud29mZicsICduYW1lMDEvbmFtZTAxLnR0ZicpLCAnbmFtZTAxL25hbWUwMS5lb3QnKTtcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZSgnbmFtZTAyJywgZm9udC1maWxlcygnbmFtZTAyL25hbWUwMi53b2ZmJywgJ25hbWUwMi9hbmFtZTAyLnR0ZicpLCAnbmFtZTAyL25hbWUwMi5lb3QnKTtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGNvbG9yXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sb3JfMDogI2ZmZjtcblxuLyog5paH5a2XICovXG4kY29sb3JfMTogIzMyMzIzMjtcblxuJGNvbG9yXzI6ICMwMDlmZTg7XG5cbi8qIOiDjOaZryAqL1xuJGNvbG9yXzM6ICNlNWY2ZmY7XG5cbi8qIOiDjOaZryAqL1xuJGNvbG9yXzQ6ICNmNWY1ZjU7XG5cbi8qIOaeoCAqL1xuJGNvbG9yXzU6ICNlNWU1ZTU7XG5cbi8qIOODnOOCv+ODsyAqL1xuJGNvbG9yXzY6ICNmMjlkMDA7XG5cbi8qIOODnOOCv+ODsyAqL1xuJGNvbG9yXzc6ICNjOGM4Yzg7XG5cbiRjb2xvcl84OiAjZTZlNmU2O1xuXG4kY29sb3JfOTogIzAwMDtcblxuJGNvbG9yXzEwOiAjMDAwO1xuXG4kY29sb3JfMTE6ICMwMDA7XG5cbiRjb2xvcl8xMjogIzAwMDtcblxuJGNvbG9yXzEzOiAjMDAwO1xuXG4kY29sb3JfMTQ6ICMwMDA7XG5cbiRjb2xvcl8xNTogIzAwMDtcblxuJGNvbG9yXzE2OiAjMDAwO1xuXG4kY29sb3JfMTc6ICMwMDA7XG5cbiRjb2xvcl8xODogIzAwMDtcblxuJGNvbG9yXzE5OiAjMDAwO1xuXG4kY29sb3JfMjA6ICMwMDA7XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENTUyBUcmFuc2l0aW9uIEVhc2luZ1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlZmF1bHRcbiRsaW5lYXI6IGN1YmljLWJlemllcigwLjI1MCwgMC4yNTAsIDAuNzUwLCAwLjc1MCk7XG4kZWFzZTogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjEwMCwgMC4yNTAsIDEuMDAwKTtcbiRlYXNlLWluOiBjdWJpYy1iZXppZXIoMC40MjAsIDAuMDAwLCAxLjAwMCwgMS4wMDApO1xuJGVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMC4wMDAsIDAuMDAwLCAwLjU4MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC40MjAsIDAuMDAwLCAwLjU4MCwgMS4wMDApO1xuLy8gSW5cbiRlYXNlSW5RdWFkOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2VJbkN1YmljOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2VJblF1YXJ0OiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2VJblF1aW50OiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2VJblNpbmU6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlSW5DaXJjOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2VJbkJhY2s6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuLy8gT3V0XG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZU91dEN1YmljOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2VPdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlT3V0UXVpbnQ6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZU91dENpcmM6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZU91dEJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG4vLyBJbiBPdXRcbiRlYXNlSW5PdXRRdWFkOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2VJbk91dEN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZUluT3V0RXhwbzogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcbiRlYXNlSW5PdXRDaXJjOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2VJbk91dEJhY2s6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBjbGVhcmZpeFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBjZiB7XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgICBjb250ZW50OiAnXFwwMDIwJztcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gbWluLG1heC13aWR0aCBoZWlnaHQg5Yid5pyf5YyWXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIG1heFdfaW5pdCB7XG4gIG1heC13aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5AbWl4aW4gbWF4SF9pbml0IHtcbiAgbWF4LWhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbkBtaXhpbiBtaW5XX2luaXQge1xuICBtaW4td2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbn1cbkBtaXhpbiBtaW5IX2luaXQge1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiBpbml0aWFsO1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gc2FmZS1hcmVhXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHNhZmVfYXJlYSB7XG4gIHBhZGRpbmctdG9wOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICBwYWRkaW5nLWxlZnQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgcGFkZGluZy1yaWdodDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIHVzZXItc2VsZWN0XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHVzZXJfc2VsZWN0KCR2YWx1ZTpub25lKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGNhbGNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gY2FsYygkcHJvcGVydHksICRleHByZXNzaW9uKSB7XG4gICN7JHByb3BlcnR5fTogLW1vei1jYWxjKCN7JGV4cHJlc3Npb259KTtcbiAgI3skcHJvcGVydHl9OiAtby1jYWxjKCN7JGV4cHJlc3Npb259KTtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skZXhwcmVzc2lvbn0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skZXhwcmVzc2lvbn0pO1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gb3ZlcmZsb3ctc2Nyb2xsaW5nXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHNjcm9sbGluZyB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIHdyaXRpbmctbW9kZSDnuKbmm7jjgY1cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gd3JpdGluZ19tb2RlX3ZybCB7XG4gIC1tcy13cml0aW5nLW1vZGU6IHRiLXJsO1xuICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gIC1vLXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBh44K/44Kw44Gu44Kr44Op44O85aSJ5pu0XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGFfdGFnKCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgJjpsaW5rLCAmOmFjdGl2ZSwgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3IyO1xuICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyDjg5fjg6zjg7zjgrnjg5vjg6vjg4Djg7zjga7jgqvjg6njg7zlpInmm7Rcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XG4gICY6cGxhY2Vob2xkZXItc2hvd24ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGFuaW1hdGlvblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbi1uYW1lOiBhbmltYXRpb24pIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24tbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbi1uYW1lO1xuICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbi1uYW1lO1xuICBhbmltYXRpb246ICRhbmltYXRpb24tbmFtZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBtZWRpYSBxdWVyeVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIG1pbiDjg6Ljg5DjgqTjg6vjg5XjgqHjg7zjgrnjg4hcbkBtaXhpbiBtcV9taW5fNDgxIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIG1xX21pbl82NDEge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gbXFfbWluXzc2OSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBtcV9taW5fMTAyNSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gbXFfbWluXzEyODEge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgxcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gbWF4IFBD44OH44K244Kk44Oz44GL44KJ44Kz44O844OH44Kj44Oz44KwXG5AbWl4aW4gbXFfbWF4XzEwMjQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIG1xX21heF83Njgge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gbXFfbWF4XzY0MCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBtcV9tYXhfNDgwIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIG1xX21heF8zMjAge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBsYXlvdXRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBtYXJnaW4gYXV0byBjZW50ZXIgY2VudGVyXG5AbWl4aW4gdmhfbWFyX2Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuLy8gdHJhbnNsYXRlIOe4pnRvcFxuQG1peGluIHZoX3RyYV90X2wge1xuICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5AbWl4aW4gdmhfdHJhX3RfYyB7XG4gIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xufVxuQG1peGluIHZoX3RyYV90X3Ige1xuICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLy8gdHJhbnNsYXRlIOe4pmNlbnRlclxuQG1peGluIHZoX3RyYV9jX2wge1xuICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbn1cbkBtaXhpbiB2aF90cmFfY19jIHtcbiAgQGluY2x1ZGUgdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbn1cbkBtaXhpbiB2aF90cmFfY19yIHtcbiAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xufVxuLy8gdHJhbnNsYXRlIOe4pmJvdHRvbVxuQG1peGluIHZoX3RyYV9iX2wge1xuICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5AbWl4aW4gdmhfdHJhX2JfYyB7XG4gIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xufVxuQG1peGluIHZoX3RyYV9iX3Ige1xuICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdHJhbnNfcm90YXRlKCRkZWcpIHtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgkZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoJGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVnKTtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGZsZXhcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGbGV4Ym94IGRpc3BsYXlcbkBtaXhpbiBmbGV4Ym94KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4vLyBUaGUgJ2ZsZXgnIHNob3J0aGFuZFxuLy8gPHBvc2l0aXZlLW51bWJlcj4sIGluaXRpYWwsIGF1dG8sIG9yIG5vbmVcbkBtaXhpbiBmbGV4KCR2YWx1ZXMpIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogJHZhbHVlcztcbiAgLW1vei1ib3gtZmxleDogJHZhbHVlcztcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWVzO1xuICAtbXMtZmxleDogJHZhbHVlcztcbiAgZmxleDogJHZhbHVlcztcbn1cbi8vIEZsZXggRmxvdyBEaXJlY3Rpb25cbi8vIHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcbkBtaXhpbiBmbGV4X2RpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIC1tb3otZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4vLyBGbGV4IExpbmUgV3JhcHBpbmdcbi8vIG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbkBtaXhpbiBmbGV4X3dyYXAoJHdyYXApIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR3cmFwO1xuICAtbW96LWZsZXgtd3JhcDogJHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuLy8gRmxleCBEaXJlY3Rpb24gYW5kIFdyYXBcbi8vIDxmbGV4LWRpcmVjdGlvbj4gfHwgPGZsZXgtd3JhcD5cbkBtaXhpbiBmbGV4X2Zsb3coJGZsb3cpIHtcbiAgLXdlYmtpdC1mbGV4LWZsb3c6ICRmbG93O1xuICAtbW96LWZsZXgtZmxvdzogJGZsb3c7XG4gIC1tcy1mbGV4LWZsb3c6ICRmbG93O1xuICBmbGV4LWZsb3c6ICRmbG93O1xufVxuLy8gRGlzcGxheSBPcmRlclxuLy8gPGludGVnZXI+XG5AbWl4aW4gb3JkZXIoJHZhbCkge1xuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAkdmFsO1xuICAtbW96LWJveC1vcmRpbmFsLWdyb3VwOiAkdmFsO1xuICAtbXMtZmxleC1vcmRlcjogJHZhbDtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbDtcbiAgb3JkZXI6ICR2YWw7XG59XG4vLyBGbGV4IGdyb3cgZmFjdG9yXG4vLyA8bnVtYmVyPlxuQG1peGluIGZsZXhfZ3JvdygkZ3Jvdykge1xuICAtd2Via2l0LWZsZXgtZ3JvdzogJGdyb3c7XG4gIC1tb3otZmxleC1ncm93OiAkZ3JvdztcbiAgLW1zLWZsZXgtZ3JvdzogJGdyb3c7XG4gIGZsZXgtZ3JvdzogJGdyb3c7XG59XG4vLyBGbGV4IHNocmlua1xuLy8gPG51bWJlcj5cbkBtaXhpbiBmbGV4X3Nocmluaygkc2hyaW5rKSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6ICRzaHJpbms7XG4gIC1tb3otZmxleC1zaHJpbms6ICRzaHJpbms7XG4gIC1tcy1mbGV4LXNocmluazogJHNocmluaztcbiAgZmxleC1zaHJpbms6ICRzaHJpbms7XG59XG4vLyBGbGV4IGJhc2lzXG4vLyA8d2lkdGg+XG5AbWl4aW4gZmxleF9iYXNpcygkd2lkdGgpIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkd2lkdGg7XG4gIC1tb3otZmxleC1iYXNpczogJHdpZHRoO1xuICAtbXMtZmxleC1iYXNpczogJHdpZHRoO1xuICBmbGV4LWJhc2lzOiAkd2lkdGg7XG59XG4vLyBBeGlzIEFsaWdubWVudFxuLy8gZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuQG1peGluIGp1c3RpZnlfY29udGVudCgkanVzdGlmeSkge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgLW1zLWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6ICRqdXN0aWZ5O1xufVxuLy8gUGFja2luZyBGbGV4IExpbmVzXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxuQG1peGluIGFsaWduX2NvbnRlbnQoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJGFsaWduO1xuICAtbW96LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgLW1zLWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgYWxpZ24tY29udGVudDogJGFsaWduO1xufVxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduX2l0ZW1zKCRhbGlnbikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIC1tb3otYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgLW1zLWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XG59XG4vLyBDcm9zcy1heGlzIEFsaWdubWVudFxuLy8gYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduX3NlbGYoJGFsaWduKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAtbW96LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgLW1zLWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgYWxpZ24tc2VsZjogJGFsaWduO1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZmxleCBsYXlvdXRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyDkuIrkuIvlt6blj7PkuK3lpK5cbkBtaXhpbiBmbGV4X3NjYyB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24ocm93KTtcbiAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGNlbnRlcik7XG59XG4vLyDkuIrkuIvlt6blj7PkuK3lpK7vvIjnuKbkuKbjgbPvvIlcbkBtaXhpbiBmbGV4X3ZjYyB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24oY29sdW1uKTtcbiAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGNlbnRlcik7XG59XG4vLyDkuIrkuIvkuK3lpK7vvIjlt6blr4TjgZvvvIlcbkBtaXhpbiBmbGV4X3ZjbCB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24ocm93KTtcbiAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBhbGlnbl9pdGVtcyhjZW50ZXIpO1xufVxuLy8g5LiK5LiL5Lit5aSu77yI5Y+z5a+E44Gb77yJXG5AbWl4aW4gZmxleF92Y3Ige1xuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIEBpbmNsdWRlIGZsZXhfZGlyZWN0aW9uKHJvdyk7XG4gIEBpbmNsdWRlIGp1c3RpZnlfY29udGVudChmbGV4LWVuZCk7XG4gIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGNlbnRlcik7XG59XG4vLyDkuK3lpK7ooajnpLrjgIHkuIrnq6/mj4PjgYhcbkBtaXhpbiBmbGV4X3Z0YyB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24ocm93KTtcbiAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGZsZXgtc3RhcnQpO1xufVxuLy8g5Lit5aSu6KGo56S644CB5LiL56uv5o+D44GIXG5AbWl4aW4gZmxleF92YmMge1xuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIEBpbmNsdWRlIGZsZXhfZGlyZWN0aW9uKHJvdyk7XG4gIEBpbmNsdWRlIGp1c3RpZnlfY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBhbGlnbl9pdGVtcyhmbGV4LWVuZCk7XG59XG4vLyDkuK3lpK7ooajnpLrjgIHpq5jjgZXmj4PjgYhcbkBtaXhpbiBmbGV4X3ZjcyB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24ocm93KTtcbiAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGFsaWduX2l0ZW1zKHN0cmV0Y2gpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGJhc2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8vIDFlbSA9IDEwcHhcbn1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICRjb2xvcl8xO1xuICBmb250LWZhbWlseTogJGdvdGhpY19mb250O1xuICAvLyB3b3JkLXdyYXAgOiBicmVhay13b3JkO1xuICAvLyB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLy8gLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8vIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC40cyBsaW5lYXIpO1xuXG4gICYuanNfcGFnZV90cmFucyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5odG1sLFxuYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vKiBib3JkZXItYm94ICovXG4qIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qIGgxIC0gaDYgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBhICovXG4vLyDlkITjg5rjg7zjgrjjgafoibLjgpLlpInmm7TjgZnjgovjgajjgY3jga9AaW5jbHVkZSBhX3RhZ+OCkuS9v+eUqOOBl+OBpuS4iuabuOOBjeOBl+OBpuOBj+OBoOOBleOBhOOAglxuYSB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRjb2xvcl8xO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkY29sb3JfMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yXzE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3JfMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8g44Oi44OQ44Kk44Or5pmCIOmbu+ipseeVquWPt+OCq+ODqeODvFxuYVtocmVmXj1cInRlbFwiXSB7XG4gIGNvbG9yOiAkY29sb3JfMTtcbn1cblxuLyogVGV4dCBIaWdobGlnaHQgKi9cbi8vIDo6LW1vei1zZWxlY3Rpb24ge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfMTtcbi8vIH1cbi8vXG4vLyA6OnNlbGVjdGlvbiB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl8xO1xuLy8gfVxuXG4vKiBidXR0b24gKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIGlucHV0ICovXG4vLyAoIDEgKSByYWRpbyAvIGNoZWNrYm94IOS7peWkluODquOCu+ODg+ODiFxuLy8gaW5wdXRbdHlwZT0nYnV0dG9uJ10sIGlucHV0W3R5cGU9J3N1Ym1pdCddLCBpbnB1dFt0eXBlPSd0ZXh0J10sIGlucHV0W3R5cGU9J2VtYWlsJ10sIGlucHV0W3R5cGU9J3RlbCddLCAgaW5wdXRbdHlwZT0ndXJsJ10sIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sIGlucHV0W3R5cGU9J3Jlc2V0J10sIGlucHV0W3R5cGU9J3NlYXJjaCddLCB0ZXh0YXJlYSwgc2VsZWN0IHtcbi8vICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIG1hcmdpbjogMDtcbi8vICAgcGFkZGluZzogMDtcbi8vICAgb3V0bGluZTogbm9uZTtcbi8vICAgYm9yZGVyOiBub25lO1xuLy8gICBib3JkZXItaW1hZ2U6IG5vbmU7XG4vLyAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuLy8gICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8g5a2Q6KaB57Sg44G45byV44GN57aZ44GOXG4vLyAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4vLyAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4vLyB9XG5cbi8vICggMiApIOOCquODvOODq+ODquOCu+ODg+ODiFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIOWtkOimgee0oOOBuOW8leOBjee2meOBjlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5zZWxlY3Qge1xuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjb2xvcl8xO1xuICB9XG59XG5cbi8vIGlucHV0W3R5cGU9J3JhZGlvJ10sIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuLy8gICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbi8vICAgQGluY2x1ZGUgYXBwZWFyYW5jZShyYWRpby1idXR0b24pO1xuLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuLy8gICBAaW5jbHVkZSBhcHBlYXJhbmNlKGNoZWNrYm94KTtcbi8vICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4vLyAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogI2ZmZjtcbi8vIH1cblxuLyogcGxhY2Vob2xkZXIgKi9cbi8vIOWQhOODmuODvOOCuOOBp+iJsuOCkuWkieabtOOBmeOCi+OBqOOBjeOBr0BpbmNsdWRlIHBsYWNlaG9sZGVy44KS5L2/55So44GX44Gm5LiK5pu444GN44GX44Gm44GP44Gg44GV44GE44CCXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGNvbG9yXzEpO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCRjb2xvcl8xKTtcbiAgfVxufVxuXG4vLyDjg4njg6njg4PjgrDnpoHmraJcbmltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBAaW5jbHVkZSB1c2VyX3NlbGVjdChub25lKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gc3ByaXRlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIOOAjGFzc2V0cy9faW1nL3Nwcml0ZS/jgI3jga7jgrnjg5fjg6njgqTjg4jjgZfjgZ/jgYTjg5Xjgqnjg6vjg4Djgavjgqvjg6zjg7Pjg4jnp7vli5XjgZfjgIHjgrPjg57jg7Pjg4njgIxndWxwIHNwcml0ZeOAjeOBp+WQjOmajuWxpOOBruOAjF9vdXRwdXTjgI3jg5Xjgqnjg6vjg4DjgatzcHJpdGUucG5n44O7c3ByaXRlLmNzc+OBjOeUn+aIkOOBleOCjOOCi+OAglxuLy8gc3ByaXRlLnBuZ+OBr+WQjeWJjeOCknNwcml0ZeWQjeOBq+WkieabtOOBl+OBpuOAjGFzc2V0cy9pbWfjgI3jgbjnp7vli5XjgIJcbi8vIHNwcml0ZS5jc3Pjga7lhoXlrrnjgpLjgZPjga7jg5XjgqHjgqTjg6vjgavjgrPjg5Tjg5rjgZnjgovjgIJcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gaG9nZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGhvZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBob2dlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB1dGlsaXR5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxheW91dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBjbGVhcmZpeFxuLmNmIHtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgfVxufVxuXG4vLyBwY+ODu3NwIOWHuuOBl+WIhuOBkSBzcCAvIHBj44Gp44Gh44KJ44GL44KJ44Kz44O844OH44Kj44Oz44Kw44GZ44KL44GL44Gn44Gp44Gh44KJ44GL44KS44Kz44Oh44Oz44OI44Ki44Km44OI44GZ44KL44GT44GoIOWIneacnyA6IHNw44GL44KJ44Kz44O844OH44Kj44Oz44KwXG4vLyBzcOOBi+OCieOCs+ODvOODh+OCo+ODs+OCsCA6IOODouODkOOCpOODq+ODleOCoeODvOOCueODiFxuLnVfcGMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVfc3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgLnVfcGMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudV9zcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gLy8gcGPjgYvjgonjgrPjg7zjg4fjgqPjg7PjgrBcbi8vIEBpbmNsdWRlIG1xX21pbl83Njkge1xuLy8gICAudV9wYyB7XG4vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIH1cbi8vICAgLnVfc3Age1xuLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgIH1cbi8vIH1cbi8vIEBpbmNsdWRlIG1xX21heF83Njgge1xuLy8gICAudV9wYyB7XG4vLyAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgfVxuLy8gICAudV9zcCB7XG4vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIH1cbi8vIH1cblxuLy8gc3AgbWVudSBoZWlnaHQxMDAl5pmCIGJvZHk6Zml4ZWRcbi51X2ZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51X2JvZHlfZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHRleHQgcHRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVfdHh0XzEge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfMiB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xX21pbl8xMDI1IHt9XG59XG5cbi51X3R4dF8zIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODM7XG4gIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG5cbiAgQGluY2x1ZGUgbXFfbWluXzEwMjUge31cbn1cblxuLnVfdHh0XzQge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfNSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xX21pbl8xMDI1IHt9XG59XG5cbi51X3R4dF82IHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfNyB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDIuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMi44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xX21pbl8xMDI1IHt9XG59XG5cbi51X3R4dF84IHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMi44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMi44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfOSB7XG4gIGZvbnQtc2l6ZTogMi4wZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAuMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMy44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMy44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfMTAge1xuICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDMuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc5O1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBmb250LXNpemU6IDMuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc5O1xuICB9XG5cbiAgQGluY2x1ZGUgbXFfbWluXzEwMjUge31cbn1cblxuLnVfdHh0XzExIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI7XG4gIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjY3O1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjY3O1xuICB9XG5cbiAgQGluY2x1ZGUgbXFfbWluXzEwMjUge31cbn1cblxuLnVfdHh0XzEyIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI7XG4gIGxldHRlci1zcGFjaW5nOiAuMDZlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMy4yO1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMy4yO1xuICB9XG5cbiAgQGluY2x1ZGUgbXFfbWluXzEwMjUge31cbn1cblxuLnVfdHh0XzEzIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG4udV90eHRfMTQge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBAaW5jbHVkZSBtcV9taW5fMTAyNSB7fVxufVxuXG5cbi51X3R4dF8xNSB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG5cbiAgQGluY2x1ZGUgbXFfbWluXzEwMjUge31cbn1cblxuLnVfdHh0XzE2IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xX21pbl8xMDI1IHt9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHRleHQgd2VpZ2h0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51X2xpZ2h0ZXIge1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbn1cblxuLnVfYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB0ZXh0IG1hcmtlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyDpu4ToibIg5aSq44KBXG4udV9tYXJrZXJfMV8xIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAxMDIsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAxMDIsIDEpIDEwMCUpKTtcbn1cblxuLy8g6buE6ImyIOe0sOOCgVxuLnVfbWFya2VyXzFfMiB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0MCUsIHJnYmEoMjU1LCAyNTUsIDEwMiwgMSkgMTAwJSkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBib3gtc2hhZG93XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51X2JveF9zaGFkb3dfMSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gZ3JhZGF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51X2dyYWRpZW50XzEge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCgxODBkZWcsXG4gICAgICByZ2IoMTY5LCAyMzMsIDI0MykgMCUsXG4gICAgICByZ2IoMTY5LCAyMzMsIDI0MykgMTAlLFxuICAgICAgcmdiKDQ1LCAxNTcsIDE3NCkgMjUlLFxuICAgICAgcmdiKDQ1LCAxNTcsIDE3NCkgMzclLFxuICAgICAgcmdiKDQ1LCAxNTcsIDE3NCkgNTAlLFxuICAgICAgcmdiKDQ1LCAxNTcsIDE3NCkgODMlLFxuICAgICAgcmdiKDE4OSwgMjQ1LCAyNTMpIDEwMCUpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gYW5pbWF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51X2FuaW1hXzEge31cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gaG9nZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyAudV9ob2dlIHt9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGNvbXBvbmVudFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB0aXRsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY190dGxfMSB7XG4gIEBpbmNsdWRlIGZsZXhfc2NjO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAyNXB4O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4uY190dGxfMiB7XG4gIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgMjVweDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLmNfdHRsXzMge1xuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChsZWZ0KTtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIDI1cHg7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBidXR0b25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIGNfYnRuX3BfdG9wXG4uY19idG5fcF90b3Age1xuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkY29sb3JfMTtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogNjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl8wO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl8wO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMjJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuLmNfYnRuXzEge1xuXG4gIC8vIF9wdDFcbiAgJi5fcHQxIHt9XG5cbiAgLy8gX3B0MlxuICAmLl9wdDIge31cbn1cblxuLmNfYnRuXzEge1xuICB3aWR0aDogMzYwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMwMDlmZTg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcblxuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICB3aWR0aDogMjM1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTVmNmZmO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDIwcHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cblxuICA+cCB7XG4gICAgY29sb3I6ICMwMDlmZTg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgLnBvc2l0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICA+LndyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogIzAwOWZlODtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cblxuICAgICAgPi52ZXJ0aWNhbCxcbiAgICAgID4uaG9yaXpvbnRhbCB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDQ4JTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4udmVydGljYWwge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgPi5ob3Jpem9udGFsIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuX3B0X291dGxpbmsge1xuICAgIC5wb3NpdGlvbiB7XG4gICAgICA+LndyYXAge1xuXG4gICAgICAgID4udmVydGljYWwsXG4gICAgICAgID4uaG9yaXpvbnRhbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jb21tb24vaWNvbl9vdXRsaW5rX3doaXRlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNfYnRuXzIge1xuICBAaW5jbHVkZSBmbGV4X3NjYztcblxuICAuaW5uZXIge1xuICAgIC53cmFwIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl82O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yXzY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTU3LCAwLCAwLjUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggMjBweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksXG4gICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY29tbW9uL2ljb25fb3V0bGlua19vcmFuZ2Uuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI4cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksXG4gICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50eHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jX2J0bl8zIHt9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGljb25cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNfaWNvXzEge1xuXG4gIC8vIF9wdDFcbiAgJi5fcHQxIHt9XG5cbiAgLy8gX3B0MlxuICAmLl9wdDIge31cbn1cblxuLmNfaWNvXzEge1xuICA+LmlubmVyIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl8xO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG5cbiAgICAudV90eHRfMSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbn1cblxuLmNfaWNvXzIge1xuICA+LmlubmVyIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgY29sb3I6ICRjb2xvcl8yO1xuXG4gICAgLnVfdHh0XzEge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG5cbi5jX2ljb18zIHtcbiAgPi5pbm5lciB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyog5aSJ5pu06KaB57SgICovXG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzY7XG4gICAgY29sb3I6ICRjb2xvcl8wO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgIH1cbiAgfVxuXG4gICYuX2FjY2VwdGluZyB7XG4gICAgPi5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICB9XG4gIH1cblxuICAmLl9jbG9zZWQge1xuICAgID4uaW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzc7XG4gICAgfVxuICB9XG5cbiAgJi5fcmVwb3J0IHtcbiAgICA+LmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl82O1xuICAgIH1cbiAgfVxufVxuXG4uY19pY29fNCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICRjb2xvcl8yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yXzI7XG4gIH1cblxuICAuaW5uZXIge1xuICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgbGluZXIpO1xuXG4gICAgJi5fYWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDApKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTFweCkgcm90YXRlKDkwZGVnKSk7XG4gICAgfVxuICB9XG59XG5cbi5jX2ljb181IHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgQGluY2x1ZGUgZmxleF9zY2M7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG4gIGNvbG9yOiAkY29sb3JfMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gYWxlcnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jX2FsZXJ0c18xIHt9XG5cbi5jX2FsZXJ0c18yIHt9XG5cbi5jX2FsZXJ0c18zIHt9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHBhZ2VyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jX3BhZ2VyX251bSB7fVxuXG4uY19wYWdlcl9wcmV2X25leHQge31cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gdGFibGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNfdGFibGVfMSB7fVxuXG4uY190YWJsZV8yIHt9XG5cbi5jX3RhYmxlXzMge31cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gZm9ybXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy8gaW5wdXRcbi5jX2lucHV0XzEge31cblxuLmNfaW5wdXRfMiB7fVxuXG4uY19pbnB1dF8zIHt9XG5cbi8vIHNlbGVjdFxuLmNfc2VsZWN0XzEge31cblxuLmNfc2VsZWN0XzIge31cblxuLmNfc2VsZWN0XzMge31cblxuLy8gdGV4dGFyZWFcbi5jX3RleHRhcmVhXzEge31cblxuLmNfdGV4dGFyZWFfMiB7fVxuXG4uY190ZXh0YXJlYV8zIHt9XG5cbi8vIHJhZGlvXG4uY19yYWRpb18xIHt9XG5cbi5jX3JhZGlvXzIge31cblxuLmNfcmFkaW9fMyB7fVxuXG4vLyBjaGVja2JveFxuLmNfY2hlY2tib3hfMSB7fVxuXG4uY19jaGVja2JveF8yIHt9XG5cbi5jX2NoZWNrYm94XzMge31cblxuLy8gZm9ybXNldFxuLmNfZm9ybXNldF8xIHtcbiAgLmNfaW5wdXRfaG9nZSB7fVxuXG4gIC5jX3NlbGVjdF9ob2dlIHt9XG5cbiAgLmNfdGV4dGFyZWFfaG9nZSB7fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsaXN0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIGNfbGlzdF8xXG4uY19saXN0XzEge1xuICAuaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDAgMjJweDtcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy90b3A6IDA7XG4gICAgICAvL2JvdHRvbTogMDtcbiAgICAgIC8vbWFyZ2luOiBhdXRvIDA7XG4gICAgICB0b3A6IDlweDtcbiAgICAgIGxlZnQ6IC0yMnB4O1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF8yXG4uY19saXN0XzJfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gID4uaW5uZXIge1xuICAgIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDQuNjg3NSU7IC8vIDE1cHggLyAzMjBweCAqIDEwMCVcbiAgICB9XG4gIH1cbn1cblxuLmNfbGlzdF8yIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yXzI7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gID4uaW5uZXIge1xuICAgIC50b2dnbGVidG4ge1xuICAgICAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfMjtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl8wO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5fZGVmIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuXG4gICAgICAuX2FjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuX29wZW4ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuX2RlZiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxsbGlzdCB7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgLmxpc3Qge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICBAaW5jbHVkZSBmbGV4X3NjYztcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl8wO1xuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5fY3VycmVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChsZWZ0KTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfMjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuXG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5fcHQyIHtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9jb21tb24vaWNvX291dGxpbmtfZmFxX3NwLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgPi5pbm5lciB7XG4gICAgICAgICAgICAgICAgICAudHh0IHtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+LmlubmVyIHtcbiAgICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAtMjZweDtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogLTE5cHg7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuX3B0MiB7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY29tbW9uL2ljb19vdXRsaW5rX2ZhcV9zcC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgYWxsIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm10eHQge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF8zXG4uY19saXN0XzNfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICAgIH1cbiAgfVxufVxuXG4uY19saXN0XzMge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcblxuICA+LnBhcmVudCB7XG4gICAgPi53cmFwIHtcbiAgICAgICYuX3R0bCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAyOXB4IDE0MHB4IDI5cHggNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHggMTVweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPi50dGwge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICAgICAgfVxuXG4gICAgICAgID4ucG9zaXRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLl90eHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nd3JhcCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gY19saXN0XzRcbi5jX2xpc3RfNF9vdXRlciB7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG4gIHBhZGRpbmc6IDIwcHggMDtcblxuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICAgIH1cbiAgfVxufVxuXG4uY19saXN0XzQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4ucV9pY28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogNTBweDtcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gIH1cblxuICA+LnBhcmVudCB7XG4gICAgPi53cmFwIHtcbiAgICAgICYuX3R0bCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAyOXB4IDE0MHB4IDI5cHggMTEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCA2MHB4IDE1cHggNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4udHRsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG4gICAgICAgIH1cblxuICAgICAgICA+LnBvc2l0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5fdHh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAxMTBweCAzMHB4O1xuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgYV90YWcoJGNvbG9yXzIsICRjb2xvcl8yKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF81XG4uY19saXN0XzVfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gID4uaW5uZXIge1xuICAgIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyAvLyA0LjY4NzUlOyAvLyAxNXB4IC8gMzIwcHggKiAxMDAlXG4gICAgfVxuICB9XG59XG5cbi5jX2xpc3RfNSB7XG4gID4uaXRlbSB7XG4gICAgd2lkdGg6IDg0MHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yXzU7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3JfNTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfNTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAuaW1nd3JhcCB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxNTNweDtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHh0d3JhcCB7XG4gICAgICAgIG1pbi13aWR0aDogNDk2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50dGwge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICA+Lml0ZW0ge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0bGlzdCB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4uaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggMTBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDI0cHggOHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl81O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yXzU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB6LWluZGV4OiA5MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF82XG4uY19saXN0XzZfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gID4uaW5uZXIge1xuICAgIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyAvLyA0LjY4NzUlOyAvLyAxNXB4IC8gMzIwcHggKiAxMDAlXG4gICAgfVxuICB9XG59XG5cbi5jX2xpc3RfNiB7XG4gID4uaXRlbSB7XG4gICAgd2lkdGg6IDg0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3JfNTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl81O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICAudHRsd3JhcCB7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gICAgICAuZGF0ZSB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5ldyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfNjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHh0d3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC50eHQge1xuICAgICAgICAubGluayB7XG5cbiAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG5cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2NvbW1vbi9pY29uX291dGxpbmsucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xOHB4O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF83XG4uY19saXN0Xzdfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICAgIH1cbiAgfVxufVxuXG4uY19saXN0Xzcge1xuICBtYXJnaW46IDUwcHggYXV0bztcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgZGlzcGxheTogZmxleDtcblxuICAuc2xpY2stbGlzdCB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG5cbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgY29sb3I6ICMwMDlmZTg7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLXByZXYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiPFwiO1xuICAgICAgY29sb3I6ICMwMDlmZTg7XG4gICAgfVxuICB9XG5cbiAgLml0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgNSkge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLy9vdXRsaW5lOiAycHggc29saWQgIzAwOWZlODtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIG91dGxpbmU6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwOWZlODtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPi5saW5rIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICMzMjMyMzI7XG5cbiAgICAgIC8vIHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIG91dGxpbmU6IGluaGVyaXQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4uaW1nd3JhcCB7XG4gICAgICAgICAgPi5pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+LmltZ3dyYXAge1xuICAgICAgICA+LmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gICAgICB9XG5cbiAgICAgID4udHh0d3JhcCB7XG4gICAgICAgID4udHRsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfbGlzdF84XG4uY19saXN0Xzhfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IC8vIDQuNjg3NSU7IC8vIDE1cHggLyAzMjBweCAqIDEwMCVcbiAgICB9XG4gIH1cbn1cblxuLmNfbGlzdF84IHtcbiAgd2lkdGg6IDg0MHB4O1xuXG4gIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPi5pdGVtIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yXzU7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzU7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yXzU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB6LWluZGV4OiA5OTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cblxuICAgICAgLmltZ3dyYXAge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIGhlaWdodDogMTUzcHg7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHh0d3JhcCB7XG4gICAgICAgIHdpZHRoOiA1MDBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmluZm93cmFwIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHRsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdCB7XG4gICAgICAgICAgLml0ZW0ge31cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjX2xpc3RfOVxuLmNfbGlzdF85X291dGVyIHtcbiAgYmFja2dyb3VuZDogIzg4ODtcbiAgcGFkZGluZzogMjBweCAwO1xuXG4gID4uaW5uZXIge1xuICAgIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDQuNjg3NSU7IC8vIDE1cHggLyAzMjBweCAqIDEwMCVcbiAgICB9XG4gIH1cbn1cblxuLmNfbGlzdF85IHtcbiAgJi51X3BjIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG5cbiAgICA+LmlubmVyIHtcbiAgICAgIC5zZWN0dGwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZWZ0OiAyNHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWxsbGlzdCB7XG4gICAgICAgIC5hbGxzZWxlY3Qge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMCAzN3B4O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksXG4gICAgICAgICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYV90YWcoJGNvbG9yXzIsICRjb2xvcl8yKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLFxuICAgICAgICAgICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLl9jdXJyZW50IHtcbiAgICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcblxuICAgICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYV90YWcoJGNvbG9yXzAsICRjb2xvcl8wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHRsIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMCA1cHggMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG5cbiAgICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDM3cHg7XG4gICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLFxuICAgICAgICAgICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG5cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl8wO1xuICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSxcbiAgICAgICAgICAgICAgICAgIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYV90YWcoJGNvbG9yXzIsICRjb2xvcl8yKTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuX2N1cnJlbnQge1xuICAgICAgICAgICAgICA+LmlubmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcblxuICAgICAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFfdGFnKCRjb2xvcl8wLCAkY29sb3JfMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi51X3NwIHtcbiAgICAlY19saXN0Xzlfc3BfYm94IHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfMjtcbiAgICB9XG5cbiAgICAlY19saXN0Xzlfc3BfYXJyb3cge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxN3B4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJWNfbGlzdF85X3NwX2NoZWNrIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMThweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yXzI7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgID4uaW5uZXIge1xuICAgICAgLnRvZ2dsZWJ0biB7XG4gICAgICAgIEBleHRlbmQgJWNfbGlzdF85X3NwX2JveDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICByaWdodDogMjNweDtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5fZGVmIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuX2FjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuX29wZW4ge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuX2RlZiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5fYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFsbGxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIC5hbGxzZWxlY3Qge1xuICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICYuX2N1cnJlbnQge1xuICAgICAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8zO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlY19saXN0Xzlfc3BfY2hlY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWNfbGlzdF85X3NwX2JveDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWNfbGlzdF85X3NwX2Fycm93O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFfdGFnKCRjb2xvcl8yLCAkY29sb3JfMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHRsIHtcbiAgICAgICAgICBAZXh0ZW5kICVjX2xpc3RfOV9zcF9ib3g7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzE7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgQGV4dGVuZCAlY19saXN0Xzlfc3BfYm94O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG4gICAgICAgICAgICAgIEBleHRlbmQgJWNfbGlzdF85X3NwX2Fycm93O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBhX3RhZygkY29sb3JfMiwgJGNvbG9yXzIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLl9jdXJyZW50IHtcbiAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8zO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVjX2xpc3RfOV9zcF9jaGVjaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjX2xpc3RfMlxuLmNfbGlzdF8xMF9vdXRlciB7XG4gIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbn1cblxuLmNfbGlzdF8xMCB7XG4gIGhlaWdodDogNjBweDtcbiAgQGluY2x1ZGUgZmxleF9zY2M7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG5cbiAgICAgICYuY3VyciB7XG4gICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTVweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmxleF9zY2M7XG4gICAgLy9AaW5jbHVkZSBjYWxjKHdpZHRoLCBcIjEwMCUgLSAxcHhcIik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl8wO1xuICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuXG4gICAgICAud3JhcCB7XG4gICAgICAgIC5saW5rIHtcbiAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICYuX3B0MiB7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY29tbW9uL2ljb25fbmVtdS5zdmdcIik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVtcHR5IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpob3ZlciB7fVxuICAgIH1cblxuICAgICYuX2N1cnJlbnQge1xuICAgICAgY29sb3I6ICRjb2xvcl8yO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleF9zY2M7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGFfdGFnKCRjb2xvcl8wLCAkY29sb3JfMik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAmLl9wdDEge1xuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuX3B0MyB7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHh0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cblxuICAgICAgICAgIC51X3BjaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC51X3NwaSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi51X3BjaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudV9zcGkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLl9wdDEge1xuICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl8wO1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5fcHQyIHtcbiAgICAgICAgICAgIGxlZnQ6IDE2cHg7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2NvbW1vbi9pY29uX25lbXVfd2hpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5fcHQzIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzA7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvcl8wO1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBpdGVtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIGNfaXRlbV8xXG4uY19pdGVtXzEge1xuICA+LmlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgID4ud3JhcCB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYuX3R4dCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhfZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnlfY29udGVudChjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBhbGlnbl9pdGVtcyhsZWZ0KTtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHBhZGRpbmc6IDI1cHggNC42Nzg1JSA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPi5pbm5lciB7XG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudHRsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yXzI7XG4gICAgICAgICAgICBsaW5lLWJyZWFrOiBzdHJpY3Q7XG5cbiAgICAgICAgICAgIC5saW5lYnJlYWsge1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLl9pbWcge1xuICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuX3B0MiB7XG4gICAgPi5pbm5lciB7XG4gICAgICA+LndyYXAge1xuICAgICAgICAmLl90eHQge1xuICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLl9pbWcge1xuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jX2l0ZW1fMl9vdXRlciB7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG4gIHBhZGRpbmc6IDIwcHggMDtcblxuICA+LmlubmVyIHtcbiAgICB3aWR0aDogJGJhc2Vfd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMCA0LjY4NzUlOyAvLyAxNXB4IC8gMzIwcHggKiAxMDAlXG4gICAgfVxuICB9XG59XG5cbi8vIGNfaXRlbV8yXG4uY19pdGVtXzIge1xuICA+LmlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMjtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgd2lkdGg6IDEyMDBweDtcblxuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgID4ud3JhcCB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYuX3R4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24oY29sdW1uKTtcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGxlZnQpO1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4uaW5uZXIge1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE3cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnR0bCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDVweCBhdXRvIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5faW1nIHtcbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjX2l0ZW1fM1xuLmNfaXRlbV8zIHtcbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6IDExMDBweDtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICA+LndyYXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYuX3R4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleF9kaXJlY3Rpb24oY29sdW1uKTtcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeV9jb250ZW50KGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGFsaWduX2l0ZW1zKGxlZnQpO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yXzQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yXzQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3JfNDtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4uaW5uZXIge1xuICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLl9pbWcge1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNfaXRlbV80XG4uY19pdGVtXzRfb3V0ZXIge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgPi5pbm5lciB7XG4gICAgd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICAgIH1cbiAgfVxufVxuXG4uY19pdGVtXzQge1xuICB3aWR0aDogNTc1cHg7XG4gIG1pbi13aWR0aDogNTc1cHg7XG4gIGhlaWdodDogMzE2cHg7XG4gIHBhZGRpbmc6IDUwcHggNDVweCA1MHB4IDUwcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAvL3BhZGRpbmc6IDc1cHggNDBweCA0MHB4O1xuICAgIHBhZGRpbmc6IDc1cHggMzBweCA0MHB4OyAvL21vZGlmaWNhdGlvblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmluZm93cmFwIHtcbiAgICAgIC53cmFwLl90dGwge1xuICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgLmNfaWNvXzIge1xuICAgICAgICAgICAgPi5pbm5lciB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgLy9tb2RpZmljYXRpb25cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgLmltZ3dyYXAge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMCAzNXB4IDAgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTUwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvd3JhcCB7XG4gICAgLndyYXAge1xuICAgICAgJi5fdHRsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTRweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4X2RpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgICAgIC5jYXRjaCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHRsIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwicGFsdFwiO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgIC5jX2ljb18yIHtcbiAgICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4X3NjYztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC51X3R4dF8xIHtcbiAgICAgICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwicGFsdFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuX2xpc3Qge1xuICAgICAgICAubGlzdCB7XG4gICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweCAyMnB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuICAgICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gY19pdGVtXzVcbi5jX2l0ZW1fNSB7fVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBwYWdpbmF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jX3BhZ2luYXRpb25fb3V0ZXIge1xuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yXzU7XG5cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm51bWJlciB7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yXzQ7XG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICBwYWRkaW5nOiAxNnB4IDAgMnB4O1xuICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4wcmVtO1xuXG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNfcGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgPi5pbm5lciB7XG4gICAgICAvL3dpZHRoOiA4NDBweDtcbiAgICAgIHdpZHRoOiA1NzBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl80O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgPi5wYWdlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl83O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl84O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggMCAwO1xuXG4gICAgICAgICAgJi5kb3RzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl83O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yXzE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPmEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDAgMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHggMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleF9zY2M7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8wO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCA3cHggMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuXG4gICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJithIHtcbiAgICAgICAgICAgICAgICAvL21hcmdpbjogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgICAgICAgLmFycm93d3JhcCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIC8qIFNhZmFyaeeUqCAqL1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC52ZXJ0aWNhbCxcbiAgICAgICAgICAgICAgICAuaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnZlcnRpY2FsIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZoX21hcl9jO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AsIGxlZnQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZoX21hcl9jO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4uaW5uZXIge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgICAgICAgLmFycm93d3JhcCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAvKiBTYWZhcmnnlKggKi9cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnZlcnRpY2FsLFxuICAgICAgICAgICAgICAgIC5ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmhfbWFyX2M7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCwgcmlnaHQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aF9tYXJfYztcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGhvZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNfaG9nZSB7fSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsYXlvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wX3BhZ2Uge1xuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICBtYXJnaW46IDU1cHggMCAwO1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2NvbnRlbnRfc2l6ZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vLyBzcOOBi+OCieS9nOaIkOOBl+ODquOCreODg+ODieODrOOCueODneODs+OCt+ODluOBruWgtOWQiFxuXG4ubF9jb250ZW50X3NpemVfc3BfMSB7XG4gIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICBAaW5jbHVkZSBtcV9taW5fNzY5IHt9XG4gIEBpbmNsdWRlIG1xX21pbl8xMDI1IHtcbiAgICBtYXgtd2lkdGg6ICRiYXNlX3dpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4vLyBwY+OBi+OCieS9nOaIkOOBmeOCi+WgtOWQiFxuXG4ubF9jb250ZW50X3NpemVfcGNfMSB7XG4gIHdpZHRoOiAkYmFzZV93aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgNC42ODc1JTsgLy8gMTVweCAvIDMyMHB4ICogMTAwJVxuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2NvbnRhaW5lclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubF9jb250YWluZXIge1xuICAvL29wYWNpdHk6IDA7IC8vIGpzIChsb2FkZXIpXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbXFfbWluXzc2OSB7XG4gICAgbWluLXdpZHRoOiAxMjAwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9oZWFkZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGwtcHJldmVudCB7XG4gIC8q5YuV44GN5Zu65a6aKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICAvKuWlpeihjOOBjeOCkueuoeeQhiovXG4gIHotaW5kZXg6IC0xO1xuICAvKuS4izLjgaTjgafog4zmma/jgpLlhYPjga7jgrXjgqTjgrrjga7jgb7jgb7ooajnpLrjgZnjgovjgZPjgajjgYzjgafjgY3jgosqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubF9oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBtaW4td2lkdGg6IDEyMDBweDtcbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgfVxuXG4gICYudGFibGV0IHtcbiAgICB6b29tOiAxLjU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcblxuICAgID4gLm91dGVyIHtcbiAgICAgIC5tZW51X2JveCB7XG4gICAgICAgICYuX29wZW4ge1xuICAgICAgICAgID4gLndyYXAge1xuICAgICAgICAgICAgPiAubWVudSB7XG4gICAgICAgICAgICAgID4gLndyYXAge1xuICAgICAgICAgICAgICAgID4gLnR4dCB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC53cmFwIHtcbiAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIC5ib3JkZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgYWxsIGxpbmVhcjtcblxuICAgICAgICAgICAgICAgICYuX3B0MSB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5fcHQyIHtcbiAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9wdDMge1xuICAgICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzcGFuLnR4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA5ZmU4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSguOSk7XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAtMXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmlubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNjBweCAwIDQuNjg3NSU7XG5cbiAgICAgICAgLmxlZnQge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcblxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG5cbiAgICAgICAgICA+IC5zZWNfMSB7XG4gICAgICAgICAgICA+IC5pbm5lciB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIC5yaWdodGNvbHVtbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgPiAudGVsIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcblxuICAgICAgICAgICAgICAgICAgPiAudV90eHRfMSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5jX2J0bl8zIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgIC5idG5fdHh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gLmZsZXgge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTU5LCAyMzIsIDAuOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGxpbmVhcjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgbGluZWFyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICAgIC5oZWFkZXJfbWVudSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDk1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgLnNwX2J0bl93cmFwIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1pZGRsZSB7XG4gICAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1lbnVfYm94IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgbGluZWFyO1xuICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAmLl9vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwOWZlODtcblxuICAgICAgICA+IC53cmFwIHtcbiAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICA+IC53cmFwIHtcbiAgICAgICAgICAgICAgLmJvcmRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgJi5fcHQxIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuX3B0MiB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuX3B0MyB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLnR4dCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAud3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICB3aWR0aDogNTBweDtcblxuICAgICAgICAubWVudSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgLmJvcmRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwOWZlODtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgbGluZWFyO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBhbGwgbGluZWFyO1xuXG4gICAgICAgICAgICAgICAgJi5fcHQxIHtcbiAgICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9wdDIge1xuICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuX3B0MyB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHNwYW4udHh0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDlmZTg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgLTFweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gLmlubmVyIHtcbiAgICAgIHdpZHRoOiAxMjAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCA2MHB4IDAgNC42ODc1JTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xX21heF8zMjAge1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCA0LjY4NzUlO1xuICAgICAgfVxuXG4gICAgICAubGVmdCB7XG4gICAgICAgIHdpZHRoOiAzMjVweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yaWdodCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMjVweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5zZWNfMSB7XG4gICAgICAgICAgPiAuaW5uZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZWZ0Y29sdW1uIHt9XG5cbiAgICAgICAgICAgIC5yaWdodGNvbHVtbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC50ZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwOWZlODtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudV90eHRfMSB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF8zMjAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC51X3R4dF8xIHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLnVfdHh0Xzcge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgID4gLmNfYnRuXzMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogODZweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAuYnRuX3R4dCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idG5fdHh0IHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50ZWwge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzY7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcblxuICAgICAgICAgICAgICAgICAgICAudV90eHRfMSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiAuZmxleCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1OSwgMjMyLCAwLjkpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBsaW5lYXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuX29wZW4ge1xuICAgICAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgID4gLndyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5oZWFkZXJfbWVudSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDAgMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDk1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLnNwX2J0bl93cmFwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5taWRkbGUge1xuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzIzMjMyO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICYuaXMtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA5ZmU4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubF9maXhlZF9oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdG9wOiAtMTIwcHg7XG4gIHotaW5kZXg6IDkwMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogMC41cyBhbGwgbGluZWFyO1xuXG4gICYuX2ZpeGVkIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgPiAub3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5tZW51X2JveCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGxpbmVhcjtcblxuICAgICAgJi5fb3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG5cbiAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICAgIC5ib3JkZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAgICAgICAgICYuX3B0MSB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9wdDIge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9wdDMge1xuICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLndyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG5cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgIC5ib3JkZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGxpbmVhcjtcblxuICAgICAgICAgICAgICAgICYuX3B0MSB7XG4gICAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5fcHQyIHtcbiAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9wdDMge1xuICAgICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzcGFuLnR4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwOWZlODtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIC0xcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pbm5lciB7XG4gICAgICB3aWR0aDogMTIwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC5sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0MHB4KTtcblxuICAgICAgICA+IC5mbGV4IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgJi5fb3BlbiB7XG4gICAgICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmhlYWRlcl9tZW51IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgIC5taWRkbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOTBweCk7XG5cbiAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMyMzIzMjtcblxuICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICYuaXMtY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA+IC5jX2J0bl8zIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA5ZmU4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnRuX3R4dCB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfaGVhZGVyX3NwXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX2hlYWRlcl9zcCB7fVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9tZW51X3NwXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX21lbnVfc3Age31cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfYnJlYWRjcnVtYnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfYnJlYWRjcnVtYnMge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICAuYnJlYWRjcnVtYnMge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGNvbG9yXzc7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBhX3RhZygkY29sb3JfMiwgJGNvbG9yXzIpO1xuICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5icmVhZGNydW1iX2xhc3Qge1xuICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9tYWluX3Zpc3VhbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubF9tYWluX3Zpc3VhbCB7XG4gIGhlaWdodDogMjgwcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwMHB4IDAgMDtcbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgaGVpZ2h0OiAyMTVweDtcbiAgfVxuXG4gIC5tdl90dGwge1xuICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuYnJlYWR3cmFwIHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC02NXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pbm5lciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgfVxuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2NvbnRlbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfY29udGVudCB7fVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9tYWluXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX21haW4ge31cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfcmVhZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubF9yZWFkIHtcbiAgPiAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDkycHggMTAwcHg7XG4gICAgQGluY2x1ZGUgZmxleF9zY2M7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDQuNjg3NSU7XG4gICAgfVxuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX3NpZGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfc2lkZSB7fVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9tb3JlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX21vcmUge1xuICA+IC5pbm5lciB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG5cbiAgICAudHRsb3V0ZXIge1xuICAgICAgcGFkZGluZzogMCA0LjY3ODUlO1xuICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICAubGlzdCB7XG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3JfODtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvcl84O1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcl84O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3JfODtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9taW5fNzY5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaW1nd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMzQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnR4dHdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnR0bCB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDIycHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICAgICAgICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwZW07XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfZm9vdGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiN0b3AtZm9vdGVyIHtcbiAgLy8g5YWx6YCa44OR44O844OEXG4gIGgyLFxuICBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC50dGxfMSB7XG4gICAgbWFyZ2luOiA4NXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDIzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA5ZmU4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gIC50dGxfMiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAyM3B4O1xuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC50dGxfMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICMwMDlmZTg7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnR0bF80IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLnR4dF8xIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgLnNtbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgZGlzcGxheTogdGFibGU7XG5cbiAgICA+IHAge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgLmJ0bjEge1xuICAgIHdpZHRoOiAzNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMDA5ZmU4O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTVmNmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTVweCAyMHB4IC00cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgfVxuXG4gICAgPiBwIHtcbiAgICAgIGNvbG9yOiAjMDA5ZmU4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zaXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIC53cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA5ZmU4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLnZlcnRpY2FsLFxuICAgICAgICA+IC5ob3Jpem9udGFsIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNDglO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLnZlcnRpY2FsIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuaG9yaXpvbnRhbCB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuX2JsdWUge1xuICAgIGNvbG9yOiAjMDA5ZmU4O1xuICB9XG5cbiAgLmx5LXNlY3Rpb24ubHYtMS5pcy10b3AudXRpbC1iZ2MtcGlja3VwLm5ldyB7XG4gICAgbWluLXdpZHRoOiAxMjAwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAmLl9vdGhlciB7XG4gICAgICAub3RoZXJfbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5pcy1hcHAge1xuICAgICAgICAuYXBwLXdyYXAge1xuICAgICAgICAgIC5hcHAtc3RvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3RoZXJfbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDQuNjg3NSU7XG5cbiAgICAgID4gcCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgY29sb3I6ICMwMDlmZTg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5seS1zZWN0aW9uLmhhcy11bmRlcmxpbmUuaXMtYXBwIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMCAxMDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWY2ZmY7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjVweDtcbiAgICAgIH1cblxuICAgICAgLnV0aWwtaW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwNjRweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNC42ODc1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2QtYm94LmlzLWFwcCB7XG4gICAgICAgICAgJi5fbGFzdCB7XG4gICAgICAgICAgICAuYXBwLXdyYXAge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFwcC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXBwLWNhcHRpb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmFwcC1jYXB0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIC5pY29uLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuYXBwLWNhcHRpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vZC1ib3gtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9kLWJveC10ZXh0IHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFwcC1zdG9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmFwcC1zdG9yZS1idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLl9ub25lIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdG9yZS1idG4tbGluayB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuZm9vdGVyX2NvbnRlbnQge1xuICAgIG1pbi13aWR0aDogMTIwMHB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDlmZTg7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgPiAuc2xpZGVyX2Nhcm91c2VsIHtcbiAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuaW5uZXIge1xuICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDQuNjg3NSU7XG4gICAgICB9XG5cbiAgICAgID4gLnR0bF8xIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLnR4dF8xIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgPiAuYnRuMSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVmNmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJ0bl9tYWlsIHtcbiAgICAgICAgPiAuaW5uZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfMDtcbiAgICAgICAgICB3aWR0aDogODYwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl8yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNvbG9yXzI7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN1Ymoge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQ0cHggMCAwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1haWx3cmFwX3NwIHtcbiAgICAgICAgLl9tYWlsIHtcbiAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAwO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl8wO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuXG4gICAgICAgICAgPiBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucG9zaXRpb24ge1xuICAgICAgICAgICAgPiAud3JhcCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8wO1xuXG4gICAgICAgICAgICAgID4gLnZlcnRpY2FsLFxuICAgICAgICAgICAgICAuaG9yaXpvbnRhbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5pbm5lciB7XG4gICAgd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICAgIH1cblxuICAgID4gLmxlZnQge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5wYWdlX3RvcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG5cbiAgICAgICAgPiAudHh0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgICAgICBjb2xvcjogIzAwOWZlODtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCA1cHggOC43cHggNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA5ZmU4IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC5iYW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZsZXgge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAwO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLml0ZW1zIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC50eHQge1xuICAgICAgICBtYXJnaW46IDY1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAucmlnaHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiB1bCB7XG4gICAgICAgICYuY29sdW1uIHtcbiAgICAgICAgICAmLmNvbHVtbl8zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7fVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge31cblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl8yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb2xvcjogIzAwOWZlODtcblxuICAgICAgICAgICAgICAmLm91dGxpbmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jb21tb24vaWNvbl9vdXRsaW5rLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5fMSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNDVweDtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5fMiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCA0NXB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbl8zIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDg1cHg7XG4gICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbGF5b3V0IHBfdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2NvbnRhaW5lcl90b3Bcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfY29udGFpbmVyX3RvcCB7XG4gIG9wYWNpdHk6IDA7IC8vIGpzIChsb2FkZXIpXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfaGVhZGVyX3RvcFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubF9oZWFkZXJfdG9wIHt9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2hlYWRlcl9zcF90b3Bcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfaGVhZGVyX3NwX3RvcCB7fVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbF9tYWluX3Zpc3VhbF90b3Bcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfbWFpbl92aXN1YWxfdG9wIHt9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX2NvbnRlbnRfdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX2NvbnRlbnRfdG9wIHt9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsX21haW5fdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX21haW5fdG9wIHt9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiDjgqLjg5fjg6rjg4Djgqbjg7Pjg63jg7zjg4lcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmx5LXNlY3Rpb24ge1xuICAmLmlzLXRvcCB7XG4gICAgLnNlY3Rpb24tYm9keTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAubW9kLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLW1lZGlhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgICAgfVxuXG4gICAgICBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLW5ld3MtYmFubmVyIHtcbiAgICBwYWRkaW5nOiAyNnB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblxuICAgIC5tb2QtYm94LWxpc3Qge1xuICAgICAgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXctaWNvbiB7fVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtdm9pY2Uge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAubW9kLWJveCB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5tb2QtYm94LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1vZC1ib3gtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb2QtYm94LWFjdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIC5tb2QtYm94LWFubm90YXRpb24ge1xuICAgICAgICAmLmlzLXZvaWNlLW9mZmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYWN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudm9pY2UtcmVhZCB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICBjb2xvcjogIzNmMzkzNTtcbiAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFwcCB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1uZXdzIHtcbiAgICBwYWRkaW5nOiA3MHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjhmNjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgLm1vZC1ib3gtbGlzdCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5uZXctaWNvbiB7fVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2QtYm94LXRleHQge1xuICAgICAgJi5pcy1uZXdzLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDA7XG4gICAgfVxuICB9XG5cbiAgJi5sdi0zIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vZC1ib3gge1xuICAubW9kLWJveC1hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAubW9kLWJveC1saXN0IHtcbiAgICA+IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC0xZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuaXMtbmV3IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9wYy9jb21tb24vaWNvbl9uZXcucG5nXCIpO1xuICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvc3AvY29tbW9uL2ljb25fbmV3LnBuZ1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM3cHggMTFweDtcbiAgICAgICAgICB3aWR0aDogMzdweDtcbiAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubW9kLXRleHQtYW5ub3RhdGlvbiB7XG4gICAgbGVmdDogLTAuNGVtO1xuICB9XG5cbiAgLnNlY3Rpb24tZGVzY3JpcHRpb24tYW5ub3RhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogIzNmMzkzNTtcbiAgfVxuXG4gICYuaXMtY2FzZS1saXN0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcblxuICAgIC5tb2QtYm94LWxlZnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgIC5tb2QtYm94LWxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG5cbiAgICAgICAgLm1vZC1sYWJlbCB7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1ib3gtcmlnaHQge1xuICAgICAgd2lkdGg6IDY2JTtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogNDglO1xuICAgICAgfVxuXG4gICAgICAubW9kLWJveC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubW9kLWJveC10ZXh0IHtcbiAgICAgICAgJi5oYXMtbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubW9kLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgICAgICYuaXMtcHJlZmVjdHVyZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDA7XG5cbiAgICAgICAgICAgICAgJi5pcy1wcmVmZWN0dXJlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1ib3gtbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLm1vZC1ib3gtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hcHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xX21pbl83Njkge1xuICAgICAgJi5fc2luZ2xlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygzNTBweCArIDEwJSk7XG5cbiAgICAgICAgLmFwcC13cmFwIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzUwcHg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIGltZy5idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYXBwLXdyYXAge1xuICAgICAgZmxleDogMCAxIDQ1JTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcblxuICAgICAgJi5fdGV4dG1pbiB7XG4gICAgICAgIC5hcHAtY2FwdGlvbiB7XG4gICAgICAgICAgLmFwcC1jYXB0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIC5tb2QtYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gSWNvbuOBqOOCv+OCpOODiOODq+ODu+iqrOaYjlxuICAgICAgLmFwcC1jYXB0aW9uIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgLmFwcC1jYXB0aW9uLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAgICAgICAuaWNvbi1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwLWNhcHRpb24tdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAubW9kLWJveC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm1vZC1ib3gtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQXBwU3RvcmUgR29vZ2xlUGxheVxuICAgICAgLmFwcC1zdG9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgLmFwcC1zdG9yZS1idG4ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAgICAgICAuc3RvcmUtYnRuLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kLWJveCB7XG4gICYuaXMtYXBwIHtcbiAgICAuYXBwLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgLm1vZC1ib3gge1xuICAgICYuaXMtYXBwIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmFwcC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuYXBwLWlubmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcC1jYXB0aW9uIHtcbiAgICAgICAgICAuYXBwLWNhcHRpb24taWNvbiB7XG4gICAgICAgICAgICAuaWNvbi1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYXBwLWNhcHRpb24tdGl0bGUge1xuICAgICAgICAgICAgLm1vZC1ib3gtdGl0bGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2QtYm94LXRleHQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfZW1lcmdlbmN5XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX2VtZXJnZW5jeSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHotaW5kZXg6IDk5NjtcbiAgYmFja2dyb3VuZDogI2U1NDU0NTtcbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG5cbiAgPiAuaW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBmbGV4X3NjYztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAzNnB4O1xuICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgcGFkZGluZzogMCA1NHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jb21tb24vaWNvbl9jYXV0aW9uLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMCB1cmwoJy4uL2ltZy9jb21tb24vaWNvbl9tb2RhbC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci81MCUgNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcnRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICB9XG4gICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAycHggMDtcblxuICAgICAgLnR4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJGNvbG9yXzA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCA5NSUsICRjb2xvcl8wIDAlKTtcbiAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxfbW9kYWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxfbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gID4gLm91dGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgZmxleF9zY2M7XG5cbiAgICA+IC5pbm5lciB7XG4gICAgICB3aWR0aDogNzQwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfMDtcbiAgICAgIHBhZGRpbmc6IDYwcHggNDBweCA2MHB4IDYwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LWhlaWdodDogODAlO1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMjBweCA1MHB4IDM1cHg7XG4gICAgICB9XG5cbiAgICAgICNtb2RhbHR4dCB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogIzAwOWZlODtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwOWZlODtcblxuICAgICAgICAgICYub3V0bGluayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jb21tb24vaWNvbl9vdXRsaW5rLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyL2NvbnRhaW47XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuX19tYXgxMDAge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgI21vZGFsdHh0IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI2Nsb3NlYnRuIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yXzIgdXJsKCcuLi9pbWcvY29tbW9uL2ljb25fY2xvc2Uuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvNDAlIDQwJTtcbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC53cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dHdyYXAge1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudHRsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50eHQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5fYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpc3RfMDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7fVxuXG4gIC5pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICBtYXgtd2lkdGg6IDQ2JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgJi5lbXR5IHtcbiAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubm8tbWcge1xuICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHt9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIG1xX21heF83Njgge31cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXFfbWF4Xzc2OCB7fVxuICAgICAgfVxuXG4gICAgICAuYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHt9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNfYnRuXzEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBtcV9tYXhfNzY4IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vLyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB6LWluZGV4XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sX2xvYWRlciB7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5sX21lbnVfc3Age1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5sX2hlYWRlciB7XG4gIHotaW5kZXg6IDk5ODtcbn1cblxuLmxfaGVhZGVyX3NwIHtcbiAgei1pbmRleDogOTk4O1xufVxuXG4uY19idG5fcF90b3Age1xuICB6LWluZGV4OiA5OTc7XG59XG5cbi5sX3NpZGUge1xuICB6LWluZGV4OiA5OTY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHBfdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sX21lbnVfc3BfdG9wIHtcbiAgei1pbmRleDogOTk5O1xufVxuXG4ubF9oZWFkZXJfdG9wIHtcbiAgei1pbmRleDogOTk4O1xufVxuXG4ubF9oZWFkZXJfc3BfdG9wIHtcbiAgei1pbmRleDogOTk4O1xufVxuXG4uY19idG5fcF90b3BfdG9wIHtcbiAgei1pbmRleDogOTk3O1xufVxuXG4ubF9zaWRlX3RvcCB7XG4gIHotaW5kZXg6IDk5Njtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0E7Ozs7Ozs7Ozs7O3lFQVd5RTtBcUVkekU7O3lFQUV5RTtBQUN6RSxBQUFBLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxNQUFNO0NBQ25COztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLENBQUM7RUFDZCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUNEO3FHQUNxRztBQUNyRyxBQUFBLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFF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 */
