/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Iqbal Wahyudi Pratama - iqbalwahyudip.com
==============================================================================================*/
@import url("https://fonts.googleapis.com/css?family=Muli:300,400,700|Roboto:300,400,700,900|Lato:300,400,700");
/*
    Taken From : http://serenedestiny.com/blog/web-development/lets-create-the-perfect-css-reset; 
    Reset all your HTML Element to condition zero.
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

textarea {
  overflow: auto;
  margin: 0;
}

input {
  border: 0px solid white;
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* global
----------------------------------------------------------------------------------------------*/
a {
  color: #29308e;
  text-decoration: none;
  outline: none;
}

a:hover {
  cursor: pointer;
  color: #333333;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input, textarea, select {
  font-size: 12px;
  font-family: arial,tahoma, times new roman;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 4px;
  margin: 0;
  color: #666;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

del {
  text-decoration: line-through;
}

th {
  font-weight: normal;
}

.left {
  float: left;
  display: inline;
}

.right {
  float: right;
  display: inline;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.clear {
  clear: both;
  padding: 0;
  margin: 0;
}

.before_clear:before,
.after_clear:after {
  content: '';
  display: block;
  clear: both;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 24px;
}

h3 {
  font-size: 18px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 14px;
}

/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
body {
  color: #333;
  font-size: 12px;
  font-family: 'Roboto', sans-serif;
  position: relative;
  overflow-x: hidden;
}

figure {
  margin: 0;
  padding: 0;
}

figure img {
  vertical-align: top;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

p {
  margin: 1px 0 15px;
  line-height: 20px;
}

input, textarea, select {
  font-size: 12px;
  border: none;
  border: 1px solid #D8D8D8;
  padding: 10px;
  margin: 0;
  color: #666;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: 'Roboto', sans-serif;
}

input[type=checkbox], input[type=radio] {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 30px;
}

h4 {
  font-size: 24px;
  font-weight: 700;
  color: #002d72;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 16px;
  font-weight: 700;
}

/* structure 
----------------------------------------------------------------------------------------------*/
section {
  position: relative;
}

.wrapper {
  width: 1200px;
  margin: 0 auto;
}

.wrap-large {
  width: 1360px;
  margin: 0 auto;
}

.wrap-small {
  width: 820px;
  margin: 0 auto;
}

/* global
----------------------------------------------------------------------------------------------*/
.after_clear:after, .wrapper:after, .wrap-large:after, .wrap-small:after, section:after {
  clear: both;
  display: block;
  content: " ";
}

.before_clear:before {
  clear: both;
  display: block;
  content: " ";
}

.a-left {
  text-align: left;
}

.a-right {
  text-align: right;
}

.a-center {
  text-align: center;
}

.italic {
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.regular {
  font-weight: lighter;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.clear {
  clear: both;
}

.line-link {
  font-size: 14px;
  color: #666666;
  font-weight: 400;
  position: relative;
  padding-right: 60px;
  font-style: italic;
}

.line-link:after {
  content: "";
  width: 40px;
  height: 3px;
  background: #244486;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1px;
  transition: 0.2s width;
  -webkit-transition: 0.2s width;
  -moz-transition: 0.2s width;
  -ms-transition: 0.2s width;
  -o-transition: 0.2s width;
}

.line-link.ln-left {
  padding-left: 60px;
  padding-right: 0;
}

.line-link.ln-left:after {
  right: auto;
  left: 0;
}

.line-link.ln-nor {
  font-style: normal;
}

.line-link:hover {
  color: #002d72;
}

.line-link:hover:after {
  width: 50px;
}

.link-icon {
  padding-left: 52px;
  position: relative;
  font-size: 12px;
  color: #666666;
  font-style: italic;
  padding-top: 4px;
  letter-spacing: 1px;
  line-height: 20px;
}

.link-icon .icwp {
  position: absolute;
  top: 0;
  left: 0;
}

.link-icon.lnormal {
  font-style: normal;
  letter-spacing: 0;
  padding-left: 35px;
}

.link-icon:hover {
  color: #002d72;
}

.hblack {
  font-weight: 900;
  color: #000;
}

.hbold, .gn-content .hbold {
  font-weight: 700;
  color: #333333;
}

.bg-grey {
  background: #f2f2f2;
}

.btn-box {
  height: 40px;
  line-height: 40px;
  background: #e8e8e8;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  color: #666666;
  padding: 0 24px;
}

.btn-box .ic_arrow_link {
  margin-left: 10px;
}

.btn-submit {
  width: 230px;
  height: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #002d72;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
}

/* icons icwp 
-----------------------------------------*/
.icwp {
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: top center;
  display: inline-block;
  position: relative;
}

.icwp:hover {
  background-position: bottom center;
}

.icwp.ic_world {
  background-image: url("../images/material/ic_world.png");
  width: 18px;
  height: 18px;
}

.icwp.ic_photo {
  background-image: url("../images/material/ic_photo.png");
  width: 12px;
  height: 12px;
}

.icwp.ic_docs {
  background-image: url("../images/material/ic_docs.png");
  width: 14px;
  height: 16px;
}

.icwp.ic_home {
  background-image: url("../images/material/ic_home.png");
  width: 14px;
  height: 11px;
}

.icwp.ic_share {
  background-image: url("../images/material/ic_share.png");
  width: 16px;
  height: 16px;
}

.icwp.ic_arrow_link {
  background-image: url("../images/material/ic_arrow_link.png");
  width: 5px;
  height: 10px;
}

.icwp.ic_video_sm {
  background-image: url("../images/material/ic_video_sm.png");
  width: 7px;
  height: 10px;
}

.icwp.ic_audio {
  background-image: url("../images/material/ic_audio.png");
  width: 13px;
  height: 11px;
}

.icwp.ic_pdf {
  background-image: url("../images/material/ic_pdf.png");
  width: 26px;
  height: 24px;
}

.icwp.ic_eye {
  background-image: url("../images/material/ic_eye.png");
  width: 18px;
  height: 18px;
}

/* end icons icwp 
-----------------------------------------*/
/* row list styles 
-----------------------------------------*/
.row_list {
  margin-left: -15px;
  margin-right: -15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row_list * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row_list:after {
  content: "";
  display: table;
  clear: both;
}

.row_list .col {
  width: 100%;
  padding: 0 15px;
  float: left;
}

.row_list .col.fr {
  float: right;
}

.row_list .col.no-pad {
  padding: 0;
}

.row_list .col.marg28 {
  margin-bottom: 28px;
}

.row_list .col.col_9 {
  width: 90%;
}

.row_list .col.col_8 {
  width: 80%;
}

.row_list .col.col_7 {
  width: 70%;
}

.row_list .col.col_66 {
  width: 66.66666666666666%;
}

.row_list .col.col_65 {
  width: 65%;
}

.row_list .col.col_6 {
  width: 60%;
}

.row_list .col.col_55 {
  width: 55%;
}

.row_list .col.col_5 {
  width: 50%;
}

.row_list .col.col_45 {
  width: 45%;
}

.row_list .col.col_4 {
  width: 40%;
}

.row_list .col.col_37 {
  width: 37%;
}

.row_list .col.col_35 {
  width: 35%;
}

.row_list .col.col_33 {
  width: 33.3333333333333%;
}

.row_list .col.col_3 {
  width: 30%;
}

.row_list .col.col_25 {
  width: 25%;
}

.row_list .col.col_2 {
  width: 20%;
}

.row_list .col.col_16 {
  width: 16.66666666666666%;
}

.row_list .col.col_1 {
  width: 10%;
}

.row_list.center {
  text-align: center;
}

.row_list.center .col {
  float: none;
  display: inline-block;
}

.row_list.listfull {
  margin-left: 0;
  margin-right: 0;
}

.row_list.listfull .col {
  padding: 0;
}

.row_list.listp5 {
  margin-left: -5px;
  margin-right: -5px;
}

.row_list.listp5 .col {
  padding: 0 5px;
}

/* end row list styles 
---------------

/* header
----------------------------------------------------------------------------------------------*/
header {
  position: fixed;
  padding-top: 5px;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: #fff;
}

header:before {
  content: "";
  height: 5px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #002d72;
}

header .head-top {
  font-family: "Muli";
}

header .head-top:after {
  content: "";
  clear: both;
  display: block;
}

header .head-top a {
  color: #999999;
  transition: 0.2s color;
  -webkit-transition: 0.2s color;
  -moz-transition: 0.2s color;
  -ms-transition: 0.2s color;
  -o-transition: 0.2s color;
}

header .head-top a:hover {
  color: #002d72;
}

header .head-top .box-in-top {
  float: right;
  text-align: right;
}

header .head-top .link-head-top, header .head-top .box-lang, header .head-top .box-search {
  display: inline-block;
  padding: 0 20px;
  position: relative;
}

header .head-top .link-head-top {
  padding: 11px 20px;
}

header .head-top .link-head-top:after {
  content: "";
  width: 1px;
  height: 20px;
  background: #e2e2e2;
  position: absolute;
  top: 8px;
  right: 0;
}

header .head-top .box-search {
  width: 55px;
  height: 40px;
  background: #002d72;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: right;
  margin-left: 15px;
}

header .head-top .box-search > span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../images/material/ic_search.png") no-repeat center;
  cursor: pointer;
}

header .head-top .box-search .drop-search {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: none;
  padding-right: 50px;
}

header .head-top .box-search .drop-search input {
  background: #fff;
  border: 1px solid #a5a5a5;
  color: #a5a5a5;
  width: 422px;
  font-size: 14px;
  float: left;
  height: 40px;
  padding: 0 12px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

header .head-top .box-search .drop-search ::-webkit-input-placeholder {
  color: #a5a5a5;
}

header .head-top .box-search .drop-search :-moz-placeholder {
  color: #a5a5a5;
}

header .head-top .box-search .drop-search ::-moz-placeholder {
  color: #a5a5a5;
}

header .head-top .box-search .drop-search :-ms-input-placeholder {
  color: #a5a5a5;
}

header .head-top .box-search .drop-search .btn-search-head {
  width: 55px;
  height: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #002d72 url("../images/material/ic_close.png") no-repeat center;
  border: none;
  float: left;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

header .head-bottom {
  display: block;
  position: relative;
  padding-top: 5px;
  padding-bottom: 15px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

header .head-bottom:after {
  content: "";
  display: block;
  clear: both;
}

header .head-bottom .logo {
  position: relative;
  font-family: "Avenir";
  font-weight: 700;
  color: #000000;
  font-size: 18px;
  text-transform: uppercase;
  height: 70px;
  float: left;
}

header .head-bottom .logo a {
  color: #000;
}

header .head-bottom .logo img {
  width: 350px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

header .head-bottom .head-right {
  float: right;
  padding-top: 40px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

header .head-bottom nav {
  float: left;
  font-size: 16px;
  color: #000;
  margin-right: 33px;
}

header .head-bottom nav a {
  color: #000;
  transition: 0.2s color;
  -webkit-transition: 0.2s color;
  -moz-transition: 0.2s color;
  -ms-transition: 0.2s color;
  -o-transition: 0.2s color;
}

header .head-bottom nav a:hover {
  color: #002d72;
}

header .head-bottom nav .list {
  margin: 0 15px;
  float: left;
  padding: 5px 0;
  transition: 0.2s top;
  -webkit-transition: 0.2s top;
  -moz-transition: 0.2s top;
  -ms-transition: 0.2s top;
  -o-transition: 0.2s top;
  position: relative;
}

header .head-bottom nav .list:before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 0;
  background: #002d72;
  transition: 0.2s height;
  -webkit-transition: 0.2s height;
  -moz-transition: 0.2s height;
  -ms-transition: 0.2s height;
  -o-transition: 0.2s height;
}

header .head-bottom nav .list:hover:before {
  height: 2px;
}

header .head-bottom .burg-menu {
  width: 30px;
  height: 24px;
  position: relative;
  float: left;
  cursor: pointer;
  /*
            &.close{
                span{background: $white;}
            }*/
}

header .head-bottom .burg-menu span {
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 3px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  background: #002d72;
  transition: 0.3s width;
  -webkit-transition: 0.3s width;
  -moz-transition: 0.3s width;
  -ms-transition: 0.3s width;
  -o-transition: 0.3s width;
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
  -moz-transition: 0.3s ease-out;
  -ms-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
}

header .head-bottom .burg-menu span:nth-child(2) {
  top: 10px;
}

header .head-bottom .burg-menu span:last-child {
  top: 21px;
}

header .head-bottom .burg-menu:hover span:first-child {
  width: 15px;
}

header.float .head-bottom {
  padding-top: 20px;
}

header.float .head-bottom .logo {
  height: 50px;
}

header.float .head-bottom .logo img {
  width: 250px;
}

header.float .head-bottom .head-right {
  padding-top: 22px;
}

.box-lang {
  padding: 11px 20px;
  text-align: center;
}

.box-lang:after {
  content: "";
  border-top: 7px solid #b7b7b7;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -3px;
}

.box-lang .drop-lang {
  position: absolute;
  top: 100%;
  left: 5px;
  right: 5px;
  text-align: center;
  background: #fff;
  display: none;
  z-index: 1;
}

.box-lang .drop-lang .list {
  padding: 5px 0;
  display: block;
}

.box-burg-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: none;
}

.box-burg-menu .bg {
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.box-burg-menu .inner-burg-menu {
  z-index: 2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 457px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #002d72;
  color: #fff;
  overflow: auto;
}

.box-burg-menu .inner-burg-menu .box-sc-menu {
  position: absolute;
  top: 180px;
  left: 58px;
  right: 58px;
  bottom: 90px;
  overflow: auto;
  padding: 30px 0;
}

.box-burg-menu .inner-burg-menu .box-sc-menu .mCSB_scrollTools .mCSB_draggerRail {
  /*background: transparent;*/
}

.box-burg-menu .inner-burg-menu .box-sc-menu .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: transparent;
}

.box-burg-menu .inner-burg-menu .box-sc-menu .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background: rgba(255, 255, 255, 0.75);
}

.box-burg-menu .inner-burg-menu a {
  color: #fff;
  transition: 0.2s color ease-out;
  -webkit-transition: 0.2s color ease-out;
  -moz-transition: 0.2s color ease-out;
  -ms-transition: 0.2s color ease-out;
  -o-transition: 0.2s color ease-out;
}

.box-burg-menu .inner-burg-menu a:hover {
  color: #fec107;
}

.box-burg-menu .inner-burg-menu .close-burg {
  position: absolute;
  top: 97px;
  left: 48px;
  height: 28px;
  cursor: pointer;
  width: 30px;
  cursor: pointer;
  z-index: 1;
}

.box-burg-menu .inner-burg-menu .close-burg span {
  display: inline-block;
  width: 30px;
  height: 3px;
  background: #fff;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 0;
  transform-origin: 50%;
  -webkit-transform-origin: 50%;
  -moz-transform-origin: 50%;
  -ms-transform-origin: 50%;
  -o-transform-origin: 50%;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

.box-burg-menu .inner-burg-menu .close-burg span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  background: #f03f34;
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
  -moz-transition: 0.3s ease-out;
  -ms-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
}

.box-burg-menu .inner-burg-menu .close-burg span:last-child {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.box-burg-menu .inner-burg-menu .close-burg:hover span:before {
  width: 100%;
}

.box-burg-menu .inner-burg-menu nav {
  margin-bottom: 90px;
}

.box-burg-menu .inner-burg-menu nav .list {
  font-size: 24px;
  line-height: 28px;
  padding: 23px 13px;
  border-bottom: 1px solid #0e418e;
  position: relative;
}

.box-burg-menu .inner-burg-menu nav .list > a {
  display: block;
}

.box-burg-menu .inner-burg-menu nav .list .box-child {
  position: relative;
  display: block;
  padding-top: 10px;
  display: none;
}

.box-burg-menu .inner-burg-menu nav .list .box-child a {
  display: block;
  padding: 10px 0 10px 30px;
  font-size: 20px;
}

.box-burg-menu .inner-burg-menu nav .list.drop > a {
  position: relative;
  padding-right: 37px;
}

.box-burg-menu .inner-burg-menu nav .list.drop > a:before {
  content: "";
  background: url("../images/material/ic_arrow_right.png") no-repeat center;
  height: 12px;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -6px;
  transform-origin: 50%;
  -webkit-transform-origin: 50%;
  -moz-transform-origin: 50%;
  -ms-transform-origin: 50%;
  -o-transform-origin: 50%;
  transition: 0.2s transform;
  -webkit-transition: 0.2s transform;
  -moz-transition: 0.2s transform;
  -ms-transition: 0.2s transform;
  -o-transition: 0.2s transform;
}

.box-burg-menu .inner-burg-menu nav .list.drop.active > a:before {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}

.box-burg-menu .inner-burg-menu nav .list.drop.active .box-child {
  display: block;
}

.box-burg-menu .inner-burg-menu .box-search-burg input[type=text] {
  width: 100%;
  height: 60px;
  background: url("../images/material/ic_search_small.png") no-repeat center right;
  border: 1px solid #3766ae;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 48px 0 27px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  font-size: 16px;
  color: #fff;
}

.box-burg-menu .inner-burg-menu .box-search-burg ::-webkit-input-placeholder {
  color: #fff;
}

.box-burg-menu .inner-burg-menu .box-search-burg :-moz-placeholder {
  color: #fff;
}

.box-burg-menu .inner-burg-menu .box-search-burg ::-moz-placeholder {
  color: #fff;
}

.box-burg-menu .inner-burg-menu .box-search-burg :-ms-input-placeholder {
  color: #fff;
}

.box-burg-menu .inner-burg-menu .box-lang-right {
  font-size: 18px;
  position: relative;
  margin-bottom: 20px;
}

.box-burg-menu .inner-burg-menu .box-lang-right:after {
  content: "";
  display: block;
  clear: both;
}

.box-burg-menu .inner-burg-menu .box-lang-right label {
  float: left;
}

.box-burg-menu .inner-burg-menu .box-lang-right .box-lang {
  float: right;
  padding: 2px 30px 2px 0;
}

.box-burg-menu .inner-burg-menu .box-lang-right .box-lang:after {
  top: 12px;
}

.box-burg-menu .inner-burg-menu .box-lang-right .box-lang .drop-lang {
  position: relative;
  background: transparent;
}

/* middle
----------------------------------------------------------------------------------------------*/
.content {
  padding-top: 135px;
}

.h-about {
  position: relative;
  overflow: hidden;
}

.h-about .trig-slide {
  position: absolute;
  top: 200px;
  left: 0;
  right: 0;
}

.trig-pilar {
  position: relative;
  top: 250px;
}

.trig-banner {
  position: relative;
  top: 100px;
}

.box-slide-ab {
  position: relative;
}

.box-slide-ab .nav-slide-ab {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.sliderabout .list {
  position: relative;
}

.sliderabout .list .desc {
  position: absolute;
  top: 246px;
  left: 80px;
  color: #fff;
  width: 785px;
}

.sliderabout .list .desc span {
  display: inline-block;
  padding: 8px 10px;
  background: rgba(0, 0, 0, 0.69);
  font-weight: 900;
  font-size: 11px;
  text-transform: uppercase;
}

.sliderabout .list .desc h2 {
  font-size: 50px;
  font-weight: 300;
  font-size: 50px;
  line-height: 55px;
  background: rgba(0, 0, 0, 0.5);
  padding: 17px 8px;
  color: #fff;
}

.nav-slide-ab .list-nav {
  width: 20%;
  height: 104px;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 25px;
  display: table;
  vertical-align: middle;
  color: #fff;
  margin-top: 10px;
  position: relative;
  overflow: inherit;
  transition: 0.2s height ease-out;
  -webkit-transition: 0.2s height ease-out;
  -moz-transition: 0.2s height ease-out;
  -ms-transition: 0.2s height ease-out;
  -o-transition: 0.2s height ease-out;
  cursor: pointer;
}

.nav-slide-ab .list-nav span {
  display: table-cell;
  font-size: 14px;
  font-weight: 300;
  vertical-align: middle;
  line-height: 16px;
}

.nav-slide-ab .list-nav:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
}

.nav-slide-ab .list-nav:after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 0;
  background: #0054a6;
  width: 100%;
  margin: 0 auto;
  opacity: 0;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.nav-slide-ab .list-nav.slick-current:before, .nav-slide-ab .list-nav:hover:before {
  top: -5px;
}

.nav-slide-ab .list-nav.slick-current:after, .nav-slide-ab .list-nav:hover:after {
  height: 5px;
  opacity: 1;
  margin-bottom: 5px;
}

.box-desc-ab {
  padding: 60px 0 60px 210px;
  position: relative;
}

.box-desc-ab:after {
  content: "";
  clear: both;
  display: block;
}

.box-desc-ab .box-t-ab {
  width: 190px;
  margin-right: 20px;
  position: absolute;
  top: 60px;
  left: 0;
}

.box-desc-ab .box-t-ab span {
  font-size: 18px;
  color: #000000;
  font-weight: 300;
  display: block;
  margin-bottom: 8px;
}

.box-desc-ab .box-t-ab h3 {
  font-weight: 700;
  color: #244486;
  text-transform: uppercase;
  font-size: 26px;
  letter-spacing: 1px;
}

.box-desc-ab .desc-left, .box-desc-ab .desc-right {
  width: 50%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 20px;
  float: left;
}

.box-desc-ab .desc-left {
  font-size: 23px;
  line-height: 38px;
  color: #404040;
  font-weight: 300;
}

.box-desc-ab .desc-right {
  font-size: 18px;
  line-height: 30px;
  color: #666666;
}

.pilar {
  position: relative;
  padding: 130px 0 110px;
  overflow: hidden;
}

.pilar .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
}

.pilar .box-list-pilar {
  margin-top: 46px;
  margin-bottom: 170px;
}

.title-pilar {
  text-align: center;
  position: relative;
  padding-bottom: 30px;
}

.title-pilar:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 40px;
  height: 3px;
  margin: 0 auto;
  background: #244486;
}

.title-pilar h2 {
  font-size: 45px;
  font-weight: 700;
  text-transform: uppercase;
  color: #244486;
  margin-bottom: 5px;
}

.title-pilar h3 {
  font-size: 28px;
  font-weight: 300;
  text-transform: uppercase;
  color: #244486;
  letter-spacing: 3px;
}

.title-pilar .three-pilar {
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #949494;
  font-size: 120px;
  font-weight: 900;
  position: absolute;
  top: -87px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  z-index: -1;
}

.box-list-pilar {
  display: block;
  width: 940px;
  margin: 0 auto;
  position: relative;
  /*&:before{content: ""; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px dashed #a1a1a1; z-index: -1;}*/
}

.box-list-pilar:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-pilar .list-pilar {
  width: 220px;
  height: 220px;
  float: left;
  max-width: 100%;
  border: 3px solid #244486;
  color: #fff;
  display: table;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  vertical-align: middle;
  text-align: center;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 25px;
  cursor: pointer;
}

.box-list-pilar .list-pilar .desc-pilar {
  position: absolute;
  top: 240px;
  left: 0;
  text-align: center;
  font-size: 16px;
  color: #333333;
  line-height: 26px;
  opacity: 0;
  transition: 0.2s all;
  -webkit-transition: 0.2s all;
  -moz-transition: 0.2s all;
  -ms-transition: 0.2s all;
  -o-transition: 0.2s all;
}

.box-list-pilar .list-pilar:before {
  content: "";
  background: #244486;
  position: absolute;
  top: -1px;
  left: -1px;
  bottom: -1px;
  right: -1px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  z-index: -1;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.box-list-pilar .list-pilar:nth-child(2n) {
  margin: 0 140px;
}

.box-list-pilar .list-pilar a {
  color: #fff;
  display: table-cell;
  vertical-align: middle;
}

.box-list-pilar .list-pilar h3 {
  display: block;
  text-transform: uppercase;
  font-size: 26px;
  font-weight: 700;
  line-height: 30px;
}

.box-list-pilar .list-pilar .linev {
  position: absolute;
  top: 50%;
  left: 100%;
  width: 100%;
  border-top: 1px dashed #a1a1a1;
  z-index: -1;
}

.box-list-pilar .list-pilar.blue {
  border-color: #244486;
}

.box-list-pilar .list-pilar.blue:before {
  background: #244486;
}

.box-list-pilar .list-pilar.yellow {
  border-color: #fdd12a;
}

.box-list-pilar .list-pilar.yellow:before {
  background: #fdd12a;
}

.box-list-pilar .list-pilar.red {
  border-color: #f03f34;
}

.box-list-pilar .list-pilar.red:before {
  background: #f03f34;
}

.box-list-pilar .list-pilar:hover:before {
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
}

.box-list-pilar .list-pilar:hover .desc-pilar {
  opacity: 1;
  top: 250px;
}

.banner-lands {
  position: relative;
  min-height: 200px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0;
  box-shadow: 0 85px 50px 6px rgba(0, 0, 0, 0.03);
  -webkit-box-shadow: 0 85px 50px 6px rgba(0, 0, 0, 0.03);
  -moz-box-shadow: 0 85px 50px 6px rgba(0, 0, 0, 0.03);
  -ms-box-shadow: 0 85px 50px 6px rgba(0, 0, 0, 0.03);
  -o-box-shadow: 0 85px 50px 6px rgba(0, 0, 0, 0.03);
}

.banner-lands .bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.banner-lands .bg .bg-left {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: url("../images/material/bg-banner-left.png") no-repeat left center;
  background-size: cover;
  width: 126px;
}

.banner-lands .bg .bg-right {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background: url("../images/material/bg-banner-right.png") no-repeat right center;
  background-size: cover;
  width: 126px;
}

.banner-lands .wrapper {
  z-index: 2;
}

.banner-lands .logo-banner {
  float: left;
}

.banner-lands .desc-banner {
  float: right;
  width: 860px;
  font-size: 28px;
  font-weight: 300;
  color: #666666;
  padding-top: 20px;
}

.banner-lands .desc-banner p {
  margin-bottom: 20px;
  line-height: 36px;
}

.news-home {
  padding: 85px 0 95px;
  z-index: 2;
  position: relative;
  overflow: hidden;
}

.news-home .trig-news {
  position: absolute;
  top: 230px;
  left: 0;
  right: 0;
}

.news-home .box-list-thumb {
  margin-bottom: 60px;
}

.box-tit {
  margin-bottom: 25px;
}

.box-tit:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-thumb {
  margin: 0 -15px;
}

.box-list-thumb:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-thumb .list-thumb {
  width: 33.3333333333333333333%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
}

.box-list-thumb .list-thumb a {
  color: #333;
  transition: 0.2s color ease-out;
  -webkit-transition: 0.2s color ease-out;
  -moz-transition: 0.2s color ease-out;
  -ms-transition: 0.2s color ease-out;
  -o-transition: 0.2s color ease-out;
}

.box-list-thumb .list-thumb > a {
  display: table;
  vertical-align: middle;
}

.box-list-thumb .list-thumb figure {
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.box-list-thumb .list-thumb figure img {
  width: 100%;
  transition: 0.2s transform;
  -webkit-transition: 0.2s transform;
  -moz-transition: 0.2s transform;
  -ms-transition: 0.2s transform;
  -o-transition: 0.2s transform;
}

.box-list-thumb .list-thumb figure .info-top {
  position: absolute;
  top: 0;
  right: 0;
}

.box-list-thumb .list-thumb p {
  margin-bottom: 0;
}

.box-list-thumb .list-thumb .desc-thumb {
  font-size: 16.72px;
  font-weight: 700;
  color: #333;
  line-height: 18.58px;
}

.box-list-thumb .list-thumb .desc-thumb .info-date {
  font-size: 12px;
  color: #939393;
  text-transform: uppercase;
  line-height: 20px;
}

.box-list-thumb .list-thumb:hover figure img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}

.box-list-thumb .list-thumb:hover .desc-thumb {
  color: #f03f34;
  transition: 0.2s color ease-out;
  -webkit-transition: 0.2s color ease-out;
  -moz-transition: 0.2s color ease-out;
  -ms-transition: 0.2s color ease-out;
  -o-transition: 0.2s color ease-out;
}

.box-list-thumb.border .list-thumb {
  position: relative;
  margin-bottom: 40px;
}

.box-list-thumb.border .list-thumb:before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  border: 1px solid #eaeaea;
  z-index: -1;
}

.box-list-thumb.border .list-thumb figure {
  margin-bottom: 0;
}

.box-list-thumb.border .list-thumb .desc-thumb {
  padding: 22px 24px 27px;
  font-size: 20px;
  line-height: 26px;
  color: #3a3a3a;
  font-weight: 400;
}

.box-list-thumb.border .list-thumb .desc-thumb p {
  line-height: 26px;
}

.box-list-thumb.border .list-thumb.no-img {
  display: table;
  vertical-align: middle;
  height: 321px;
}

.box-list-thumb.border .list-thumb.no-img > figure {
  display: none;
}

.box-list-thumb.border .list-thumb.no-img p {
  line-height: 38px;
}

.box-list-thumb.border .list-thumb.no-img .info-top {
  position: absolute;
  top: 0;
  right: 15px;
}

.box-list-thumb.border .list-thumb.no-img .desc-thumb {
  font-size: 30px;
  line-height: 38px;
  display: table-cell;
  vertical-align: middle;
}

.box-list-thumb.border .list-thumb.wth-link .desc-thumb {
  padding-bottom: 77px;
}

.box-list-thumb.border .list-thumb.wth-link .link-icon {
  position: absolute;
  bottom: 22px;
  left: 39px;
}

.box-list-thumb.border .list-thumb:hover:before {
  box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  transition: 0.2s box-shadow ease-out;
  -webkit-transition: 0.2s box-shadow ease-out;
  -moz-transition: 0.2s box-shadow ease-out;
  -ms-transition: 0.2s box-shadow ease-out;
  -o-transition: 0.2s box-shadow ease-out;
}

.box-list-thumb.border .list-thumb:last-child:before {
  display: none;
}

.box-list-thumb.noshadow .list-thumb:hover figure {
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
}

.box-list-thumb.noshadow .list-thumb:hover .desc-thumb {
  box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
}

.info-top {
  width: 50px;
}

.info-top .bl, .info-top .gr {
  width: 50px;
  height: 50px;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 3px;
  font-size: 20px;
  line-height: 15px;
  text-transform: uppercase;
  font-weight: 700;
}

.info-top .bl span, .info-top .gr span {
  font-size: 11px;
  display: block;
  margin-top: 3px;
}

.info-top .bl {
  background: #002d72;
  position: relative;
}

.info-top .bl .icwp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.info-top .gr {
  background: #b6b6b6;
}

.de-info .bl, .de-info .gr {
  color: #fff;
  text-align: center;
  vertical-align: middle;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px 7px;
  font-size: 11px;
  line-height: 15px;
  text-transform: uppercase;
  font-weight: 700;
}

.de-info .bl {
  width: 24px;
  height: 24px;
  background: #002d72;
  position: relative;
}

.de-info .bl .icwp {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.de-info .gr {
  height: 24px;
  background: rgba(0, 0, 0, 0.5);
}

.de-info.grey {
  cursor: pointer;
}

.de-info.grey .bl, .de-info.grey .gr {
  color: #666666;
  text-transform: none;
  font-weight: 900;
  transition: 0.2s all;
  -webkit-transition: 0.2s all;
  -moz-transition: 0.2s all;
  -ms-transition: 0.2s all;
  -o-transition: 0.2s all;
}

.de-info.grey .gr {
  background: #e5e5e5;
}

.de-info.grey:hover .bl, .de-info.grey:hover .gr {
  color: #fff;
}

.de-info.grey:hover .gr {
  background: #666666;
}

.box-list-gallery {
  margin: 0 -15px;
}

.box-list-gallery .list-gallery {
  width: 50%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.box-list-gallery .list-gallery .desc-gallery {
  position: absolute;
  bottom: 17px;
  left: 0;
  right: 0;
  padding: 30px 41px;
  color: #fff;
  z-index: 4;
}

.box-list-gallery .list-gallery .desc-gallery h4 {
  color: #fff;
  display: block;
  margin-top: 15px;
  font-weight: 300;
  line-height: 28px;
  height: 54px;
  position: relative;
  top: 0;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  opacity: 0;
  top: 10px;
}

.box-list-gallery .list-gallery .desc-gallery .de-info {
  position: relative;
  top: 60px;
  transition: 0.3s all ease-out;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
}

.box-list-gallery .list-gallery .desc-gallery .de-info:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-gallery .list-gallery .slidephotos-home .desc-gallery {
  padding-left: 25px;
  padding-right: 25px;
}

.box-list-gallery .list-gallery .linkseeall {
  position: absolute;
  bottom: 25px;
  right: 40px;
  z-index: 20;
  color: #fff;
}

.box-list-gallery .list-gallery.vids:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: url("../images/material/fg-shadow-video.png") no-repeat bottom center;
  z-index: 3;
  cursor: pointer;
}

.box-list-gallery .list-gallery.vids iframe {
  width: 100%;
  height: 340px;
  z-index: 1;
}

.box-list-gallery .list-gallery.vids video {
  width: 100%;
  height: 340px;
  z-index: 1;
}

.box-list-gallery .list-gallery.vids figure {
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  z-index: 2;
}

.box-list-gallery .list-gallery.vids .playvid {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  margin-top: -25px;
  width: 81px;
  height: 81px;
  background: url("../images/material/ic_play.png") no-repeat center;
  z-index: 5;
  cursor: pointer;
}

.box-list-gallery .list-gallery.vids.playing:before {
  display: none;
}

.box-list-gallery .list-gallery:hover .desc-gallery h4 {
  top: 0;
  transition-delay: 0.1s;
  opacity: 1;
}

.box-list-gallery .list-gallery:hover .desc-gallery .de-info {
  top: 0;
}

.slidephotos-home .list {
  position: relative;
}

.slidephotos-home .list:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: url("../images/material/fg-shadow-video.png") no-repeat bottom center;
  z-index: 3;
  cursor: pointer;
}

.about-asean {
  position: relative;
  padding: 75px 0 55px;
  background: #f2f2f2 url("../images/material/bg-banner-flag.png") no-repeat right center;
  min-height: 300px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

.about-asean .desc-about-asean {
  width: 830px;
}

.about-asean .desc-about-asean h4 {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.about-asean .desc-about-asean p {
  font-size: 18px;
  line-height: 26px;
  color: #666666;
  margin-bottom: 30px;
}

.press-release {
  padding: 105px 0;
  position: relative;
  overflow: hidden;
}

.press-release .trig-release {
  position: absolute;
  top: 250px;
}

.box-h-release .left-release {
  width: 780px;
  float: left;
}

.box-h-release .left-release .box-tit {
  margin-bottom: 60px;
}

.box-h-release .right-release {
  width: 360px;
  float: right;
  border: 1px solid #d7d7d7;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px 40px;
}

.box-list-release {
  margin: 0 -12px;
}

.box-list-release .list-release {
  width: 50%;
  padding: 0 12px;
  float: left;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 138px;
  margin-bottom: 50px;
}

.box-list-release .list-release:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 1px;
  background: #c2c2c2;
  transition: 0.2s all;
  -webkit-transition: 0.2s all;
  -moz-transition: 0.2s all;
  -ms-transition: 0.2s all;
  -o-transition: 0.2s all;
}

.box-list-release .list-release .info-top {
  position: absolute;
  top: 0;
  left: 12px;
}

.box-list-release .list-release .info-top .bl {
  width: 41px;
  height: 41px;
}

.box-list-release .list-release .info-top .gr {
  width: 41px;
  height: 41px;
  font-size: 18px;
  line-height: 12px;
  padding: 9px 0;
}

.box-list-release .list-release .info-top .gr span {
  font-size: 10px;
}

.box-list-release .list-release .desc-release {
  padding-left: 62px;
  font-size: 18px;
  line-height: 20px;
  font-weight: 700;
  color: #333;
  transition: 0.2s all;
  -webkit-transition: 0.2s all;
  -moz-transition: 0.2s all;
  -ms-transition: 0.2s all;
  -o-transition: 0.2s all;
}

.box-list-release .list-release .desc-release a {
  color: #333;
}

.box-list-release .list-release:nth-child(2n+1) {
  clear: both;
}

.box-list-release .list-release:hover:after {
  height: 3px;
}

.box-list-release .list-release:hover .desc-release {
  padding-top: 3px;
}

.box-list-release .list-release:hover .desc-release a {
  color: #002d72;
}

.box-nav-content {
  position: relative;
}

.box-nav-content .nav-content {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: #fff url("../images/material/sh-btm.png") no-repeat bottom center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 60px;
}

.box-nav-content .nav-content a {
  color: #666666;
}

.box-nav-content .nav-content .left {
  padding: 0 0 0 31px;
  font-size: 14px;
  line-height: 60px;
  height: 60px;
  font-weight: 400;
  color: #666666;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 85%;
  overflow: hidden;
}

.box-nav-content .nav-content .left .icwp {
  margin-right: 7px;
}

.box-nav-content .nav-content .left span.ar-right {
  margin-right: 10px;
}

.box-nav-content .nav-content .left a.active {
  font-weight: 700;
}

.box-nav-content .nav-content .right {
  display: table;
  vertical-align: middle;
  height: 60px;
}

.box-nav-content .nav-content .right > span {
  font-size: 14px;
  font-weight: 400;
  color: #999;
  display: table-cell;
  vertical-align: middle;
}

.box-nav-content .nav-content .right .box-dots-menu {
  float: right;
  margin-left: 15px;
}

.box-dots-menu {
  position: relative;
}

.box-dots-menu .dots-menu {
  width: 60px;
  height: 60px;
  position: relative;
  background: #002d72;
  cursor: pointer;
}

.box-dots-menu .dots-menu span {
  width: 5px;
  height: 5px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #fff;
  position: absolute;
}

.box-dots-menu .dots-menu span:first-child {
  top: 19px;
  left: 28px;
}

.box-dots-menu .dots-menu span:nth-child(2) {
  top: 29px;
  left: 28px;
}

.box-dots-menu .dots-menu span:last-child {
  top: 39px;
  left: 28px;
}

.box-dots-menu .box-drop-dots-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background: #002d72;
  color: #fff;
  display: none;
  z-index: 2;
}

.box-dots-menu .box-drop-dots-menu ul {
  padding: 20px 0;
  margin: 0;
}

.box-dots-menu .box-drop-dots-menu ul li {
  padding: 13px 26px 13px 45px;
  min-width: 290px;
  font-size: 14px;
  font-weight: 700;
  text-align: right;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 0;
  position: relative;
  line-height: 20px;
}

.box-dots-menu .box-drop-dots-menu ul li:before {
  display: none;
}

.box-dots-menu .box-drop-dots-menu ul li a {
  color: #fff;
  display: block;
}

.box-dots-menu .box-drop-dots-menu ul li a:hover {
  color: #fec107;
}

.box-dots-menu .box-drop-dots-menu ul li.drop {
  position: relative;
  /*&:after{content: ""; position: absolute; top: 16px; left: 20px; width: 15px; height: 10px; background: url('../images/material/arrow-top.png') no-repeat center; @include transformOrigin(50%); @include transform(rotate(180deg)); background-size: 100%; @include transition(0.2s transform ease-out);}*/
  /*> a{padding-left: 20px;}*/
}

.box-dots-menu .box-drop-dots-menu ul li.drop .btncc {
  position: absolute;
  top: 4px;
  left: 10px;
  width: 35px;
  height: 30px;
  background: url("../images/material/arrow-top.png") no-repeat center;
  transform-origin: 50%;
  -webkit-transform-origin: 50%;
  -moz-transform-origin: 50%;
  -ms-transform-origin: 50%;
  -o-transform-origin: 50%;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  background-size: 15px;
  transition: 0.2s transform ease-out;
  -webkit-transition: 0.2s transform ease-out;
  -moz-transition: 0.2s transform ease-out;
  -ms-transition: 0.2s transform ease-out;
  -o-transition: 0.2s transform ease-out;
  cursor: pointer;
  /*&:hover{top: 17px;}*/
}

.box-dots-menu .box-drop-dots-menu ul li.drop.active {
  /*&:after{@include transform(rotate(0deg));}*/
}

.box-dots-menu .box-drop-dots-menu ul li.drop.active > a {
  color: #fec107;
}

.box-dots-menu .box-drop-dots-menu ul li.drop.active .btncc {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}

.box-dots-menu .box-drop-dots-menu ul li.drop.active ul {
  display: block;
}

.box-dots-menu .box-drop-dots-menu ul li ul {
  padding: 10px 0 0;
  display: none;
}

.box-dots-menu .box-drop-dots-menu ul li ul li {
  padding: 5px 20px 5px 0;
  min-width: 0;
}

.box-dots-menu .box-drop-dots-menu ul li ul li.active > a {
  color: #fec107;
}

.box-dots-menu .box-drop-dots-menu ul li.active > a {
  color: #fec107;
}

.gn-content {
  font-size: 16px;
  color: #333333;
}

.gn-content.bor-top {
  position: relative;
}

.gn-content.bor-top:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: #d7d7d7;
  z-index: 1;
}

.gn-content .hbold {
  margin-bottom: 20px;
}

.gn-content .hblue.hbold {
  color: #002d72;
}

.gn-content .tgrey {
  color: #666;
}

.gn-content .txt-i {
  font-style: italic;
  color: #666666;
  font-size: 18px;
  font-weight: 300;
}

.gn-content h3 {
  font-size: 36px;
  font-weight: 300;
  line-height: 42px;
  color: #666;
}

.gn-content h4 {
  line-height: 30px;
}

.gn-content h5 {
  color: #333333;
  font-size: 24px;
  line-height: 36px;
  font-weight: 300;
}

.gn-content ul {
  margin-top: 30px;
  margin-bottom: 20px;
}

.gn-content ul li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 10px;
}

.gn-content ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 15px;
  height: 3px;
  background: #fec107;
}

.gn-content ol li {
  margin-bottom: 5px;
  position: relative;
  padding-left: 22px;
}

.gn-content ol li:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #333333;
}

.gn-content table {
  border: 1px solid #999999;
  width: 100%;
}

.gn-content table thead {
  border-bottom: 1px solid #999999;
}

.gn-content table tr {
  border-bottom: 1px solid #999999;
}

.gn-content table tr:last-child {
  border-bottom: none;
}

.gn-content table th, .gn-content table td {
  color: #333;
  border-right: 1px solid #999;
  background: #96bdec;
}

.gn-content table th:last-child, .gn-content table td:last-child {
  border-right: none;
}

.gn-content table th:nth-child(2n), .gn-content table td:nth-child(2n) {
  background: #aeccef;
}

.gn-content table th {
  padding: 20px 26px;
  font-weight: 700;
  font-size: 18px;
}

.gn-content table td {
  padding: 26px;
  font-size: 16px;
  line-height: 20px;
}

.gn-content hr {
  border: none;
  display: block;
  height: 1px;
  background: #d8d8d8;
  margin: 10px 0;
}

.gn-content hr:after {
  content: "";
  clear: both;
  display: block;
}

.box-gallery-detail {
  font-size: 16px;
  line-height: 24px;
  padding: 20px 38px;
}

.box-gallery-detail p {
  line-height: 24px;
}

.box-inner-content {
  padding: 78px 0;
}

.box-aside {
  margin-bottom: 46px;
}

.box-aside:after {
  content: "";
  clear: both;
  display: block;
}

.box-aside aside, .box-aside article {
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  padding-top: 46px;
}

.box-aside aside {
  width: 370px;
  float: left;
  padding-right: 60px;
}

.box-aside aside:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 60px;
  height: 1px;
  background: #d8d8d8;
}

.box-aside article {
  width: 830px;
  float: right;
  max-width: 100%;
  color: #333;
  font-size: 16px;
  line-height: 24px;
}

.box-aside article:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #d8d8d8;
}

.box-aside article p {
  line-height: 28px;
}

.box-aside article a {
  text-decoration: underline;
}

.box-aside .tgrey {
  color: #666;
}

.box-aside.noborder {
  border: none;
}

.box-side-blue {
  position: relative;
}

.box-side-blue:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 370px;
  max-width: 100%;
  background: #002d72;
  z-index: -1;
}

.box-side-blue:after {
  content: "";
  clear: both;
  display: block;
}

.box-side-blue .left-side {
  float: left;
  width: 370px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
  padding: 100px 46px 50px 50px;
  color: #fff;
  font-size: 16px;
  line-height: 26px;
  background: #002d72;
}

.box-side-blue .left-side p {
  line-height: 26px;
}

.box-side-blue .left-side .line-h-top {
  position: absolute;
  top: 58px;
  left: 50px;
  width: 40px;
  height: 3px;
  background: #f03f34;
}

.box-side-blue .left-side .in-cap {
  position: absolute;
  bottom: 45px;
  left: 50px;
  font-style: italic;
  color: #fbc124;
  word-wrap: break-word;
  max-width: 26%;
}

.box-side-blue .right-side {
  float: right;
  width: 830px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 0;
}

.desc-flag .list {
  position: relative;
  margin-bottom: 25px;
}

.desc-flag .list:after {
  content: "";
  clear: both;
  display: block;
}

.desc-flag .list .ic {
  float: left;
  width: 100px;
  text-align: center;
}

.desc-flag .list .dc {
  float: right;
  width: 717px;
}

.box-img-map:after {
  content: "";
  display: block;
  clear: both;
}

.box-img-map .left {
  width: 487px;
}

.box-img-map .right {
  width: 327px;
}

.box-link-ic {
  position: relative;
  padding-left: 24px;
  font-size: 16px;
}

.box-link-ic:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  background: url("../images/material/ic_link.png") no-repeat left center;
  width: 14px;
  height: 14px;
}

.box-link-ic a {
  text-decoration: underline;
}

.box-tab-country .box-content-tab .list-tab {
  display: none;
}

.box-tab-country .box-content-tab .list-tab.active {
  display: block;
}

.box-list-country {
  margin: 28px -30px 120px;
}

.box-list-country:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-country .slick-list {
  padding: 0 20px;
}

.box-list-country .list {
  float: left;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
  margin-bottom: 80px;
}

.box-list-country .list figure {
  text-align: center;
}

.box-list-country .list img {
  -webkit-filter: grayscale(100%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  display: inline-block;
}

.box-list-country .list .tooltip {
  text-align: center;
  display: block;
  position: absolute;
  top: 90%;
  left: 0;
  right: 0;
  font-size: 14px;
  font-weight: 700;
  color: #777777;
  padding-top: 22px;
  opacity: 0;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.box-list-country .list .tooltip span {
  background: #fff;
  padding: 12px 22px;
  box-shadow: -6px 2px 12px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: -6px 2px 12px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -6px 2px 12px 0px rgba(0, 0, 0, 0.2);
  -ms-box-shadow: -6px 2px 12px 0px rgba(0, 0, 0, 0.2);
  -o-box-shadow: -6px 2px 12px 0px rgba(0, 0, 0, 0.2);
  position: relative;
  display: block;
  /*@include boxShadow(-4px 6px 13px -3px rgba(0,0,0,0.2));*/
}

.box-list-country .list .tooltip span:before {
  content: "";
  border-bottom: 12px solid #fff;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -6px;
}

.box-list-country .list:hover img {
  opacity: 0.5;
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}

.box-list-country .list:hover .tooltip {
  opacity: 1;
  top: 100%;
}

.box-list-country .list.active img {
  opacity: 1;
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}

.box-list-country .list.active .tooltip {
  opacity: 1;
  top: 100%;
}

.box-list-country .slick-prev, .box-list-country .slick-next {
  background-color: #b7b7b7;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  width: 28px;
  top: 0;
  height: 60px;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
}

.box-list-country .slick-prev:before, .box-list-country .slick-next:before {
  display: none;
}

.box-list-country .slick-prev {
  left: -32px;
  background-image: url("../images/material/arr-slide-prev.png");
}

.box-list-country .slick-next {
  right: -32px;
  background-image: url("../images/material/arr-slide-next.png");
}

.box-list-country.selected .list img {
  -webkit-filter: grayscale(100%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
}

.box-list-country.selected .list:hover img {
  opacity: 0.5;
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}

.box-list-country.selected .list:hover .tooltip {
  opacity: 1;
}

.box-list-country.selected .list.active img {
  opacity: 1;
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}

.box-list-country.selected .list.active .tooltip {
  opacity: 1;
}

.box-list-country:hover .list img {
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}

.box-prof-country {
  margin-bottom: 50px;
}

.box-prof-country:after {
  content: "";
  clear: both;
  display: block;
}

.box-prof-country .left-country {
  width: 288px;
  float: left;
}

.box-prof-country .left-country figure {
  margin-bottom: 30px;
}

.box-prof-country .left-country h6 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
}

.box-prof-country .left-country span {
  font-size: 18px;
  font-weight: 300;
  color: #666666;
}

.box-prof-country .right-country {
  width: 832px;
  float: right;
}

.box-prof-country .right-country .titl-country {
  margin-bottom: 35px;
  line-height: 38px;
}

.titl-country {
  display: block;
  position: relative;
}

.titl-country:after {
  content: "";
  clear: both;
  display: block;
}

.titl-country .fl {
  width: 65px;
  margin-right: 20px;
  position: absolute;
  top: 0;
  left: 0;
}

.titl-country .nm {
  font-size: 24px;
  font-weight: 700;
  color: #333333;
  padding-left: 85px;
  display: block;
}

.titl-country .nm i {
  font-style: italic;
  font-weight: 300;
}

.box-data-pres {
  width: 409px;
}

.box-data-pres:after {
  content: "";
  display: block;
  clear: both;
}

.box-data-pres .list-data-pres {
  display: block;
  margin-bottom: 18px;
  font-size: 15px;
  color: #333;
}

.box-data-pres .list-data-pres:after {
  content: "";
  display: block;
  clear: both;
}

.box-data-pres .list-data-pres .left {
  width: 218px;
  font-weight: 700;
}

.box-data-pres .list-data-pres .right {
  width: 179px;
}

.box-accordion .list-accordion {
  border-top: 1px solid #c2c2c2;
}

.box-accordion .list-accordion .btn-acc {
  position: relative;
  display: block;
  padding: 30px 50px 30px 30px;
  font-size: 20px;
  color: #666666;
  font-weight: 700;
  cursor: pointer;
  padding-right: 75px;
}

.box-accordion .list-accordion .btn-acc:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  bottom: 0;
  width: 0;
  background: #002d72;
  z-index: -1;
  opacity: 0;
  transition: 0.3s all;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
}

.box-accordion .list-accordion .btn-acc:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 22px;
  height: 13px;
  margin-top: -7px;
  background: url("../images/material/arrow-acc.png") no-repeat bottom center;
  transition: 0.3s all;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
}

.box-accordion .list-accordion .btn-acc .linev {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  background: #002d72;
  z-index: 1;
}

.box-accordion .list-accordion .box-content-acc {
  display: none;
  padding: 40px 0 40px;
}

.box-accordion .list-accordion:last-child {
  border-bottom: 1px solid #c2c2c2;
}

.box-accordion .list-accordion:hover .btn-acc {
  color: #fff;
}

.box-accordion .list-accordion:hover .btn-acc:before {
  width: 100%;
  opacity: 1;
}

.box-accordion .list-accordion.active .btn-acc {
  color: #fff;
}

.box-accordion .list-accordion.active .btn-acc:before {
  width: 100%;
  opacity: 1;
}

.box-accordion .list-accordion.active .btn-acc:after {
  background-position: top center;
}

.box-accordion .list-accordion.active .btn-acc .linev {
  background: #f03f34;
}

.box-accordion .list-accordion.active .box-content-acc {
  display: block;
}

.pagination {
  text-align: center;
  padding: 60px 0 30px;
}

.pagination a {
  color: #000;
  font-size: 14px;
  margin: 0 8px;
  display: inline-block;
  font-weight: 300;
  font-family: "Lato";
}

.pagination a.active {
  font-weight: 700;
}

.pagination a:hover {
  color: #da2128;
}

.pagination a.prev, .pagination a.next {
  position: relative;
  font-weight: 400;
}

.pagination a.prev {
  margin-right: 15px;
  padding-left: 24px;
}

.pagination a.prev:before {
  content: "";
  background: url("../images/material/arrow-left-paging.png") no-repeat left center;
  width: 12px;
  height: 24px;
  position: absolute;
  top: -5px;
  left: 0;
}

.pagination a.prev:hover {
  color: #da2128;
}

.pagination a.prev:hover:before {
  background-position: right center;
}

.pagination a.next {
  margin-left: 15px;
  padding-right: 24px;
}

.pagination a.next:before {
  content: "";
  background: url("../images/material/arrow-right-paging.png") no-repeat right center;
  width: 12px;
  height: 24px;
  position: absolute;
  top: -5px;
  right: 0;
}

.pagination a.next:hover {
  color: #da2128;
}

.pagination a.next:hover:before {
  background-position: left center;
}

.box-calendar {
  position: relative;
}

.box-calendar .box-event-detail {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #eaeaea;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 23px 33px;
  z-index: 1;
  border: 2px solid #002d72;
  display: none;
}

.box-calendar .box-list-event .list-event {
  width: 203px;
  margin-right: 98px;
  float: left;
  font-family: "Lato";
  color: #000000;
  margin-bottom: 30px;
}

.box-calendar .box-list-event .list-event:nth-child(4n) {
  margin-right: 0;
}

.box-calendar .box-list-event .list-event:nth-child(4n+1) {
  clear: both;
}

.box-calendar .box-list-event .list-event .title-event {
  position: relative;
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 15px;
  padding: 5px 0;
}

.box-calendar .box-list-event .list-event .title-event:before {
  content: "";
  position: absolute;
  top: 0;
  left: -17px;
  bottom: 0;
  width: 5px;
  background: #002d72;
}

.box-calendar .box-list-event .list-event .title-event h5 {
  font-size: 18px;
  font-weight: 700;
  color: #000000;
  line-height: 24px;
}

.box-calendar .box-list-event .list-event .title-event span {
  font-size: 16px;
}

.box-calendar .box-list-event .list-event .desc-event {
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
}

.calendar-event .ui-datepicker {
  width: 100%;
  background: #eaeaea;
  font-family: "Lato";
}

.calendar-event .ui-datepicker .ui-datepicker-header {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  padding: 0;
  border: none;
  margin-bottom: 45px;
}

.calendar-event .ui-datepicker .ui-datepicker-prev, .calendar-event .ui-datepicker .ui-datepicker-next {
  width: 200px;
  height: 40px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  display: block;
  top: 0;
}

.calendar-event .ui-datepicker .ui-datepicker-prev span, .calendar-event .ui-datepicker .ui-datepicker-next span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-indent: 0;
  margin: 0;
  width: 100%;
  height: 40px;
  display: inline-block;
  padding-top: 11px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  color: #8d8c8f;
  font-weight: 400;
  text-transform: uppercase;
}

.calendar-event .ui-datepicker .ui-datepicker-prev {
  left: 0;
}

.calendar-event .ui-datepicker .ui-datepicker-prev:before {
  content: "";
  width: 10px;
  height: 15px;
  background: url("../images/material/arrow-datepicker.png") no-repeat left center;
  position: absolute;
  top: 12px;
  left: 0;
}

.calendar-event .ui-datepicker .ui-datepicker-prev span {
  padding-left: 25px;
}

.calendar-event .ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover {
  border: none;
  font-weight: 400;
}

.calendar-event .ui-datepicker .ui-datepicker-next {
  text-align: right;
  right: 0;
}

.calendar-event .ui-datepicker .ui-datepicker-next:before {
  content: "";
  width: 10px;
  height: 15px;
  background: url("../images/material/arrow-datepicker.png") no-repeat right center;
  position: absolute;
  top: 12px;
  right: 0;
}

.calendar-event .ui-datepicker .ui-datepicker-next span {
  padding-right: 25px;
}

.calendar-event .ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover {
  border: none;
  font-weight: 400;
}

.calendar-event .ui-datepicker .ui-state-hover, .calendar-event .ui-datepicker .ui-widget-content .ui-state-hover, .calendar-event .ui-datepicker .ui-widget-header .ui-state-hover, .calendar-event .ui-datepicker .ui-state-focus, .calendar-event .ui-datepicker .ui-widget-content .ui-state-focus, .calendar-event .ui-datepicker .ui-widget-header .ui-state-focus, .calendar-event .ui-datepicker .ui-button:hover, .calendar-event .ui-datepicker .ui-button:focus {
  border: none;
  background: transparent;
  font-weight: 400;
}

.calendar-event .ui-datepicker .ui-datepicker-prev-hover, .calendar-event .ui-datepicker .ui-datepicker-next-hover {
  top: 0;
  background: blue;
}

.calendar-event .ui-datepicker .ui-datepicker-title {
  font-size: 36px;
  color: #333;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 40px;
  height: 40px;
}

.calendar-event .ui-datepicker .ui-datepicker-title .ui-datepicker-month {
  font-weight: 700;
}

.calendar-event .ui-datepicker table {
  border: none;
}

.calendar-event .ui-datepicker table thead {
  border-bottom: 1px solid #002d72;
  text-transform: uppercase;
  color: #002d72;
}

.calendar-event .ui-datepicker table th {
  color: #002d72;
  font-size: 16px;
}

.calendar-event .ui-datepicker table th, .calendar-event .ui-datepicker table td {
  border: none;
  background: transparent;
  text-align: center;
}

.calendar-event .ui-datepicker table th:nth-child(2n), .calendar-event .ui-datepicker table td:nth-child(2n) {
  background: transparent;
}

.calendar-event .ui-datepicker table th a, .calendar-event .ui-datepicker table td a {
  text-align: center;
}

.calendar-event .ui-datepicker table th span, .calendar-event .ui-datepicker table td span {
  text-align: center;
}

.calendar-event .ui-datepicker table td {
  padding: 11px;
  font-size: 20px;
  font-weight: 400;
  color: #3b3942;
}

.calendar-event .ui-datepicker table td a {
  transition: 0.1s all ease-out;
  -webkit-transition: 0.1s all ease-out;
  -moz-transition: 0.1s all ease-out;
  -ms-transition: 0.1s all ease-out;
  -o-transition: 0.1s all ease-out;
}

.calendar-event .ui-datepicker table td.wp_ev .ui-state-default {
  position: relative;
}

.calendar-event .ui-datepicker table td.wp_ev .ui-state-default:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #002d72;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  position: absolute;
  top: 12px;
  right: 6px;
}

.calendar-event .ui-datepicker table td.wp_ev .ui-state-default.ui-state-active {
  margin-bottom: 0;
  /*&:before{background: $white;}*/
}

.calendar-event .ui-datepicker table tr {
  border: none;
}

.calendar-event .ui-widget.ui-widget-content {
  border: none;
  padding: 40px 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.calendar-event .ui-state-default, .calendar-event .ui-widget-content .ui-state-default, .calendar-event .ui-widget-header .ui-state-default, .calendar-event .ui-button, .calendar-event .ui-button.ui-state-disabled:hover, .calendar-event .ui-button.ui-state-disabled:active {
  border: 2px solid transparent;
  background: transparent;
  width: 65px;
  height: 58px;
  display: inline-block;
  float: none;
  padding-top: 17px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.calendar-event .ui-state-highlight, .calendar-event .ui-widget-content .ui-state-highlight, .calendar-event .ui-widget-header .ui-state-highlight {
  border-color: #666;
  background: transparent;
  color: #3b3942;
}

.calendar-event .ui-state-active, .calendar-event .ui-widget-content .ui-state-active, .calendar-event .ui-widget-header .ui-state-active, .calendar-event a.ui-button:active, .calendar-event .ui-button:active, .calendar-event .ui-button.ui-state-active:hover {
  background: #002d72;
  border-color: #002d72;
  font-weight: 400;
  color: #fff;
}

.box-listing:after {
  content: "";
  clear: both;
  display: block;
}

.box-listing .list-listing {
  padding-bottom: 38px;
  margin-bottom: 40px;
  border-bottom: 1px solid #d8d8d8;
}

.box-listing .list-listing:after {
  content: "";
  display: block;
  clear: both;
}

.box-listing .list-listing figure {
  position: relative;
}

.box-listing .list-listing figure .info-top {
  position: absolute;
  top: 0;
  right: 0;
}

.box-listing .list-listing h3 {
  font-size: 32px;
  line-height: 40px;
  color: #333333;
  font-weight: 700;
  margin-bottom: 10px;
}

.box-listing .list-listing h5 {
  font-size: 16px;
  text-transform: uppercase;
  color: #d71124;
  font-weight: 300;
  margin-bottom: 10px;
  letter-spacing: 2px;
}

.box-listing .list-listing p {
  font-size: 18px;
  line-height: 26px;
  color: #333333;
  margin-bottom: 30px;
}

.box-listing .list-listing .left-listing {
  float: left;
  width: 550px;
  max-width: 100%;
}

.box-listing .list-listing .right-listing {
  float: right;
  width: 590px;
  max-width: 100%;
}

.box-listing .list-listing:last-child {
  border-bottom: none;
}

.box-detail-side:after {
  content: "";
  clear: both;
  display: block;
}

.box-detail-side aside {
  width: 370px;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 55px;
}

.box-detail-side aside h3 {
  font-size: 36px;
  color: #002d72;
  font-weight: 700;
  line-height: 45px;
  margin-bottom: 25px;
}

.box-detail-side aside p {
  font-size: 16px;
  color: #666666;
  margin-bottom: 40px;
}

.box-detail-side article {
  width: 830px;
  float: right;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 24px;
  color: #666666;
}

.box-detail-side article img {
  margin-bottom: 50px;
}

.box-detail-side article p {
  line-height: 24px;
}

.box-share {
  position: relative;
  height: 40px;
  padding: 10px 15px;
  background: #d8d8d8;
  font-size: 16px;
  color: #666666;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}

.box-share .icwp {
  margin-right: 10px;
  vertical-align: top;
}

.box-share .drop-sharethis {
  position: absolute;
  top: 100%;
  left: 0;
  padding: 10px 0;
  z-index: 10;
}

.box-share.shrtrans {
  background: transparent;
}

.box-related-news {
  padding-top: 50px;
}

.box-related-news h3 {
  font-weight: 700;
  color: #002d72;
  font-size: 30px;
  margin-bottom: 20px;
}

.box-list-pusdi {
  margin: 0 -5px;
}

.box-list-pusdi:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-pusdi .list-pusdi {
  float: left;
  width: 20%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 30px;
  text-align: center;
  padding: 0 5px;
  cursor: pointer;
  transition: 0.2s opacity;
  -webkit-transition: 0.2s opacity;
  -moz-transition: 0.2s opacity;
  -ms-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
}

.box-list-pusdi .list-pusdi:hover {
  opacity: 0.5;
}

.box-list-pusdi .list-pusdi img {
  height: 86px;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  z-index: 1000;
}

.popup .inner-popup {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  background: #fff;
  width: 1062px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 97px 50px 30px;
}

.popup .inner-popup .close-btn {
  position: absolute;
  top: 0;
  right: 0;
  background: #002d72;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.popup .inner-popup .close-btn span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  background: #fff;
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  display: block;
}

.popup .inner-popup .close-btn span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  background: #f03f34;
  transition: 0.3s ease-out;
  -webkit-transition: 0.3s ease-out;
  -moz-transition: 0.3s ease-out;
  -ms-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
}

.popup .inner-popup .close-btn span:last-child {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.popup .inner-popup .close-btn:hover span:before {
  width: 100%;
}

.popup#popupvideos .inner-popup {
  background: transparent;
  padding: 50px 0 0;
  width: auto;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
}

.popup#popupvideos .inner-popup video {
  width: 100%;
  max-height: 85vh;
}

.box-side-studi {
  font-size: 16px;
  line-height: 24px;
  color: #666666;
  max-height: 60vh;
  overflow: auto;
}

.box-side-studi:after {
  content: "";
  clear: both;
  display: block;
}

.box-side-studi h3 {
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
  color: #002d72;
  margin-bottom: 25px;
}

.box-side-studi p {
  line-height: 24px;
}

.box-side-studi hr {
  border: none;
  display: block;
  height: 1px;
  background: #d8d8d8;
  margin: 10px 0;
}

.box-side-studi hr:after {
  content: "";
  clear: both;
  display: block;
}

.box-side-studi figure {
  text-align: center;
}

.box-side-studi .left {
  width: 230px;
}

.box-side-studi .right {
  width: 710px;
}

.box-list-studi:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-studi .list-studi {
  display: none;
}

.box-list-studi .list-studi.active {
  display: block;
}

.box-slide-gallery {
  margin-bottom: 19px;
}

.box-slide-gallery .list {
  text-align: center;
}

.box-slide-gallery .list img {
  width: 100%;
}

.box-slide-gallery .slick-prev, .box-slide-gallery .slick-next {
  width: 80px;
  height: 80px;
  background-color: #b7b7b7;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 10;
  transition: 0.2s background ease-out;
  -webkit-transition: 0.2s background ease-out;
  -moz-transition: 0.2s background ease-out;
  -ms-transition: 0.2s background ease-out;
  -o-transition: 0.2s background ease-out;
}

.box-slide-gallery .slick-prev:before, .box-slide-gallery .slick-next:before {
  display: none;
}

.box-slide-gallery .slick-prev:hover, .box-slide-gallery .slick-next:hover {
  background-color: #585858;
}

.box-slide-gallery .slick-prev {
  background-image: url("../images/material/arr-slide-prev.png");
  left: -79px;
}

.box-slide-gallery .slick-next {
  background-image: url("../images/material/arr-slide-next.png");
  right: -79px;
}

.box-slide-gallery-thumb {
  overflow: hidden;
}

.slidegallerythumb {
  margin: 0 -15px;
}

.slidegallerythumb .list {
  padding: 0 15px;
  cursor: pointer;
}

.box-list-photo {
  margin: 0 -15px;
}

.box-list-photo:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-photo .list-photo {
  padding: 0 15px;
  width: 33.3333333333333333%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 30px;
}

.box-list-photo .list-photo .inner-photo {
  padding: 20px;
  border: 1px solid #eaeaea;
  transition: 0.3s box-shadow ease-out;
  -webkit-transition: 0.3s box-shadow ease-out;
  -moz-transition: 0.3s box-shadow ease-out;
  -ms-transition: 0.3s box-shadow ease-out;
  -o-transition: 0.3s box-shadow ease-out;
}

.box-list-photo .list-photo .inner-photo figure {
  margin-bottom: 20px;
}

.box-list-photo .list-photo .inner-photo span {
  font-size: 12px;
  text-transform: uppercase;
  color: #939393;
  display: block;
  margin-bottom: 5px;
}

.box-list-photo .list-photo .inner-photo h4 {
  font-size: 20px;
  line-height: 26px;
  color: #3a3a3a;
  font-weight: 400;
  height: 50px;
  margin-bottom: 20px;
  overflow: hidden;
}

.box-list-photo .list-photo .inner-photo .de-info:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-photo .list-photo:nth-child(3n + 1) {
  clear: both;
}

.box-list-photo .list-photo.video figure {
  position: relative;
}

.box-list-photo .list-photo.video figure .btn-play-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 81px;
  height: 81px;
  background: url("../images/material/ic_play_video_sm.png") no-repeat center;
  cursor: pointer;
}

.box-list-photo .list-photo.video.btnpopvid {
  cursor: pointer;
}

.box-list-photo .list-photo:hover .inner-photo {
  box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
}

.box-list-photo .list-photo:hover .inner-photo h4 {
  color: #002d72;
}

.box-list-audio {
  margin: 0 -15px;
}

.box-list-audio:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-audio .list-audio {
  padding: 0 15px;
  width: 50%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 25px;
}

.box-list-audio .list-audio .inner-audio {
  border: 1px solid #eaeaea;
  padding: 20px 23px;
  transition: 0.3s box-shadow ease-out;
  -webkit-transition: 0.3s box-shadow ease-out;
  -moz-transition: 0.3s box-shadow ease-out;
  -ms-transition: 0.3s box-shadow ease-out;
  -o-transition: 0.3s box-shadow ease-out;
}

.box-list-audio .list-audio .inner-audio span {
  text-transform: uppercase;
  font-size: 12px;
  color: #939393;
  display: block;
  margin-bottom: 5px;
}

.box-list-audio .list-audio .inner-audio h4 {
  font-size: 20px;
  line-height: 26px;
  color: #000;
  margin-bottom: 30px;
  font-weight: 400;
}

.box-list-audio .list-audio .inner-audio .de-info:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-audio .list-audio .inner-audio .de-info .bl {
  padding-top: 6px;
  padding-bottom: 0;
  padding-left: 6px;
}

.box-list-audio .list-audio .inner-audio .de-info.deinblock {
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle;
}

.box-list-audio .list-audio:hover .inner-audio {
  box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
}

.box-list-audio.threelist .list-audio {
  width: 33.333333333333%;
}

.box-filter-docs {
  margin-bottom: 30px;
}

.box-filter-docs label {
  margin-right: 10px;
  color: #000000;
  font-size: 16px;
  margin-left: 20px;
}

.box-filter-docs select {
  height: 45px;
  padding: 0 40px 0 12px;
  border: 1px solid #eaeaea;
  background: url("../images/material/arrow-select.png") no-repeat right center;
  font-size: 14px;
  color: #939393;
}

.box-list-majalah {
  margin: 0 -33px;
}

.box-list-majalah:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-majalah .list-majalah {
  padding: 0 33px;
  width: 33.333333333333333%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 65px;
}

.box-list-majalah .list-majalah .inner-majalah {
  padding: 30px 28px 55px;
  border: 1px solid #eaeaea;
  position: relative;
  transition: 0.2s box-shadow ease-out;
  -webkit-transition: 0.2s box-shadow ease-out;
  -moz-transition: 0.2s box-shadow ease-out;
  -ms-transition: 0.2s box-shadow ease-out;
  -o-transition: 0.2s box-shadow ease-out;
}

.box-list-majalah .list-majalah .inner-majalah figure {
  margin-bottom: 20px;
}

.box-list-majalah .list-majalah .inner-majalah span {
  text-transform: uppercase;
  font-size: 12px;
  color: #939393;
  display: block;
  margin-bottom: 5px;
}

.box-list-majalah .list-majalah .inner-majalah h4 {
  font-size: 20px;
  line-height: 26px;
  color: #000;
  margin-bottom: 30px;
  font-weight: 400;
}

.box-list-majalah .list-majalah .inner-majalah .box-bottom-majalah {
  position: absolute;
  bottom: 20px;
  left: 28px;
  right: 28px;
  display: table;
  vertical-align: middle;
  height: 40px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.box-list-majalah .list-majalah .inner-majalah .box-bottom-majalah .link-icon {
  display: table-cell;
  vertical-align: middle;
}

.box-list-majalah .list-majalah .inner-majalah .box-bottom-majalah .link-icon .icwp {
  top: 50%;
  margin-top: -12px;
}

.box-list-majalah .list-majalah .inner-majalah .box-share .drop-sharethis {
  top: -8px;
}

.box-list-majalah .list-majalah:hover .inner-majalah {
  box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
}

.ptwocol {
  width: 960px;
  max-width: 100%;
  margin: 0 auto;
  margin-bottom: 75px;
  color: #666666;
}

.ptwocol:after {
  content: "";
  clear: both;
  display: block;
}

.ptwocol .left {
  width: 574px;
  float: left;
  max-width: 100%;
  font-size: 24px;
  line-height: 36px;
}

.ptwocol .right {
  width: 350px;
  float: right;
  max-width: 100%;
}

.telbox-lg {
  font-size: 20px;
  line-height: 24px;
}

.telbox-lg .ls {
  position: relative;
  padding-left: 35px;
  margin-bottom: 25px;
}

.telbox-lg .ls span {
  position: absolute;
  top: 0;
  left: 0;
}

.box-map {
  margin-bottom: 85px;
}

.box-map iframe {
  width: 100%;
  height: 500px;
}

.box-map .maps {
  width: 100%;
  height: 500px;
}

.box-form {
  margin-top: 65px;
}

.box-form .row_list .col {
  margin-bottom: 60px;
}

.box-input {
  position: relative;
  border-bottom: 2px solid #eaeaea;
}

.box-input:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 2px;
  background: #002d72;
  transition: 0.3s all ease-out;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
}

.box-input label {
  position: absolute;
  top: 18px;
  left: 0;
  font-size: 14px;
  color: #999999;
  z-index: -1;
}

.box-input label.error {
  top: 80px !important;
  color: red;
  padding-left: 0px;
}

.box-input input {
  border: none;
  width: 100%;
  font-size: 24px;
  color: #333333;
  padding: 5px 0 10px;
  background: transparent;
}

.box-input.focusin:before {
  width: 100%;
  left: 0;
}

.box-input.focusin label {
  color: #002d72;
}

.box-input.focusin label.error {
  color: red;
}

.box-list-link {
  margin: 70px 0 0;
}

.box-list-link:after {
  content: "";
  clear: both;
  display: block;
}

.box-list-link .list-link {
  width: 16.666666666666666%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  margin-bottom: 50px;
  position: relative;
  cursor: pointer;
  transition: 0.2s box-shadow ease-out;
  -webkit-transition: 0.2s box-shadow ease-out;
  -moz-transition: 0.2s box-shadow ease-out;
  -ms-transition: 0.2s box-shadow ease-out;
  -o-transition: 0.2s box-shadow ease-out;
}

.box-list-link .list-link figure {
  padding: 20px 0 20px;
}

.box-list-link .list-link figure img {
  -webkit-filter: grayscale(100);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100);
  opacity: 0.4;
  min-height: 120px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.box-list-link .list-link span {
  position: absolute;
  top: 90%;
  left: 0;
  right: 0;
  background: #002d72;
  color: #fff;
  font-weight: 300;
  padding: 20px 15px;
  z-index: 2;
  opacity: 0;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  visibility: hidden;
}

.box-list-link .list-link span:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  border-bottom: 8px solid #002d72;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
}

.box-list-link .list-link:hover {
  box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 19px -1px rgba(0, 0, 0, 0.3);
}

.box-list-link .list-link:hover figure img {
  -webkit-filter: grayscale(0);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0);
  opacity: 1;
}

.box-list-link .list-link:hover span {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

#st-el-2 .st-btns {
  overflow: auto !important;
}

.box-list-video-pop .list-video-pop {
  /*display: none;*/
}

.box-list-video-pop .list-video-pop.active {
  display: block;
}

.box-list-video-pop .list-video-pop iframe {
  background: #000;
}

.box-list-video-pop .list-video-pop .videoytgallery {
  height: 550px;
  max-height: 85vh;
  min-width: 990px;
}

.title-search-result {
  margin-bottom: 30px;
}

.title-search-result:after {
  content: "";
  clear: both;
  display: block;
}

.title-search-result h3.hbold {
  margin-bottom: 10px;
}

.title-search-result h4 {
  color: #a5a5a5;
  font-size: 24px;
  font-weight: 400;
}

.title-search-result .left {
  max-width: 100%;
}

.title-search-result .right {
  max-width: 100%;
}

.title-search-result .right .box-search-result {
  margin-top: 41px;
}

.box-search-result {
  position: relative;
}

.box-search-result input[type=text] {
  border: 1px solid #a5a5a5;
  height: 44px;
  width: 406px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 55px 0 13px;
  color: #a5a5a5;
  font-size: 14px;
}

.box-search-result ::-webkit-input-placeholder {
  color: #a5a5a5;
}

.box-search-result :-moz-placeholder {
  color: #a5a5a5;
}

.box-search-result ::-moz-placeholder {
  color: #a5a5a5;
}

.box-search-result :-ms-input-placeholder {
  color: #a5a5a5;
}

.box-search-result .search-btn-result {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 44px;
  border: none;
  background: transparent url("../images/material/ic_search_small_black.png") no-repeat center;
  cursor: pointer;
}

.box-search-result .search-btn-result:before {
  content: "";
  width: 1px;
  bottom: 4px;
  top: 4px;
  left: 0;
  position: absolute;
  background: #d2d2d2;
}

.box-list-search-result .list-search-result {
  padding: 30px 20px 33px;
  display: block;
  border-bottom: 1px solid #d8d8d8;
}

.box-list-search-result .list-search-result > span {
  text-transform: uppercase;
  color: #a0a0a0;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  display: block;
  margin-bottom: 10px;
}

.box-list-search-result .list-search-result h4 {
  font-size: 24px;
  line-height: 32px;
  color: #3a3a3a;
  margin-bottom: 10px;
  font-weight: 400;
  transition: 0.2s color ease-out;
  -webkit-transition: 0.2s color ease-out;
  -moz-transition: 0.2s color ease-out;
  -ms-transition: 0.2s color ease-out;
  -o-transition: 0.2s color ease-out;
}

.box-list-search-result .list-search-result p {
  font-size: 18px;
  line-height: 24px;
  color: #3a3a3a;
}

.box-list-search-result .list-search-result:last-child {
  border-bottom: none;
}

.box-list-search-result .list-search-result:hover h4 {
  color: #002d72;
}

#st-el-10 .st-btns {
  overflow: auto !important;
}

/* footer
----------------------------------------------------------------------------------------------*/
.sctop {
  position: fixed;
  bottom: 80px;
  right: 80px;
  width: 57px;
  height: 57px;
  background: url("../images/material/sctop.png") no-repeat center;
  z-index: 100;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  cursor: pointer;
  transition: 0.1s bottom ease-out;
  -webkit-transition: 0.1s bottom ease-out;
  -moz-transition: 0.1s bottom ease-out;
  -ms-transition: 0.1s bottom ease-out;
  -o-transition: 0.1s bottom ease-out;
  display: none;
}

.sctop:hover {
  bottom: 85px;
}

footer .foot-top {
  background: #002d72;
  padding: 62px 0 70px;
  color: #fff;
}

footer .foot-top .foot-info {
  float: left;
  width: 330px;
}

footer .foot-top .foot-info h4 {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 18px;
  color: #fff;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 24px;
}

footer .foot-top .foot-info p {
  font-size: 15px;
  line-height: 23px;
  margin-bottom: 25px;
}

footer .foot-top .foot-info .sosmed-mobile {
  display: none;
}

footer .foot-top .foot-link {
  float: right;
  width: 830px;
  margin: 0 -10px;
}

footer .foot-top .foot-link h5 {
  color: #fff;
  font-size: 18px;
  line-height: 20px;
  text-transform: uppercase;
}

footer .foot-top .foot-link a {
  color: #a1c3e6;
}

footer .foot-top .foot-link ul {
  margin-top: 10px;
}

footer .foot-top .foot-link ul li {
  font-size: 14px;
  line-height: 20px;
}

footer .foot-top .foot-link .list-foot-link {
  width: 33.3333333333333%;
  float: left;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 15px;
}

footer .foot-top .foot-link .list-foot-link:nth-child(3n+1) {
  clear: both;
}

footer .foot-bottom {
  text-align: center;
  padding: 17px 0;
  background: #00183c;
  font-size: 14px;
  color: #7d9fc3;
}

.telbox {
  font-size: 15px;
  line-height: 23px;
}

.telbox span {
  margin-right: 20px;
}

.telbox li {
  position: relative;
  padding-left: 30px;
}

.telbox li span {
  position: absolute;
  top: 0;
  left: 0;
}

.telbox li a {
  color: #fff;
}

.box-sosmed {
  margin-top: 20px;
}

.box-sosmed .lsosmed {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  display: inline-block;
  margin-right: 3px;
}

.box-sosmed .syt {
  background: url("../images/material/ic_yt.png") no-repeat center;
}

.box-sosmed .sig {
  background: url("../images/material/ic_ig.png") no-repeat center;
}

.box-sosmed .sfb {
  background: url("../images/material/ic_fb.png") no-repeat center;
}

.box-sosmed .stw {
  background: url("../images/material/ic_tw.png") no-repeat center;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vY3NzL3Jlc2V0LmNzcyIsInNhc3MtbGliLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190aW50LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsImJvdXJib24vY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2NhbGMuc2NzcyIsImJvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwiYm91cmJvbi9jc3MzL19maWx0ZXIuc2NzcyIsImJvdXJib24vY3NzMy9fZmxleC1ib3guc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsImJvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCJib3VyYm9uL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCJib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL19zZWxlY3Rpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsImJvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsImJvdXJib24vYWRkb25zL19tYXJnaW4uc2NzcyIsImJvdXJib24vYWRkb25zL19wYWRkaW5nLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsImJvdXJib24vYWRkb25zL19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsImJvdXJib24vYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cdFxyXG4gICAgQ29tcGFueSAgICA6IFBUIFdlYiBBcmNoaXRlY3QgVGVjaG5vbG9neSAtIHdlYmFycS5jb21cclxuICAgIERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcbiAgICBBdXRob3IgICAgIDogSXFiYWwgV2FoeXVkaSBQcmF0YW1hIC0gaXFiYWx3YWh5dWRpcC5jb21cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TXVsaTozMDAsNDAwLDcwMHxSb2JvdG86MzAwLDQwMCw3MDAsOTAwfExhdG86MzAwLDQwMCw3MDAnKTtcclxuQGltcG9ydCBcIi4uL2Nzcy9yZXNldFwiO1xyXG5AaW1wb3J0IFwic2Fzcy1saWJcIjtcclxuXHJcbmJvZHkgeyAgXHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5maWd1cmV7XHJcbiAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XHJcbiAgICBpbWd7dmVydGljYWwtYWxpZ246IHRvcDt9XHJcbn1cclxuaW1neyBib3JkZXI6MDsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvOyB9XHJcbnAge1xyXG4gICAgbWFyZ2luOiAxcHggMCAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0Q4RDhEODtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XHJcbn1cclxuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XHJcbn1cclxuaDEgeyBmb250LXNpemU6IDMycHg7IH1cclxuaDIgeyBmb250LXNpemU6IDI4cHg7IH1cclxuaDMgeyBmb250LXNpemU6IDMwcHg7IH1cclxuaDQgeyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAkYmx1ZTt9IFxyXG5oNSB7IGZvbnQtc2l6ZTogMTZweDsgfSBcclxuaDYgeyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7fVxyXG4vKiBzdHJ1Y3R1cmUgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5zZWN0aW9uIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi53cmFwcGVyIHt3aWR0aDogMTIwMHB4O21hcmdpbjogMCBhdXRvO31cclxuLndyYXAtbGFyZ2V7d2lkdGg6IDEzNjBweDttYXJnaW46IDAgYXV0bzt9XHJcbi53cmFwLXNtYWxsIHt3aWR0aDogODIwcHg7bWFyZ2luOiAwIGF1dG87fVxyXG5cclxuLyogZ2xvYmFsXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uYWZ0ZXJfY2xlYXI6YWZ0ZXIsLndyYXBwZXI6YWZ0ZXIsLndyYXAtbGFyZ2U6YWZ0ZXIsLndyYXAtc21hbGw6YWZ0ZXIsc2VjdGlvbjphZnRlcntjbGVhcjpib3RoO2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6XCIgXCJ9XHJcbi5iZWZvcmVfY2xlYXI6YmVmb3Jle2NsZWFyOmJvdGg7ZGlzcGxheTogYmxvY2s7Y29udGVudDpcIiBcIn1cclxuLmEtbGVmdHt0ZXh0LWFsaWduOiBsZWZ0fVxyXG4uYS1yaWdodHt0ZXh0LWFsaWduOiByaWdodH1cclxuLmEtY2VudGVye3RleHQtYWxpZ246IGNlbnRlcn1cclxuLml0YWxpYyB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxyXG4uYm9sZCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbi5yZWd1bGFyIHsgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7IH1cclxuLmZsIHsgZmxvYXQ6IGxlZnQ7IH1cclxuLmZyIHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbi5jbGVhciB7IGNsZWFyOiBib3RoOyB9XHJcblxyXG4ubGluZS1saW5re1xyXG4gICAgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzY2NjY2NjsgZm9udC13ZWlnaHQ6IDQwMDsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiA2MHB4OyBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDNweDsgYmFja2dyb3VuZDogJGJsdWUyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMDsgbWFyZ2luLXRvcDogLTFweDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIHdpZHRoKTt9XHJcblxyXG4gICAgJi5sbi1sZWZ0e1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDsgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAmOmFmdGVye3JpZ2h0OiBhdXRvOyBsZWZ0OiAwO31cclxuICAgIH1cclxuICAgICYubG4tbm9ye1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAmOmFmdGVye3dpZHRoOiA1MHB4O31cclxuICAgIH1cclxufVxyXG4ubGluay1pY29ue1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1MnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM2NjY2NjY7IGZvbnQtc3R5bGU6IGl0YWxpYzsgcGFkZGluZy10b3A6IDRweDsgbGV0dGVyLXNwYWNpbmc6IDFweDsgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAuaWN3cHtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDt9XHJcblxyXG4gICAgJi5sbm9ybWFse2ZvbnQtc3R5bGU6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IDA7IHBhZGRpbmctbGVmdDogMzVweDt9XHJcblxyXG4gICAgJjpob3Zlcntjb2xvcjogJGJsdWU7fVxyXG59XHJcbi5oYmxhY2t7Zm9udC13ZWlnaHQ6IDkwMDsgY29sb3I6ICRibGFjazt9XHJcbi5oYm9sZHtmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzMzMzMzMzt9XHJcbi5iZy1ncmV5e2JhY2tncm91bmQ6ICNmMmYyZjI7fVxyXG4uYnRuLWJsdWV7fVxyXG4uYnRuLXJlZHt9XHJcbi5idG4tYm94e1xyXG4gICAgaGVpZ2h0OiA0MHB4OyBsaW5lLWhlaWdodDogNDBweDsgYmFja2dyb3VuZDogI2U4ZThlODsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICM2NjY2NjY7IHBhZGRpbmc6IDAgMjRweDtcclxuICAgIC5pY19hcnJvd19saW5re21hcmdpbi1sZWZ0OiAxMHB4O31cclxufVxyXG4uYnRuLXN1Ym1pdHt3aWR0aDogMjMwcHg7IGhlaWdodDogNjBweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBiYWNrZ3JvdW5kOiAkYmx1ZTsgY29sb3I6ICR3aGl0ZTsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogMXB4O31cclxuXHJcbi8qIGljb25zIGljd3AgXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLmljd3B7XHJcbiAgICB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjt9XHJcblxyXG4gICAgJi5pY193b3JsZHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY193b3JsZC5wbmcnKTsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDt9XHJcbiAgICAmLmljX3Bob3Rve2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX3Bob3RvLnBuZycpOyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4O31cclxuICAgICYuaWNfZG9jc3tiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19kb2NzLnBuZycpOyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNnB4O31cclxuICAgICYuaWNfaG9tZXtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19ob21lLnBuZycpOyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxMXB4O31cclxuICAgICYuaWNfc2hhcmV7YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfc2hhcmUucG5nJyk7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7fVxyXG4gICAgJi5pY19hcnJvd19saW5re2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2Fycm93X2xpbmsucG5nJyk7IHdpZHRoOiA1cHg7IGhlaWdodDogMTBweDt9XHJcbiAgICAmLmljX3ZpZGVvX3Nte2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX3ZpZGVvX3NtLnBuZycpOyB3aWR0aDogN3B4OyBoZWlnaHQ6IDEwcHg7fVxyXG4gICAgJi5pY19hdWRpb3tiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19hdWRpby5wbmcnKTsgd2lkdGg6IDEzcHg7IGhlaWdodDogMTFweDt9XHJcbiAgICAmLmljX3BkZntiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19wZGYucG5nJyk7IHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI0cHg7fVxyXG4gICAgJi5pY19leWV7YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfZXllLnBuZycpOyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4O31cclxufVxyXG4vKiBlbmQgaWNvbnMgaWN3cCBcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogcm93IGxpc3Qgc3R5bGVzIFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5yb3dfbGlzdHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgbWFyZ2luLXJpZ2h0OiAtMTVweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgKntAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7fVxyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBkaXNwbGF5OiB0YWJsZTsgY2xlYXI6IGJvdGg7fVxyXG4gICAgLmNvbHtcclxuICAgICAgICB3aWR0aDogMTAwJTsgcGFkZGluZzogMCAxNXB4OyBmbG9hdDogbGVmdDtcclxuICAgICAgICAmLmZye2Zsb2F0OiByaWdodDt9XHJcbiAgICAgICAgJi5uby1wYWR7cGFkZGluZzogMDt9XHJcbiAgICAgICAgJi5tYXJnMjh7bWFyZ2luLWJvdHRvbTogMjhweDt9XHJcbiAgICAgICAgJi5jb2xfOXt3aWR0aDogOTAlO31cclxuICAgICAgICAmLmNvbF84e3dpZHRoOiA4MCU7fVxyXG4gICAgICAgICYuY29sXzd7d2lkdGg6IDcwJTt9XHJcbiAgICAgICAgJi5jb2xfNjZ7d2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTt9XHJcbiAgICAgICAgJi5jb2xfNjV7d2lkdGg6IDY1JTt9XHJcbiAgICAgICAgJi5jb2xfNnt3aWR0aDogNjAlO31cclxuICAgICAgICAmLmNvbF81NXt3aWR0aDogNTUlO31cclxuICAgICAgICAmLmNvbF81e3dpZHRoOiA1MCU7fVxyXG4gICAgICAgICYuY29sXzQ1e3dpZHRoOiA0NSU7fVxyXG4gICAgICAgICYuY29sXzR7d2lkdGg6IDQwJTt9XHJcbiAgICAgICAgJi5jb2xfMzd7d2lkdGg6IDM3JTt9XHJcbiAgICAgICAgJi5jb2xfMzV7d2lkdGg6IDM1JTt9XHJcbiAgICAgICAgJi5jb2xfMzN7d2lkdGg6IDMzLjMzMzMzMzMzMzMzMzMlO31cclxuICAgICAgICAmLmNvbF8ze3dpZHRoOiAzMCU7fVxyXG4gICAgICAgICYuY29sXzI1e3dpZHRoOiAyNSU7fVxyXG4gICAgICAgICYuY29sXzJ7d2lkdGg6IDIwJTt9XHJcbiAgICAgICAgJi5jb2xfMTZ7d2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2JTt9XHJcbiAgICAgICAgJi5jb2xfMXt3aWR0aDogMTAlO31cclxuICAgIH1cclxuICAgICYuY2VudGVye1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuY29se2Zsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG4gICAgfVxyXG4gICAgJi5saXN0ZnVsbHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIC5jb2x7cGFkZGluZzogMDt9XHJcbiAgICB9XHJcbiAgICAmLmxpc3RwNXtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTVweDsgbWFyZ2luLXJpZ2h0OiAtNXB4O1xyXG4gICAgICAgIC5jb2x7cGFkZGluZzogMCA1cHg7fVxyXG4gICAgfVxyXG59XHJcbi8qIGVuZCByb3cgbGlzdCBzdHlsZXMgXHJcbi0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLyogaGVhZGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5oZWFkZXJ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7IHBhZGRpbmctdG9wOiA1cHg7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7ei1pbmRleDogOTAwOyBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBoZWlnaHQ6IDVweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kOiAkYmx1ZTt9XHJcbiAgICAuaGVhZC10b3B7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTXVsaVwiO1xyXG4gICAgICAgICY6YWZ0ZXJ7Y29udGVudDpcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgY29sb3IpO1xyXG4gICAgICAgICAgICAmOmhvdmVye2NvbG9yOiAkYmx1ZTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtaW4tdG9we2Zsb2F0OiByaWdodDt0ZXh0LWFsaWduOiByaWdodDt9XHJcbiAgICAgICAgLmxpbmstaGVhZC10b3AsIC5ib3gtbGFuZywgLmJveC1zZWFyY2h7ZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAwIDIwcHg7cG9zaXRpb246IHJlbGF0aXZlO31cclxuICAgICAgICAubGluay1oZWFkLXRvcHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IHdpZHRoOiAxcHg7IGhlaWdodDogMjBweDsgYmFja2dyb3VuZDogI2UyZTJlMjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDhweDsgcmlnaHQ6IDA7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXNlYXJjaHtcclxuICAgICAgICAgICAgd2lkdGg6IDU1cHg7IGhlaWdodDogNDBweDsgYmFja2dyb3VuZDogJGJsdWU7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgPiBzcGFue3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19zZWFyY2gucG5nJykgbm8tcmVwZWF0IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO31cclxuICAgICAgICAgICAgLmRyb3Atc2VhcmNoe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAyOyBkaXNwbGF5OiBub25lOyBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgaW5wdXR7YmFja2dyb3VuZDogJHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjYTVhNWE1OyBjb2xvcjogI2E1YTVhNTsgd2lkdGg6IDQyMnB4OyBmb250LXNpemU6IDE0cHg7IGZsb2F0OiBsZWZ0OyBoZWlnaHQ6IDQwcHg7IHBhZGRpbmc6IDAgMTJweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO31cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVye2NvbG9yOiAjYTVhNWE1O31cclxuICAgICAgICAgICAgICAgIC5idG4tc2VhcmNoLWhlYWR7d2lkdGg6IDU1cHg7IGhlaWdodDogNDBweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBiYWNrZ3JvdW5kOiAkYmx1ZSB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyOyBib3JkZXI6IG5vbmU7IGZsb2F0OiBsZWZ0OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGN1cnNvcjogcG9pbnRlcjt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZC1ib3R0b217XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy10b3A6IDVweDsgcGFkZGluZy1ib3R0b206IDE1cHg7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwgZWFzZS1vdXQpO1xyXG4gICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IGNsZWFyOiBib3RoO31cclxuICAgICAgICAubG9nb3tcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBmb250LWZhbWlseTogXCJBdmVuaXJcIjsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMwMDAwMDA7IGZvbnQtc2l6ZTogMThweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgaGVpZ2h0OiA3MHB4OyBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgYXtjb2xvcjogIzAwMDt9XHJcbiAgICAgICAgICAgIGltZ3t3aWR0aDogMzUwcHg7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCBlYXNlLW91dCk7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZC1yaWdodHtmbG9hdDogcmlnaHQ7IHBhZGRpbmctdG9wOiA0MHB4OyAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCBlYXNlLW91dCk7fVxyXG4gICAgICAgIG5hdntcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMwMDA7IG1hcmdpbi1yaWdodDogMzNweDtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgJjpob3Zlcntjb2xvcjogJGJsdWU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5saXN0e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nOiA1cHggMDtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgdG9wKTsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC0xMHB4OyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwOyBiYWNrZ3JvdW5kOiAkYmx1ZTsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGhlaWdodCk7fVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtoZWlnaHQ6IDJweDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ1cmctbWVudXtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7IGhlaWdodDogMjRweDsgcG9zaXRpb246IHJlbGF0aXZlOyBmbG9hdDogbGVmdDsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDNweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDNweCk7IGJhY2tncm91bmQ6ICRibHVlOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3Mgd2lkdGgpOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7dG9wOiAxMHB4O31cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHt0b3A6IDIxcHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7d2lkdGg6IDE1cHg7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbi8qXHJcbiAgICAgICAgICAgICYuY2xvc2V7XHJcbiAgICAgICAgICAgICAgICBzcGFue2JhY2tncm91bmQ6ICR3aGl0ZTt9XHJcbiAgICAgICAgICAgIH0qL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmZsb2F0e1xyXG4gICAgICAgIC5oZWFkLWJvdHRvbXtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIC5sb2dve1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgaW1ne3dpZHRoOiAyNTBweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmhlYWQtcmlnaHR7cGFkZGluZy10b3A6IDIycHg7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJveC1sYW5ne1xyXG4gICAgcGFkZGluZzogMTFweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGJvcmRlci10b3A6IDdweCBzb2xpZCAjYjdiN2I3OyBib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogNXB4OyBtYXJnaW4tdG9wOiAtM3B4O31cclxuICAgIC5kcm9wLWxhbmd7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMCU7IGxlZnQ6IDVweDsgcmlnaHQ6IDVweDsgdGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kOiAjZmZmOyBkaXNwbGF5OiBub25lOyB6LWluZGV4OiAxO1xyXG4gICAgICAgIC5saXN0e3BhZGRpbmc6IDVweCAwOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICB9XHJcbn1cclxuLmJveC1idXJnLW1lbnV7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgei1pbmRleDogOTk5OyBkaXNwbGF5OiBub25lO1xyXG4gICAgLmJne2JhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHotaW5kZXg6IDE7fVxyXG4gICAgLmlubmVyLWJ1cmctbWVudXtcclxuICAgICAgICB6LWluZGV4OiAyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDQ1N3B4OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IGJhY2tncm91bmQ6ICRibHVlOyBjb2xvcjogI2ZmZjsgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgLmJveC1zYy1tZW51e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTgwcHg7IGxlZnQ6IDU4cHg7IHJpZ2h0OiA1OHB4OyBib3R0b206IDkwcHg7IG92ZXJmbG93OiBhdXRvOyBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgICAgIC5tQ1NCX3Njcm9sbFRvb2xze1xyXG4gICAgICAgICAgICAgICAgLm1DU0JfZHJhZ2dlclJhaWx7XHJcbiAgICAgICAgICAgICAgICAgICAgLypiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsqL1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLm1DU0JfZHJhZ2dlcntcclxuICAgICAgICAgICAgICAgICAgICAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5tQ1NCX2RyYWdnZXJfb25EcmFne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO31cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBjb2xvciBlYXNlLW91dCk7XHJcbiAgICAgICAgICAgICY6aG92ZXJ7Y29sb3I6ICNmZWMxMDc7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2UtYnVyZ3tcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDk3cHg7IGxlZnQ6IDQ4cHg7IGhlaWdodDogMjhweDsgY3Vyc29yOiBwb2ludGVyOyB3aWR0aDogMzBweDsgY3Vyc29yOiBwb2ludGVyOyB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMzBweDsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6ICNmZmY7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygzcHgpOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAwOyBAaW5jbHVkZSB0cmFuc2Zvcm1PcmlnaW4oNTAlKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHdpZHRoOiAwOyBiYWNrZ3JvdW5kOiAkcmVkOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MgZWFzZS1vdXQpO31cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO31cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7d2lkdGg6IDEwMCU7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5hdntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcclxuICAgICAgICAgICAgLmxpc3R7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7IGxpbmUtaGVpZ2h0OiAyOHB4OyBwYWRkaW5nOiAyM3B4IDEzcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGU0MThlOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICA+IGF7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgLmJveC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nLXRvcDogMTBweDsgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBhe2Rpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAxMHB4IDAgMTBweCAzMHB4OyBmb250LXNpemU6IDIwcHg7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5kcm9we1xyXG4gICAgICAgICAgICAgICAgICAgID4gYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiAzN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2Fycm93X3JpZ2h0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7IGhlaWdodDogMTJweDsgd2lkdGg6IDhweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgcmlnaHQ6IDEycHg7IG1hcmdpbi10b3A6IC02cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm1PcmlnaW4oNTAlKTtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgdHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle0BpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ib3gtY2hpbGR7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXNlYXJjaC1idXJne1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRde1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfc2VhcmNoX3NtYWxsLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQ7IGJvcmRlcjogMXB4IHNvbGlkICMzNzY2YWU7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogMCA0OHB4IDAgMjdweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVye2NvbG9yOiAjZmZmO31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3gtbGFuZy1yaWdodHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7fVxyXG4gICAgICAgICAgICBsYWJlbHtmbG9hdDogbGVmdDt9XHJcbiAgICAgICAgICAgIC5ib3gtbGFuZ3tcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgcGFkZGluZzogMnB4IDMwcHggMnB4IDA7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye3RvcDogMTJweDt9XHJcbiAgICAgICAgICAgICAgICAuZHJvcC1sYW5ne3Bvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBtaWRkbGVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5jb250ZW50e3BhZGRpbmctdG9wOiAxMzVweDt9XHJcbi5oLWFib3V0e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLnRyaWctc2xpZGV7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwMHB4OyBsZWZ0OiAwOyByaWdodDogMDt9XHJcbn1cclxuLnRyaWctcGlsYXJ7cG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDI1MHB4O31cclxuLnRyaWctYmFubmVye3Bvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxMDBweDt9XHJcbi5ib3gtc2xpZGUtYWJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAubmF2LXNsaWRlLWFie1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcclxuICAgIH1cclxufVxyXG4uc2xpZGVyYWJvdXR7XHJcbiAgICAubGlzdHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmRlc2N7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyNDZweDsgbGVmdDogODBweDsgY29sb3I6ICNmZmY7IHdpZHRoOiA3ODVweDtcclxuICAgICAgICAgICAgc3BhbntkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDhweCAxMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNjkpOyBmb250LXdlaWdodDogOTAwOyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7fVxyXG4gICAgICAgICAgICBoMntmb250LXNpemU6IDUwcHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGZvbnQtc2l6ZTogNTBweDsgbGluZS1oZWlnaHQ6IDU1cHg7IGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtwYWRkaW5nOiAxN3B4IDhweDsgY29sb3I6ICR3aGl0ZTt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5uYXYtc2xpZGUtYWJ7XHJcbiAgICAubGlzdC1uYXZ7XHJcbiAgICAgICAgd2lkdGg6IDIwJTsgaGVpZ2h0OiAxMDRweDsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogMjBweCAyNXB4OyBkaXNwbGF5OiB0YWJsZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgY29sb3I6ICNmZmY7IG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaW5oZXJpdDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGhlaWdodCBlYXNlLW91dCk7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBzcGFue2Rpc3BsYXk6IHRhYmxlLWNlbGw7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDMwMDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbGluZS1oZWlnaHQ6IDE2cHg7fVxyXG4gICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7IHotaW5kZXg6IC0xO31cclxuICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMDAlOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiAwOyBiYWNrZ3JvdW5kOiAjMDA1NGE2OyB3aWR0aDogMTAwJTsgbWFyZ2luOiAwIGF1dG87IG9wYWNpdHk6IDA7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCBlYXNlLW91dCk7fVxyXG5cclxuICAgICAgICAmLnNsaWNrLWN1cnJlbnQsICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle3RvcDogLTVweDt9XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7aGVpZ2h0OiA1cHg7IG9wYWNpdHk6IDE7IG1hcmdpbi1ib3R0b206IDVweDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ib3gtZGVzYy1hYntcclxuICAgIHBhZGRpbmc6IDYwcHggMCA2MHB4IDIxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAuYm94LXQtYWJ7XHJcbiAgICAgICAgd2lkdGg6IDE5MHB4OyBtYXJnaW4tcmlnaHQ6IDIwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA2MHB4OyBsZWZ0OiAwO1xyXG4gICAgICAgIHNwYW57Zm9udC1zaXplOiAxOHB4OyBjb2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IDMwMDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDhweDt9XHJcbiAgICAgICAgaDN7Zm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICRibHVlMjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAyNnB4OyBsZXR0ZXItc3BhY2luZzogMXB4O31cclxuICAgIH1cclxuICAgIC5kZXNjLWxlZnQsIC5kZXNjLXJpZ2h0e3dpZHRoOiA1MCU7IG1heC13aWR0aDogMTAwJTsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBwYWRkaW5nOiAwIDIwcHg7IGZsb2F0OiBsZWZ0O31cclxuICAgIC5kZXNjLWxlZnR7Zm9udC1zaXplOiAyM3B4OyBsaW5lLWhlaWdodDogMzhweDsgY29sb3I6ICM0MDQwNDA7IGZvbnQtd2VpZ2h0OiAzMDA7fVxyXG4gICAgLmRlc2MtcmlnaHR7Zm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMzBweDsgY29sb3I6ICM2NjY2NjY7fVxyXG59XHJcblxyXG4ucGlsYXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDEzMHB4IDAgMTEwcHg7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAuYmd7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgei1pbmRleDogLTE7fVxyXG4gICAgLmJveC1saXN0LXBpbGFye21hcmdpbi10b3A6IDQ2cHg7IG1hcmdpbi1ib3R0b206IDE3MHB4O31cclxufVxyXG4udGl0bGUtcGlsYXJ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgd2lkdGg6IDQwcHg7IGhlaWdodDogM3B4OyBtYXJnaW46IDAgYXV0bzsgYmFja2dyb3VuZDogJGJsdWUyO31cclxuICAgIGgye2ZvbnQtc2l6ZTogNDVweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICRibHVlMjsgbWFyZ2luLWJvdHRvbTogNXB4O31cclxuICAgIGgze2ZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IDMwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICRibHVlMjsgbGV0dGVyLXNwYWNpbmc6IDNweDt9XHJcbiAgICAudGhyZWUtcGlsYXJ7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDFweDstd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiAjOTQ5NDk0OyBmb250LXNpemU6IDEyMHB4OyBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtODdweDsgbGVmdDogNTAlOyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7IHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG59XHJcbi5ib3gtbGlzdC1waWxhcntcclxuICAgIGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogOTQwcHg7IG1hcmdpbjogMCBhdXRvOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvKiY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3JkZXItdG9wOiAxcHggZGFzaGVkICNhMWExYTE7IHotaW5kZXg6IC0xO30qL1xyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgLmxpc3QtcGlsYXJ7XHJcbiAgICAgICAgd2lkdGg6IDIyMHB4OyBoZWlnaHQ6IDIyMHB4OyBmbG9hdDogbGVmdDsgbWF4LXdpZHRoOiAxMDAlOyBib3JkZXI6IDNweCBzb2xpZCAkYmx1ZTI7IGNvbG9yOiAjZmZmOyBkaXNwbGF5OiB0YWJsZTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDI1cHg7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAuZGVzYy1waWxhcntwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjQwcHg7IGxlZnQ6IDA7dGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjMzMzMzMzOyBsaW5lLWhlaWdodDogMjZweDsgb3BhY2l0eTogMDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCk7fVxyXG4gICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6ICRibHVlMjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xcHg7IGxlZnQ6IC0xcHg7IGJvdHRvbTogLTFweDsgcmlnaHQ6IC0xcHg7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTsgei1pbmRleDogLTE7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCBlYXNlLW91dCk7fVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKXttYXJnaW46MCAxNDBweDt9XHJcbiAgICAgICAgYXtjb2xvcjogJHdoaXRlO2Rpc3BsYXk6IHRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbiAgICAgICAgaDN7ZGlzcGxheTogYmxvY2s7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMjZweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDMwcHg7fVxyXG4gICAgICAgIC5saW5ldntwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiAxMDAlOyB3aWR0aDogMTAwJTsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYTFhMWExOyB6LWluZGV4OiAtMTt9XHJcblxyXG5cclxuICAgICAgICAmLmJsdWV7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtiYWNrZ3JvdW5kOiAkYmx1ZTI7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnllbGxvd3tcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtiYWNrZ3JvdW5kOiAkeWVsbG93OyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVke1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle2JhY2tncm91bmQ6ICRyZWQ7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle3RvcDogMjBweDsgbGVmdDogMjBweDsgcmlnaHQ6IDIwcHg7IGJvdHRvbTogMjBweDt9XHJcbiAgICAgICAgICAgIC5kZXNjLXBpbGFye29wYWNpdHk6IDE7IHRvcDogMjUwcHg7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhbm5lci1sYW5kc3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMjAwcHg7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogNDBweCAwOyBAaW5jbHVkZSBib3hTaGFkb3coMCA4NXB4IDUwcHggNnB4IHJnYmEoMCwwLDAsMC4wMykpO1xyXG4gICAgLmJne1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiAtMTtcclxuICAgICAgICAuYmctbGVmdHtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9iZy1iYW5uZXItbGVmdC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IHdpZHRoOiAxMjZweDt9XHJcbiAgICAgICAgLmJnLXJpZ2h0e3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9iZy1iYW5uZXItcmlnaHQucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjsgd2lkdGg6IDEyNnB4O31cclxuICAgIH1cclxuICAgIC53cmFwcGVye3otaW5kZXg6IDI7fVxyXG4gICAgLmxvZ28tYmFubmVye2Zsb2F0OiBsZWZ0O31cclxuICAgIC5kZXNjLWJhbm5lcntcclxuICAgICAgICBmbG9hdDogcmlnaHQ7IHdpZHRoOiA4NjBweDtmb250LXNpemU6IDI4cHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGNvbG9yOiAjNjY2NjY2OyBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBwe21hcmdpbi1ib3R0b206IDIwcHg7IGxpbmUtaGVpZ2h0OiAzNnB4O31cclxuICAgIH1cclxufVxyXG5cclxuLm5ld3MtaG9tZXtcclxuICAgIHBhZGRpbmc6IDg1cHggMCA5NXB4OyB6LWluZGV4OiAyOyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAudHJpZy1uZXdze3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyMzBweDsgbGVmdDogMDsgcmlnaHQ6IDA7fVxyXG4gICAgLmJveC1saXN0LXRodW1ie21hcmdpbi1ib3R0b206IDYwcHg7fVxyXG59XHJcbi5ib3gtdGl0e1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxufVxyXG4uYm94LWxpc3QtdGh1bWJ7XHJcbiAgICBtYXJnaW46IDAgLTE1cHg7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAubGlzdC10aHVtYntcclxuICAgICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMzMzMzMyU7IGZsb2F0OiBsZWZ0OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICBhe2NvbG9yOiAjMzMzOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgY29sb3IgZWFzZS1vdXQpO31cclxuICAgICAgICA+IGF7ZGlzcGxheTogdGFibGU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG4gICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGltZ3t3aWR0aDogMTAwJTsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIHRyYW5zZm9ybSk7fVxyXG4gICAgICAgICAgICAuaW5mby10b3B7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwO31cclxuICAgICAgICB9XHJcbiAgICAgICAgcHttYXJnaW4tYm90dG9tOiAwO31cclxuICAgICAgICAuZGVzYy10aHVtYntcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNi43MnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDE4LjU4cHg7XHJcbiAgICAgICAgICAgIC5pbmZvLWRhdGV7Zm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzkzOTM5MzsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGluZS1oZWlnaHQ6IDIwcHg7fVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgZmlndXJle1xyXG4gICAgICAgICAgICAgICAgaW1ne0BpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjLXRodW1ie1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGNvbG9yIGVhc2Utb3V0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJvcmRlcntcclxuICAgICAgICAubGlzdC10aHVtYntcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMTVweDsgcmlnaHQ6IDE1cHg7IGJvdHRvbTogMDsgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTsgei1pbmRleDogLTE7fVxyXG4gICAgICAgICAgICBmaWd1cmV7bWFyZ2luLWJvdHRvbTogMDt9XHJcbiAgICAgICAgICAgIC5kZXNjLXRodW1ie1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjJweCAyNHB4IDI3cHg7IGZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGNvbG9yOiAjM2EzYTNhOyBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgcHtsaW5lLWhlaWdodDogMjZweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5uby1pbWd7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgaGVpZ2h0OiAzMjFweDtcclxuICAgICAgICAgICAgICAgID4gZmlndXJle2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgICAgICAgICAgcHtsaW5lLWhlaWdodDogMzhweDt9XHJcbiAgICAgICAgICAgICAgICAuaW5mby10b3B7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAxNXB4O31cclxuICAgICAgICAgICAgICAgIC5kZXNjLXRodW1ie2ZvbnQtc2l6ZTogMzBweDsgbGluZS1oZWlnaHQ6IDM4cHg7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnd0aC1saW5re1xyXG4gICAgICAgICAgICAgICAgLmRlc2MtdGh1bWJ7cGFkZGluZy1ib3R0b206IDc3cHg7fVxyXG4gICAgICAgICAgICAgICAgLmxpbmstaWNvbntwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMjJweDsgbGVmdDogMzlweDt9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtAaW5jbHVkZSBib3hTaGFkb3coMCAwIDE5cHggLTFweCByZ2JhKDAsMCwwLDAuMykpOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYm94LXNoYWRvdyBlYXNlLW91dCk7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAmLm5vc2hhZG93e1xyXG4gICAgICAgIC5saXN0LXRodW1ie1xyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgZmlndXJle0BpbmNsdWRlIGJveFNoYWRvdyhub25lKTt9XHJcbiAgICAgICAgICAgICAgICAuZGVzYy10aHVtYntAaW5jbHVkZSBib3hTaGFkb3cobm9uZSk7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5pbmZvLXRvcHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgLmJsLCAuZ3J7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgY29sb3I6ICR3aGl0ZTt0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGZsb2F0OiBsZWZ0OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDEwcHggM3B4OyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAxNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHNwYW57Zm9udC1zaXplOiAxMXB4OyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogM3B4O31cclxuICAgIH1cclxuICAgIC5ibHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5pY3dwe3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7fVxyXG4gICAgfVxyXG4gICAgLmdye2JhY2tncm91bmQ6ICRncmV5O31cclxufVxyXG5cclxuLmRlLWluZm97XHJcbiAgICAuYmwsIC5ncntcclxuICAgICAgICBjb2xvcjogJHdoaXRlO3RleHQtYWxpZ246IGNlbnRlcjsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogNXB4IDdweDsgZm9udC1zaXplOiAxMXB4OyBsaW5lLWhlaWdodDogMTVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIC5ibHtcclxuICAgICAgICB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBiYWNrZ3JvdW5kOiAkYmx1ZTsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5pY3dwe3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBtYXJnaW46IGF1dG87fVxyXG4gICAgfVxyXG4gICAgLmdye2hlaWdodDogMjRweDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO31cclxuXHJcbiAgICAmLmdyZXl7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC5ibCwgLmdye2NvbG9yOiAjNjY2NjY2OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgZm9udC13ZWlnaHQ6IDkwMDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjJzIGFsbCk7fVxyXG4gICAgICAgIC5ncntiYWNrZ3JvdW5kOiAjZTVlNWU1O31cclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgLmJsLCAuZ3J7Y29sb3I6ICR3aGl0ZTt9XHJcbiAgICAgICAgICAgIC5ncntiYWNrZ3JvdW5kOiAjNjY2NjY2O31cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uYm94LWxpc3QtZ2FsbGVyeXtcclxuICAgIG1hcmdpbjogMCAtMTVweDtcclxuICAgIC5saXN0LWdhbGxlcnl7XHJcbiAgICAgICAgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogMCAxNXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAuZGVzYy1nYWxsZXJ5e1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMTdweDsgbGVmdDogMDsgcmlnaHQ6IDA7IHBhZGRpbmc6IDMwcHggNDFweDsgY29sb3I6ICR3aGl0ZTsgei1pbmRleDogNDtcclxuICAgICAgICAgICAgaDR7Y29sb3I6ICR3aGl0ZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDE1cHg7IGZvbnQtd2VpZ2h0OiAzMDA7IGxpbmUtaGVpZ2h0OiAyOHB4OyBoZWlnaHQ6IDU0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYWxsIGVhc2Utb3V0KTsgb3BhY2l0eTogMDsgdG9wOiAxMHB4O31cclxuICAgICAgICAgICAgLmRlLWluZm97XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogNjBweDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzIGFsbCBlYXNlLW91dCk7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWRlcGhvdG9zLWhvbWV7XHJcbiAgICAgICAgICAgIC5kZXNjLWdhbGxlcnl7cGFkZGluZy1sZWZ0OiAyNXB4OyBwYWRkaW5nLXJpZ2h0OiAyNXB4O31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpbmtzZWVhbGx7cG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDI1cHg7IHJpZ2h0OiA0MHB4OyB6LWluZGV4OiAyMDsgY29sb3I6ICR3aGl0ZTt9XHJcblxyXG4gICAgICAgICYudmlkc3tcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvZmctc2hhZG93LXZpZGVvLnBuZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyOyB6LWluZGV4OiAzOyBjdXJzb3I6IHBvaW50ZXI7fVxyXG4gICAgICAgICAgICBpZnJhbWV7d2lkdGg6IDEwMCU7IGhlaWdodDogMzQwcHg7IHotaW5kZXg6IDE7fVxyXG4gICAgICAgICAgICB2aWRlb3t3aWR0aDogMTAwJTsgaGVpZ2h0OiAzNDBweDsgei1pbmRleDogMTt9XHJcbiAgICAgICAgICAgIGZpZ3VyZXtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMTVweDsgcmlnaHQ6IDE1cHg7IGJvdHRvbTogMDsgei1pbmRleDogMjt9XHJcbiAgICAgICAgICAgIC5wbGF5dmlke3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7IG1hcmdpbi10b3A6IC0yNXB4OyB3aWR0aDogODFweDsgaGVpZ2h0OiA4MXB4OyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19wbGF5LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7IHotaW5kZXg6IDU7IGN1cnNvcjogcG9pbnRlcjt9XHJcblxyXG4gICAgICAgICAgICAmLnBsYXlpbmd7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtkaXNwbGF5OiBub25lO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIC5kZXNjLWdhbGxlcnl7XHJcbiAgICAgICAgICAgICAgICBoNHt0b3A6IDA7IHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7IG9wYWNpdHk6IDE7fVxyXG4gICAgICAgICAgICAgICAgLmRlLWluZm97dG9wOiAwO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlcGhvdG9zLWhvbWV7XHJcbiAgICAubGlzdHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjtwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvZmctc2hhZG93LXZpZGVvLnBuZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyOyB6LWluZGV4OiAzOyBjdXJzb3I6IHBvaW50ZXI7fVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWJvdXQtYXNlYW57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDc1cHggMCA1NXB4OyBiYWNrZ3JvdW5kOiAjZjJmMmYyIHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2JnLWJhbm5lci1mbGFnLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7IG1pbi1oZWlnaHQ6IDMwMHB4OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAuZGVzYy1hYm91dC1hc2VhbntcclxuICAgICAgICB3aWR0aDogODMwcHg7XHJcbiAgICAgICAgaDR7Zm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMnB4OyBtYXJnaW4tYm90dG9tOiAyMHB4O31cclxuICAgICAgICBwe2ZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGNvbG9yOiAjNjY2NjY2OyBtYXJnaW4tYm90dG9tOiAzMHB4O31cclxuICAgIH1cclxufVxyXG4ucHJlc3MtcmVsZWFzZXtcclxuICAgIHBhZGRpbmc6IDEwNXB4IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC50cmlnLXJlbGVhc2V7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDI1MHB4O1xyXG4gICAgfVxyXG59XHJcbi5ib3gtaC1yZWxlYXNle1xyXG4gICAgLmxlZnQtcmVsZWFzZXtcclxuICAgICAgICB3aWR0aDogNzgwcHg7IGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIC5ib3gtdGl0e21hcmdpbi1ib3R0b206IDYwcHg7fVxyXG4gICAgfVxyXG4gICAgLnJpZ2h0LXJlbGVhc2V7d2lkdGg6IDM2MHB4OyBmbG9hdDogcmlnaHQ7IGJvcmRlcjogMXB4IHNvbGlkICNkN2Q3ZDc7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcGFkZGluZzogMzBweCA0MHB4O31cclxufVxyXG4uYm94LWxpc3QtcmVsZWFzZXtcclxuICAgIG1hcmdpbjogMCAtMTJweDtcclxuICAgIC5saXN0LXJlbGVhc2V7XHJcbiAgICAgICAgd2lkdGg6IDUwJTsgcGFkZGluZzogMCAxMnB4OyBmbG9hdDogbGVmdDsgcG9zaXRpb246IHJlbGF0aXZlOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IG1pbi1oZWlnaHQ6IDEzOHB4OyBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IGxlZnQ6IDEycHg7IHJpZ2h0OiAxMnB4OyBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogI2MyYzJjMjtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYWxsKTt9XHJcbiAgICAgICAgLmluZm8tdG9we1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMTJweDtcclxuICAgICAgICAgICAgLmJse3dpZHRoOiA0MXB4OyBoZWlnaHQ6IDQxcHg7fVxyXG4gICAgICAgICAgICAuZ3J7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDFweDsgaGVpZ2h0OiA0MXB4O2ZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEycHg7IHBhZGRpbmc6IDlweCAwO1xyXG4gICAgICAgICAgICAgICAgc3Bhbntmb250LXNpemU6IDEwcHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjLXJlbGVhc2V7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjJweDsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMzMzM7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwpO1xyXG4gICAgICAgICAgICBhe2NvbG9yOiAjMzMzO31cclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAmOm50aC1jaGlsZCgybisxKXtjbGVhcjogYm90aDt9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgJjphZnRlcntoZWlnaHQ6IDNweDt9XHJcbiAgICAgICAgICAgIC5kZXNjLXJlbGVhc2V7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgYXtjb2xvcjogJGJsdWU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYm94LW5hdi1jb250ZW50e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLm5hdi1jb250ZW50e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMDAlOyBsZWZ0OiAwOyByaWdodDogMDsgYmFja2dyb3VuZDogJHdoaXRlIHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL3NoLWJ0bS5wbmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYXtjb2xvcjogIzY2NjY2Njt9XHJcbiAgICAgICAgLmxlZnR7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDMxcHg7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDYwcHg7IGhlaWdodDogNjBweDsgZm9udC13ZWlnaHQ6IDQwMDsgY29sb3I6ICM2NjY2NjY7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgd2lkdGg6IDg1JTsgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgLmljd3B7bWFyZ2luLXJpZ2h0OiA3cHg7fVxyXG4gICAgICAgICAgICBzcGFuLmFyLXJpZ2h0e21hcmdpbi1yaWdodDogMTBweDt9XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtmb250LXdlaWdodDogNzAwO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHR7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgID4gc3Bhbntmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAjOTk5OyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuICAgICAgICAgICAgLmJveC1kb3RzLW1lbnV7ZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMTVweDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYm94LWRvdHMtbWVudXtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5kb3RzLW1lbnV7XHJcbiAgICAgICAgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kOiAkYmx1ZTsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7IGJhY2tncm91bmQ6ICR3aGl0ZTsgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHt0b3A6IDE5cHg7IGxlZnQ6IDI4cHg7fVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKXt0b3A6IDI5cHg7IGxlZnQ6IDI4cHg7fVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7dG9wOiAzOXB4OyBsZWZ0OiAyOHB4O31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm94LWRyb3AtZG90cy1tZW51e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDAlOyByaWdodDogMDsgYmFja2dyb3VuZDogJGJsdWU7IGNvbG9yOiAkd2hpdGU7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDI7XHJcbiAgICAgICAgdWx7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDsgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMjZweCAxM3B4IDQ1cHg7IG1pbi13aWR0aDogMjkwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1hbGlnbjogcmlnaHQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgbWFyZ2luLWJvdHRvbTogMDsgcG9zaXRpb246IHJlbGF0aXZlOyBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlOyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye2NvbG9yOiAjZmVjMTA3O31cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmRyb3B7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8qJjphZnRlcntjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTZweDsgbGVmdDogMjBweDsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTBweDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctdG9wLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7IEBpbmNsdWRlIHRyYW5zZm9ybU9yaWdpbig1MCUpOyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpOyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyB0cmFuc2Zvcm0gZWFzZS1vdXQpO30qL1xyXG4gICAgICAgICAgICAgICAgICAgIC8qPiBhe3BhZGRpbmctbGVmdDogMjBweDt9Ki9cclxuICAgICAgICAgICAgICAgICAgICAuYnRuY2N7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA0cHg7IGxlZnQ6IDEwcHg7IHdpZHRoOiAzNXB4OyBoZWlnaHQ6IDMwcHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fycm93LXRvcC5wbmcnKSBuby1yZXBlYXQgY2VudGVyOyBAaW5jbHVkZSB0cmFuc2Zvcm1PcmlnaW4oNTAlKTsgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4OyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgdHJhbnNmb3JtIGVhc2Utb3V0KTsgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiY6aG92ZXJ7dG9wOiAxN3B4O30qL1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qJjphZnRlcntAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTt9Ki9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPmF7Y29sb3I6ICNmZWMxMDd9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idG5jY3tAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTt9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVse2Rpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB1bHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDIwcHggNXB4IDA7IG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGF7Y29sb3I6ICNmZWMxMDc7fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgID4gYXtjb2xvcjogI2ZlYzEwNzt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5nbi1jb250ZW50e1xyXG4gICAgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzMzMztcclxuICAgICYuYm9yLXRvcHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xcHg7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogI2Q3ZDdkNzsgei1pbmRleDogMTt9XHJcbiAgICB9XHJcbiAgICAuaGJvbGR7XHJcbiAgICAgICAgQGV4dGVuZCAuaGJvbGQ7IG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgJi5oYmx1ZXtjb2xvcjogJGJsdWU7fVxyXG4gICAgfVxyXG4gICAgLnRncmV5e2NvbG9yOiAjNjY2O31cclxuICAgIC50eHQtaXtmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiAjNjY2NjY2OyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiAzMDA7fVxyXG4gICAgaDN7Zm9udC1zaXplOiAzNnB4OyBmb250LXdlaWdodDogMzAwOyBsaW5lLWhlaWdodDogNDJweDtjb2xvcjogIzY2Njt9XHJcbiAgICBoNHtsaW5lLWhlaWdodDogMzBweDt9XHJcbiAgICBoNXtjb2xvcjogIzMzMzMzMzsgZm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMzZweDsgZm9udC13ZWlnaHQ6IDMwMDt9XHJcbiAgICB1bHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogNDBweDsgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDEwcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDNweDsgYmFja2dyb3VuZDogJHllbGxvdzI7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9se1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAyMnB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgbGVmdDogMDsgd2lkdGg6IDRweDsgaGVpZ2h0OiA0cHg7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTsgYmFja2dyb3VuZDogIzMzMzMzMzt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGFibGV7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGhlYWR7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk5OTk7fVxyXG4gICAgICAgIHRye1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OTk5OTtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206IG5vbmU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aCwgdGR7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTk5OyBiYWNrZ3JvdW5kOiAjOTZiZGVjO1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OiBub25lO31cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pe2JhY2tncm91bmQ6ICNhZWNjZWY7fVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aHtwYWRkaW5nOiAyMHB4IDI2cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMThweDt9XHJcbiAgICAgICAgdGR7cGFkZGluZzogMjZweDsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjBweDt9XHJcbiAgICB9XHJcbiAgICBocntcclxuICAgICAgICBib3JkZXI6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDFweDsgYmFja2dyb3VuZDogI2Q4ZDhkODsgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtZ2FsbGVyeS1kZXRhaWx7XHJcbiAgICBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBwYWRkaW5nOiAyMHB4IDM4cHg7XHJcbiAgICBwe2xpbmUtaGVpZ2h0OiAyNHB4O31cclxufVxyXG4uYm94LWlubmVyLWNvbnRlbnR7XHJcbiAgICBwYWRkaW5nOiA3OHB4IDA7XHJcbn1cclxuLmJveC1hc2lkZXtcclxuICAgIG1hcmdpbi1ib3R0b206IDQ2cHg7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICBhc2lkZSwgYXJ0aWNsZXttYXgtd2lkdGg6IDEwMCU7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXRvcDogNDZweDt9XHJcbiAgICBhc2lkZXtcclxuICAgICAgICB3aWR0aDogMzcwcHg7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xyXG4gICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogNjBweDsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6ICNkOGQ4ZDg7fVxyXG4gICAgfVxyXG4gICAgYXJ0aWNsZXtcclxuICAgICAgICB3aWR0aDogODMwcHg7IGZsb2F0OiByaWdodDsgbWF4LXdpZHRoOiAxMDAlOyBjb2xvcjogIzMzMzsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiAjZDhkOGQ4O31cclxuICAgICAgICBwe2xpbmUtaGVpZ2h0OiAyOHB4O31cclxuICAgICAgICBhe3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cclxuICAgIH1cclxuICAgIC50Z3JleXtjb2xvcjogIzY2Njt9XHJcbiAgICAmLm5vYm9yZGVye2JvcmRlcjogbm9uZTt9XHJcbn1cclxuLmJveC1zaWRlLWJsdWV7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyB3aWR0aDogMzcwcHg7IG1heC13aWR0aDogMTAwJTsgYmFja2dyb3VuZDogJGJsdWU7IHotaW5kZXg6IC0xO31cclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIC5sZWZ0LXNpZGV7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzNzBweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBtYXgtd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDEwMHB4IDQ2cHggNTBweCA1MHB4OyBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgIHB7bGluZS1oZWlnaHQ6IDI2cHg7fVxyXG4gICAgICAgIC5saW5lLWgtdG9we3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1OHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogNDBweDsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6ICNmMDNmMzQ7fVxyXG4gICAgICAgIC5pbi1jYXB7cG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDQ1cHg7IGxlZnQ6IDUwcHg7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6ICNmYmMxMjQ7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgbWF4LXdpZHRoOiAyNiU7fVxyXG4gICAgfVxyXG4gICAgLnJpZ2h0LXNpZGV7ZmxvYXQ6IHJpZ2h0OyB3aWR0aDogODMwcHg7IG1heC13aWR0aDogMTAwJTsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBsaW5lLWhlaWdodDogMDt9XHJcbn1cclxuLmRlc2MtZmxhZ3tcclxuICAgIC5saXN0e1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAgICAgLmlje2Zsb2F0OiBsZWZ0OyB3aWR0aDogMTAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjt9XHJcbiAgICAgICAgLmRje2Zsb2F0OiByaWdodDsgd2lkdGg6IDcxN3B4O31cclxuICAgIH1cclxufVxyXG4uYm94LWltZy1tYXB7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDt9XHJcbiAgICAubGVmdHt3aWR0aDogNDg3cHg7fVxyXG4gICAgLnJpZ2h0e3dpZHRoOiAzMjdweDt9XHJcbn1cclxuLmJveC1saW5rLWlje1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWxlZnQ6IDI0cHg7IGZvbnQtc2l6ZTogMTZweDtcclxuICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1cHg7IGxlZnQ6IDA7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2xpbmsucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyOyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4O31cclxuICAgIGF7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG59XHJcbi5ib3gtdGFiLWNvdW50cnl7XHJcbiAgICAuYm94LWNvbnRlbnQtdGFie1xyXG4gICAgICAgIC5saXN0LXRhYntcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgJi5hY3RpdmV7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYm94LWxpc3QtY291bnRyeXtcclxuICAgIG1hcmdpbjogMjhweCAtMzBweCAxMjBweDtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIC5zbGljay1saXN0e3BhZGRpbmc6IDAgMjBweDt9XHJcbiAgICAubGlzdHtcclxuICAgICAgICBmbG9hdDogbGVmdDsgcGFkZGluZzogMCAxNXB4OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gICAgICAgIGZpZ3VyZXt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG4gICAgICAgIGltZ3tAaW5jbHVkZSBncmF5c2NhbGUoMTAwJSk7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwgZWFzZS1vdXQpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG4gICAgICAgIC50b29sdGlwe1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogOTAlOyBsZWZ0OiAwOyByaWdodDogMDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzc3Nzc3NzsgXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMnB4OyBvcGFjaXR5OiAwO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlOyBwYWRkaW5nOiAxMnB4IDIycHg7IEBpbmNsdWRlIGJveFNoYWRvdygtNnB4IDJweCAxMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMikpOyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLypAaW5jbHVkZSBib3hTaGFkb3coLTRweCA2cHggMTNweCAtM3B4IHJnYmEoMCwwLDAsMC4yKSk7Ki9cclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IGJvcmRlci1ib3R0b206IDEycHggc29saWQgJHdoaXRlOyBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50OyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMTAwJTsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLTZweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGltZ3tvcGFjaXR5OiAwLjU7IEBpbmNsdWRlIGdyYXlzY2FsZSgwJSk7fVxyXG4gICAgICAgICAgICAudG9vbHRpcHtvcGFjaXR5OiAxOyB0b3A6IDEwMCU7fVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgaW1ne29wYWNpdHk6IDE7IEBpbmNsdWRlIGdyYXlzY2FsZSgwJSk7fVxyXG4gICAgICAgICAgICAudG9vbHRpcHtvcGFjaXR5OiAxOyB0b3A6IDEwMCU7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiN2I3OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogMTBweDsgd2lkdGg6IDI4cHg7IHRvcDogMDsgaGVpZ2h0OiA2MHB4OyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDApKTtcclxuICAgICAgICAmOmJlZm9yZXtkaXNwbGF5OiBub25lO31cclxuICAgIH1cclxuICAgIC5zbGljay1wcmV2e2xlZnQ6IC0zMnB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnItc2xpZGUtcHJldi5wbmcnKTt9XHJcbiAgICAuc2xpY2stbmV4dHtyaWdodDogLTMycHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fyci1zbGlkZS1uZXh0LnBuZycpO31cclxuXHJcbiAgICAmLnNlbGVjdGVke1xyXG4gICAgICAgIC5saXN0e1xyXG4gICAgICAgICAgICBpbWd7QGluY2x1ZGUgZ3JheXNjYWxlKDEwMCUpO31cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGltZ3tvcGFjaXR5OiAwLjU7IEBpbmNsdWRlIGdyYXlzY2FsZSgwJSk7fVxyXG4gICAgICAgICAgICAgICAgLnRvb2x0aXB7b3BhY2l0eTogMTt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICBpbWd7b3BhY2l0eTogMTsgQGluY2x1ZGUgZ3JheXNjYWxlKDAlKTt9XHJcbiAgICAgICAgICAgICAgICAudG9vbHRpcHtvcGFjaXR5OiAxO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICAgLmxpc3R7XHJcbiAgICAgICAgICAgIGltZ3tAaW5jbHVkZSBncmF5c2NhbGUoMCUpO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib3gtcHJvZi1jb3VudHJ5e1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIC5sZWZ0LWNvdW50cnl7XHJcbiAgICAgICAgd2lkdGg6IDI4OHB4OyBmbG9hdDogbGVmdDtcclxuICAgICAgICBmaWd1cmV7bWFyZ2luLWJvdHRvbTogMzBweDt9XHJcbiAgICAgICAgaDZ7Zm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tYm90dG9tOiAxNXB4O31cclxuICAgICAgICBzcGFue2ZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDMwMDsgY29sb3I6ICM2NjY2NjY7fVxyXG4gICAgfVxyXG4gICAgLnJpZ2h0LWNvdW50cnl7XHJcbiAgICAgICAgd2lkdGg6IDgzMnB4OyBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgLnRpdGwtY291bnRyeXttYXJnaW4tYm90dG9tOiAzNXB4OyBsaW5lLWhlaWdodDogMzhweDt9XHJcbiAgICB9XHJcbn1cclxuLnRpdGwtY291bnRyeXtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAuZmx7d2lkdGg6IDY1cHg7IG1hcmdpbi1yaWdodDogMjBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7fVxyXG4gICAgLm5te1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMzMzMzMzM7IHBhZGRpbmctbGVmdDogODVweDsgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaXtmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiAzMDA7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtZGF0YS1wcmVze1xyXG4gICAgd2lkdGg6IDQwOXB4O1xyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7fVxyXG4gICAgLmxpc3QtZGF0YS1wcmVze1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAxOHB4OyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IGNsZWFyOiBib3RoO31cclxuICAgICAgICAubGVmdHt3aWR0aDogMjE4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7fVxyXG4gICAgICAgIC5yaWdodHt3aWR0aDogMTc5cHg7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtYWNjb3JkaW9ue1xyXG4gICAgLmxpc3QtYWNjb3JkaW9ue1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzJjMmMyO1xyXG4gICAgICAgIC5idG4tYWNje1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAzMHB4IDUwcHggMzBweCAzMHB4OyBmb250LXNpemU6IDIwcHg7IGNvbG9yOiAjNjY2NjY2OyBmb250LXdlaWdodDogNzAwOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmctcmlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMXB4OyBsZWZ0OiAwOyBib3R0b206IDA7IHdpZHRoOiAwOyBiYWNrZ3JvdW5kOiAkYmx1ZTsgei1pbmRleDogLTE7IG9wYWNpdHk6IDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyBhbGwpO31cclxuICAgICAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMjBweDsgd2lkdGg6IDIycHg7IGhlaWdodDogMTNweDsgbWFyZ2luLXRvcDogLTdweDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctYWNjLnBuZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyBhbGwpO31cclxuICAgICAgICAgICAgLmxpbmV2e3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHdpZHRoOiAzcHg7IGJhY2tncm91bmQ6ICRibHVlOyB6LWluZGV4OiAxO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC1jb250ZW50LWFjY3tkaXNwbGF5OiBub25lOyBwYWRkaW5nOiA0MHB4IDAgNDBweDt9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzJjMmMyO31cclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgLmJ0bi1hY2N7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7d2lkdGg6IDEwMCU7IG9wYWNpdHk6IDE7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAuYnRuLWFjY3tcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXt3aWR0aDogMTAwJTsgb3BhY2l0eTogMTt9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye2JhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7fVxyXG4gICAgICAgICAgICAgICAgLmxpbmV2e2JhY2tncm91bmQ6ICRyZWQ7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ib3gtY29udGVudC1hY2N7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucGFnaW5hdGlvbntcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNjBweCAwIDMwcHg7XHJcbiAgICBhe1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luOiAwIDhweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXdlaWdodDogMzAwOyBmb250LWZhbWlseTogXCJMYXRvXCI7XHJcbiAgICAgICAgJi5hY3RpdmV7Zm9udC13ZWlnaHQ6IDcwMDt9XHJcbiAgICAgICAgJjpob3Zlcntjb2xvcjogI2RhMjEyODt9XHJcbiAgICAgICAgJi5wcmV2LCAmLm5leHR7cG9zaXRpb246IHJlbGF0aXZlO2ZvbnQtd2VpZ2h0OiA0MDA7fVxyXG4gICAgICAgICYucHJldntcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O3BhZGRpbmctbGVmdDogMjRweDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctbGVmdC1wYWdpbmcucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyOyB3aWR0aDogMTJweDsgaGVpZ2h0OiAyNHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDotNXB4OyBsZWZ0OiAwO31cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RhMjEyODtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2JhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5uZXh0e1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgcGFkZGluZy1yaWdodDogMjRweDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctcmlnaHQtcGFnaW5nLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7d2lkdGg6IDEycHg7IGhlaWdodDogMjRweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6LTVweDsgcmlnaHQ6IDA7fVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGEyMTI4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYm94LWNhbGVuZGFye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmJveC1ldmVudC1kZXRhaWx7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kOiAjZWFlYWVhOyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmc6IDIzcHggMzNweDsgei1pbmRleDogMTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTsgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5ib3gtbGlzdC1ldmVudHtcclxuICAgICAgICAubGlzdC1ldmVudHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwM3B4OyBtYXJnaW4tcmlnaHQ6IDk4cHg7IGZsb2F0OiBsZWZ0OyBmb250LWZhbWlseTogXCJMYXRvXCI7IGNvbG9yOiAjMDAwMDAwOyBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0bil7bWFyZ2luLXJpZ2h0OiAwO31cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rMSl7Y2xlYXI6IGJvdGg7fVxyXG5cclxuICAgICAgICAgICAgLnRpdGxlLWV2ZW50e1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO2ZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAyNHB4OyBtYXJnaW4tYm90dG9tOiAxNXB4OyBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAtMTdweDsgYm90dG9tOiAwOyB3aWR0aDogNXB4OyBiYWNrZ3JvdW5kOiAkYmx1ZTt9XHJcbiAgICAgICAgICAgICAgICBoNXtmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjMDAwMDAwOyBsaW5lLWhlaWdodDogMjRweDt9XHJcbiAgICAgICAgICAgICAgICBzcGFue2ZvbnQtc2l6ZTogMTZweDt9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2MtZXZlbnR7Zm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMThweDt9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jYWxlbmRhci1ldmVudHtcclxuICAgIC51aS1kYXRlcGlja2Vye1xyXG4gICAgICAgIHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiAjZWFlYWVhOyBmb250LWZhbWlseTogXCJMYXRvXCI7XHJcbiAgICAgICAgLnVpLWRhdGVwaWNrZXItaGVhZGVye0BpbmNsdWRlIGJvcmRlclJhZGl1cygwKTsgcGFkZGluZzogMDsgYm9yZGVyOiBub25lOyBtYXJnaW4tYm90dG9tOiA0NXB4O31cclxuICAgICAgICAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0e1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7IGhlaWdodDogNDBweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDApOyBkaXNwbGF5OiBibG9jazsgdG9wOiAwO1xyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHRleHQtaW5kZW50OiAwOyBtYXJnaW46IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZy10b3A6IDExcHg7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICM4ZDhjOGY7IGZvbnQtd2VpZ2h0OiA0MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVpLWRhdGVwaWNrZXItcHJldntcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTVweDsgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctZGF0ZXBpY2tlci5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMnB4OyBsZWZ0OiAwO31cclxuICAgICAgICAgICAgc3BhbntwYWRkaW5nLWxlZnQ6IDI1cHg7fVxyXG4gICAgICAgICAgICAmLnVpLWRhdGVwaWNrZXItcHJldi1ob3Zlcntib3JkZXI6IG5vbmU7Zm9udC13ZWlnaHQ6IDQwMDt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51aS1kYXRlcGlja2VyLW5leHR7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyByaWdodDogMDsgXHJcbiAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDE1cHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fycm93LWRhdGVwaWNrZXIucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTJweDsgcmlnaHQ6IDA7fVxyXG4gICAgICAgICAgICBzcGFue3BhZGRpbmctcmlnaHQ6IDI1cHg7fVxyXG4gICAgICAgICAgICAmLnVpLWRhdGVwaWNrZXItbmV4dC1ob3Zlcntib3JkZXI6IG5vbmU7Zm9udC13ZWlnaHQ6IDQwMDt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cywgLnVpLWJ1dHRvbjpob3ZlciwgLnVpLWJ1dHRvbjpmb2N1c3tcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciwgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3Zlcnt0b3A6IDA7IGJhY2tncm91bmQ6IGJsdWU7fVxyXG4gICAgICAgIC51aS1kYXRlcGlja2VyLXRpdGxle1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7IGNvbG9yOiAjMzMzOyBmb250LXdlaWdodDogNDAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsaW5lLWhlaWdodDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAudWktZGF0ZXBpY2tlci1tb250aHtmb250LXdlaWdodDogNzAwO31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRhYmxle1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIHRoZWFke2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICRibHVlO31cclxuICAgICAgICAgICAgdGh7Y29sb3I6ICRibHVlOyBmb250LXNpemU6IDE2cHg7fVxyXG4gICAgICAgICAgICB0aCwgdGR7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybil7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxyXG4gICAgICAgICAgICAgICAgYXt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG4gICAgICAgICAgICAgICAgc3Bhbnt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRke1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTFweDsgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogNDAwOyBjb2xvcjogIzNiMzk0MjtcclxuICAgICAgICAgICAgICAgIGF7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4xcyBhbGwgZWFzZS1vdXQpO31cclxuICAgICAgICAgICAgICAgICYud3BfZXZ7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVpLXN0YXRlLWRlZmF1bHR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYmFja2dyb3VuZDogJGJsdWU7IEBpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEycHg7IHJpZ2h0OiA2cHg7fVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyomOmJlZm9yZXtiYWNrZ3JvdW5kOiAkd2hpdGU7fSovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJ7Ym9yZGVyOiBub25lO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50e2JvcmRlcjogbm9uZTsgcGFkZGluZzogNDBweCAxNnB4OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7fVxyXG4gICAgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS1idXR0b24sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZle1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgd2lkdGg6IDY1cHg7IGhlaWdodDogNThweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbG9hdDogbm9uZTsgcGFkZGluZy10b3A6IDE3cHg7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgfVxyXG4gICAgLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHR7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjY2OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6ICMzYjM5NDI7XHJcbiAgICB9XHJcbiAgICAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSwgYS51aS1idXR0b246YWN0aXZlLCAudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7IGJvcmRlci1jb2xvcjogJGJsdWU7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib3gtbGlzdGluZ3tcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjtjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgLmxpc3QtbGlzdGluZ3tcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzhweDsgbWFyZ2luLWJvdHRvbTogNDBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgY2xlYXI6IGJvdGg7fVxyXG4gICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAuaW5mby10b3B7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwO31cclxuICAgICAgICB9XHJcbiAgICAgICAgaDN7Zm9udC1zaXplOiAzMnB4OyBsaW5lLWhlaWdodDogNDBweDsgY29sb3I6ICMzMzMzMzM7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1ib3R0b206IDEwcHg7fVxyXG4gICAgICAgIGg1e2ZvbnQtc2l6ZTogMTZweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNkNzExMjQ7IGZvbnQtd2VpZ2h0OiAzMDA7IG1hcmdpbi1ib3R0b206IDEwcHg7IGxldHRlci1zcGFjaW5nOiAycHg7fVxyXG4gICAgICAgIHB7Zm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjZweDsgY29sb3I6ICMzMzMzMzM7IG1hcmdpbi1ib3R0b206IDMwcHg7fVxyXG4gICAgICAgIC5sZWZ0LWxpc3Rpbmd7ZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1NTBweDsgbWF4LXdpZHRoOiAxMDAlO31cclxuICAgICAgICAucmlnaHQtbGlzdGluZ3tmbG9hdDogcmlnaHQ7IHdpZHRoOiA1OTBweDttYXgtd2lkdGg6IDEwMCU7fVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib3gtZGV0YWlsLXNpZGV7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICBhc2lkZXtcclxuICAgICAgICB3aWR0aDogMzcwcHg7IGZsb2F0OiBsZWZ0OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHBhZGRpbmctcmlnaHQ6IDU1cHg7XHJcbiAgICAgICAgaDN7Zm9udC1zaXplOiAzNnB4OyBjb2xvcjogJGJsdWU7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiA0NXB4OyBtYXJnaW4tYm90dG9tOiAyNXB4O31cclxuICAgICAgICBwe2ZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICM2NjY2NjY7IG1hcmdpbi1ib3R0b206IDQwcHg7fVxyXG4gICAgfVxyXG4gICAgYXJ0aWNsZXtcclxuICAgICAgICB3aWR0aDogODMwcHg7IGZsb2F0OiByaWdodDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGNvbG9yOiAjNjY2NjY2O1xyXG4gICAgICAgIGltZ3ttYXJnaW4tYm90dG9tOiA1MHB4O31cclxuICAgICAgICBwe2xpbmUtaGVpZ2h0OiAyNHB4O31cclxuICAgIH1cclxufVxyXG4uYm94LXNoYXJle1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDQwcHg7IHBhZGRpbmc6IDEwcHggMTVweDsgYmFja2dyb3VuZDogI2Q4ZDhkODsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzY2NjY2NjsgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAuaWN3cHttYXJnaW4tcmlnaHQ6IDEwcHg7IHZlcnRpY2FsLWFsaWduOiB0b3A7fVxyXG4gICAgLmRyb3Atc2hhcmV0aGlze3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDEwMCU7IGxlZnQ6IDA7IHBhZGRpbmc6IDEwcHggMDsgei1pbmRleDogMTA7fVxyXG5cclxuICAgICYuc2hydHJhbnN7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxyXG59XHJcblxyXG4uYm94LXJlbGF0ZWQtbmV3c3tcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgaDN7Zm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICRibHVlOyBmb250LXNpemU6IDMwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7fVxyXG59XHJcbi5ib3gtbGlzdC1wdXNkaXtcclxuICAgIG1hcmdpbjogMCAtNXB4O1xyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgLmxpc3QtcHVzZGl7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMCU7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgbWFyZ2luLWJvdHRvbTogMzBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDVweDsgY3Vyc29yOiBwb2ludGVyOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgb3BhY2l0eSk7XHJcbiAgICAgICAgJjpob3ZlcntvcGFjaXR5OiAwLjU7fVxyXG4gICAgICAgIGltZ3toZWlnaHQ6IDg2cHg7fVxyXG4gICAgfVxyXG59XHJcblxyXG4ucG9wdXB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpOyBkaXNwbGF5OiBub25lO3otaW5kZXg6IDEwMDA7XHJcbiAgICAuaW5uZXItcG9wdXB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogMDsgcmlnaHQ6IDA7IG1hcmdpbjogMCBhdXRvOyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7IGJhY2tncm91bmQ6ICR3aGl0ZTsgd2lkdGg6IDEwNjJweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBwYWRkaW5nOiA5N3B4IDUwcHggMzBweDtcclxuICAgICAgICAuY2xvc2UtYnRue1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGJhY2tncm91bmQ6ICRibHVlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbWFyZ2luOiBhdXRvOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6ICR3aGl0ZTsgQGluY2x1ZGUgdHJhbnNmb3JtT3JpZ2luKDUwJSA1MCUpOyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7IGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7Y29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDA7IGJhY2tncm91bmQ6ICRyZWQ7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyBlYXNlLW91dCk7fVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke0BpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle3dpZHRoOiAxMDAlO31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYjcG9wdXB2aWRlb3N7XHJcbiAgICAgICAgLmlubmVyLXBvcHVwe1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgcGFkZGluZzogNTBweCAwIDA7IHdpZHRoOiBhdXRvOyBsZWZ0OiA1MCU7IHJpZ2h0OiBhdXRvOyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcclxuICAgICAgICAgICAgdmlkZW97d2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDg1dmg7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYm94LXNpZGUtc3R1ZGl7XHJcbiAgICBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBjb2xvcjogIzY2NjY2NjsgbWF4LWhlaWdodDogNjB2aDsgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICBoM3tmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAkYmx1ZTsgbWFyZ2luLWJvdHRvbTogMjVweDt9XHJcbiAgICBwe2xpbmUtaGVpZ2h0OiAyNHB4O31cclxuICAgIGhye1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiAjZDhkOGQ4OyBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICB9XHJcbiAgICBmaWd1cmV7dGV4dC1hbGlnbjogY2VudGVyO31cclxuICAgIC5sZWZ0e3dpZHRoOiAyMzBweDt9XHJcbiAgICAucmlnaHR7d2lkdGg6IDcxMHB4O31cclxufVxyXG4uYm94LWxpc3Qtc3R1ZGl7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAubGlzdC1zdHVkaXtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICYuYWN0aXZle2Rpc3BsYXk6IGJsb2NrO31cclxuICAgIH1cclxufVxyXG5cclxuLmJveC1zbGlkZS1nYWxsZXJ5e1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcclxuICAgIC5saXN0e1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBpbWd7d2lkdGg6IDEwMCU7fVxyXG4gICAgfVxyXG4gICAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0e1xyXG4gICAgICAgIHdpZHRoOiA4MHB4OyBoZWlnaHQ6IDgwcHg7IGJhY2tncm91bmQtY29sb3I6ICNiN2I3Yjc7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgei1pbmRleDogMTA7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBiYWNrZ3JvdW5kIGVhc2Utb3V0KTtcclxuICAgICAgICAmOmJlZm9yZXtkaXNwbGF5OiBub25lO31cclxuXHJcbiAgICAgICAgJjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiAjNTg1ODU4fVxyXG4gICAgfVxyXG4gICAgLnNsaWNrLXByZXZ7YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyLXNsaWRlLXByZXYucG5nJyk7IGxlZnQ6IC03OXB4O31cclxuICAgIC5zbGljay1uZXh0e2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2Fyci1zbGlkZS1uZXh0LnBuZycpOyByaWdodDogLTc5cHg7fVxyXG59XHJcbi5ib3gtc2xpZGUtZ2FsbGVyeS10aHVtYntvdmVyZmxvdzogaGlkZGVuO31cclxuLnNsaWRlZ2FsbGVyeXRodW1ie1xyXG4gICAgbWFyZ2luOiAwIC0xNXB4O1xyXG4gICAgLmxpc3R7cGFkZGluZzogMCAxNXB4OyBjdXJzb3I6IHBvaW50ZXI7fVxyXG59XHJcblxyXG4uYm94LWxpc3QtcGhvdG97XHJcbiAgICBtYXJnaW46IDAgLTE1cHg7XHJcbiAgICAmOmFmdGVye2NvbnRlbnQ6IFwiXCI7IGNsZWFyOiBib3RoOyBkaXNwbGF5OiBibG9jazt9XHJcbiAgICAubGlzdC1waG90b3tcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMzMzJTsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAuaW5uZXItcGhvdG97XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7QGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzIGJveC1zaGFkb3cgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICBmaWd1cmV7bWFyZ2luLWJvdHRvbTogMjBweDt9XHJcbiAgICAgICAgICAgIHNwYW57Zm9udC1zaXplOiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogIzkzOTM5MzsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDVweDt9XHJcbiAgICAgICAgICAgIGg0e2ZvbnQtc2l6ZTogMjBweDsgbGluZS1oZWlnaHQ6IDI2cHg7IGNvbG9yOiAjM2EzYTNhOyBmb250LXdlaWdodDogNDAwOyBoZWlnaHQ6IDUwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IG92ZXJmbG93OiBoaWRkZW47fVxyXG4gICAgICAgICAgICAuZGUtaW5mb3tcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzbiArIDEpe2NsZWFyOiBib3RoO31cclxuXHJcbiAgICAgICAgJi52aWRlb3tcclxuICAgICAgICAgICAgZmlndXJle1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLmJ0bi1wbGF5LXZpZGVve3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBtYXJnaW46IGF1dG87IHdpZHRoOiA4MXB4OyBoZWlnaHQ6IDgxcHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX3BsYXlfdmlkZW9fc20ucG5nJykgbm8tcmVwZWF0IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyO31cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5idG5wb3B2aWR7Y3Vyc29yOiBwb2ludGVyO31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIC5pbm5lci1waG90b3tcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdygwIDAgMTlweCAtMXB4IHJnYmEoMCwwLDAsMC4zKSk7XHJcbiAgICAgICAgICAgICAgICBoNHtjb2xvcjogJGJsdWU7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ib3gtbGlzdC1hdWRpb3tcclxuICAgIG1hcmdpbjogMCAtMTVweDtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIC5saXN0LWF1ZGlve1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgd2lkdGg6IDUwJTsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAuaW5uZXItYXVkaW97XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7IHBhZGRpbmc6IDIwcHggMjNweDsgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzIGJveC1zaGFkb3cgZWFzZS1vdXQpO1xyXG4gICAgICAgICAgICBzcGFue3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM5MzkzOTM7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiA1cHg7fVxyXG4gICAgICAgICAgICBoNHtmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAyNnB4OyBjb2xvcjogIzAwMDsgbWFyZ2luLWJvdHRvbTogMzBweDsgZm9udC13ZWlnaHQ6IDQwMDt9XHJcbiAgICAgICAgICAgIC5kZS1pbmZve1xyXG4gICAgICAgICAgICAgICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgICAgICAgICAgLmJse1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7IHBhZGRpbmctYm90dG9tOiAwOyBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuZGVpbmJsb2Nre2Rpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgLmlubmVyLWF1ZGlve1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94U2hhZG93KDAgMCAxOXB4IC0xcHggcmdiYSgwLDAsMCwwLjMpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRocmVlbGlzdHtcclxuICAgICAgICAubGlzdC1hdWRpb3tcclxuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ib3gtZmlsdGVyLWRvY3N7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgbGFiZWx7bWFyZ2luLXJpZ2h0OiAxMHB4OyBjb2xvcjogIzAwMDAwMDsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW4tbGVmdDogMjBweDt9XHJcbiAgICBzZWxlY3R7aGVpZ2h0OiA0NXB4OyBwYWRkaW5nOiAwIDQwcHggMCAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhOyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnJvdy1zZWxlY3QucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzkzOTM5Mzt9XHJcbn1cclxuXHJcbi5ib3gtbGlzdC1tYWphbGFoe1xyXG4gICAgbWFyZ2luOiAwIC0zM3B4O1xyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgLmxpc3QtbWFqYWxhaHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMzcHg7IHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMzMlOyBmbG9hdDogbGVmdDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBtYXJnaW4tYm90dG9tOiA2NXB4O1xyXG4gICAgICAgIC5pbm5lci1tYWphbGFoe1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDI4cHggNTVweDsgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTsgcG9zaXRpb246IHJlbGF0aXZlOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYm94LXNoYWRvdyBlYXNlLW91dCk7XHJcbiAgICAgICAgICAgIGZpZ3VyZXttYXJnaW4tYm90dG9tOiAyMHB4O31cclxuICAgICAgICAgICAgc3Bhbnt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjOTM5MzkzOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogNXB4O31cclxuICAgICAgICAgICAgaDR7Zm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMjZweDsgY29sb3I6ICMwMDA7IG1hcmdpbi1ib3R0b206IDMwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7fVxyXG4gICAgICAgICAgICAuYm94LWJvdHRvbS1tYWphbGFoe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDIwcHg7IGxlZnQ6IDI4cHg7IHJpZ2h0OiAyOHB4OyBkaXNwbGF5OiB0YWJsZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgaGVpZ2h0OiA0MHB4OyB3aWR0aDogMTAwJTsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgICAgICAgICAgICAgLmxpbmstaWNvbntcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY3dwe3RvcDogNTAlOyBtYXJnaW4tdG9wOiAtMTJweDt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJveC1zaGFyZXtcclxuICAgICAgICAgICAgICAgIC5kcm9wLXNoYXJldGhpc3t0b3A6IC04cHg7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAuaW5uZXItbWFqYWxhaHtAaW5jbHVkZSBib3hTaGFkb3coMCAwIDE5cHggLTFweCByZ2JhKDAsMCwwLDAuMykpO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wdHdvY29se1xyXG4gICAgd2lkdGg6IDk2MHB4OyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvOyBtYXJnaW4tYm90dG9tOiA3NXB4OyBjb2xvcjogIzY2NjY2NjtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIC5sZWZ0e3dpZHRoOiA1NzRweDsgZmxvYXQ6IGxlZnQ7IG1heC13aWR0aDogMTAwJTsgZm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMzZweDt9XHJcbiAgICAucmlnaHR7d2lkdGg6IDM1MHB4OyBmbG9hdDogcmlnaHQ7IG1heC13aWR0aDogMTAwJTt9XHJcbn1cclxuXHJcbi50ZWxib3gtbGd7XHJcbiAgICBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgLmxze1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAzNXB4OyBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIHNwYW57cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtbWFwe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODVweDtcclxuICAgIGlmcmFtZXt3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MDBweDt9XHJcbiAgICAubWFwc3t3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MDBweDt9XHJcbn1cclxuLmJveC1mb3Jte1xyXG4gICAgbWFyZ2luLXRvcDogNjVweDtcclxuICAgIC5yb3dfbGlzdHtcclxuICAgICAgICAuY29se21hcmdpbi1ib3R0b206IDYwcHg7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtaW5wdXR7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYWVhZWE7XHJcbiAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwJTsgbGVmdDogNTAlOyB3aWR0aDogMDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6ICRibHVlOyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MgYWxsIGVhc2Utb3V0KTt9XHJcbiAgICBsYWJlbHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMThweDsgbGVmdDogMDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzk5OTk5OTsgei1pbmRleDogLTE7XHJcbiAgICAgICAgJi5lcnJvcnt0b3A6IDgwcHggIWltcG9ydGFudDsgY29sb3I6IHJlZDsgcGFkZGluZy1sZWZ0OiAwcHg7fVxyXG4gICAgfVxyXG4gICAgaW5wdXR7Ym9yZGVyOiBub25lOyB3aWR0aDogMTAwJTsgZm9udC1zaXplOiAyNHB4OyBjb2xvcjogIzMzMzMzMzsgcGFkZGluZzogNXB4IDAgMTBweDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fVxyXG5cclxuICAgICYuZm9jdXNpbntcclxuICAgICAgICAmOmJlZm9yZXt3aWR0aDogMTAwJTsgbGVmdDogMDt9XHJcbiAgICAgICAgbGFiZWx7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgJi5lcnJvcntjb2xvcjogcmVkO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJveC1saXN0LWxpbmt7XHJcbiAgICBtYXJnaW46IDcwcHggMCAwO1xyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG4gICAgLmxpc3QtbGlua3tcclxuICAgICAgICB3aWR0aDogMTYuNjY2NjY2NjY2NjY2NjY2JTsgZmxvYXQ6IGxlZnQ7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA1MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjtAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYm94LXNoYWRvdyBlYXNlLW91dCk7XHJcbiAgICAgICAgZmlndXJle1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweDtcclxuICAgICAgICAgICAgaW1ne0BpbmNsdWRlIGdyYXlzY2FsZSgxMDApOyBvcGFjaXR5OiAwLjQ7IG1pbi1oZWlnaHQ6IDEyMHB4OyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMnMgYWxsIGVhc2Utb3V0KTt9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA5MCU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kOiAkYmx1ZTsgY29sb3I6ICR3aGl0ZTsgZm9udC13ZWlnaHQ6IDMwMDsgcGFkZGluZzogMjBweCAxNXB4OyB6LWluZGV4OiAyOyBvcGFjaXR5OiAwO0BpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBhbGwgZWFzZS1vdXQpOyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAxMDAlOyBsZWZ0OiAwOyByaWdodDogMDsgbWFyZ2luOiAwIGF1dG87IHdpZHRoOiAwOyBib3JkZXItYm90dG9tOiA4cHggc29saWQgJGJsdWU7IGJvcmRlci1sZWZ0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDogOXB4IHNvbGlkIHRyYW5zcGFyZW50O31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdygwIDAgMTlweCAtMXB4IHJnYmEoMCwwLDAsMC4zKSk7XHJcbiAgICAgICAgICAgIGZpZ3VyZXtcclxuICAgICAgICAgICAgICAgIGltZ3tAaW5jbHVkZSBncmF5c2NhbGUoMCk7IG9wYWNpdHk6IDE7fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW57b3BhY2l0eTogMTsgdG9wOiAxMDAlOyB2aXNpYmlsaXR5OiB2aXNpYmxlO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuI3N0LWVsLTIgLnN0LWJ0bnN7XHJcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbi5ib3gtbGlzdC12aWRlby1wb3B7XHJcbiAgICAubGlzdC12aWRlby1wb3B7XHJcbiAgICAgICAgLypkaXNwbGF5OiBub25lOyovXHJcbiAgICAgICAgJi5hY3RpdmV7ZGlzcGxheTogYmxvY2s7fVxyXG4gICAgICAgIGlmcmFtZXtiYWNrZ3JvdW5kOiAjMDAwO31cclxuICAgICAgICAudmlkZW95dGdhbGxlcnl7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTUwcHg7IG1heC1oZWlnaHQ6IDg1dmg7IG1pbi13aWR0aDogOTkwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi50aXRsZS1zZWFyY2gtcmVzdWx0e1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDogXCJcIjsgY2xlYXI6IGJvdGg7IGRpc3BsYXk6IGJsb2NrO31cclxuICAgIGgzLmhib2xke21hcmdpbi1ib3R0b206IDEwcHg7fVxyXG4gICAgaDR7Y29sb3I6ICNhNWE1YTU7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDQwMDt9XHJcbiAgICAubGVmdHttYXgtd2lkdGg6IDEwMCU7fVxyXG4gICAgLnJpZ2h0e1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAuYm94LXNlYXJjaC1yZXN1bHR7bWFyZ2luLXRvcDogNDFweDt9XHJcbiAgICB9XHJcbn1cclxuLmJveC1zZWFyY2gtcmVzdWx0e1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaW5wdXRbdHlwZT10ZXh0XXtib3JkZXI6IDFweCBzb2xpZCAjYTVhNWE1OyBoZWlnaHQ6IDQ0cHg7IHdpZHRoOiA0MDZweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpOyBwYWRkaW5nOiAwIDU1cHggMCAxM3B4OyBjb2xvcjogI2E1YTVhNTsgZm9udC1zaXplOiAxNHB4O31cclxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVye2NvbG9yOiAjYTVhNWE1O31cclxuICAgIC5zZWFyY2gtYnRuLXJlc3VsdHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDQ0cHg7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfc2VhcmNoX3NtYWxsX2JsYWNrLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZXtjb250ZW50OiBcIlwiOyB3aWR0aDogMXB4OyBib3R0b206IDRweDsgdG9wOiA0cHg7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZDogI2QyZDJkMjt9XHJcbiAgICB9XHJcbn1cclxuLmJveC1saXN0LXNlYXJjaC1yZXN1bHR7XHJcbiAgICAubGlzdC1zZWFyY2gtcmVzdWx0e1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAzM3B4OyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgICAgICAgPiBzcGFue3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjYTBhMGEwOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBmb250LXdlaWdodDogNDAwOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMTBweDt9XHJcbiAgICAgICAgaDR7Zm9udC1zaXplOiAyNHB4OyBsaW5lLWhlaWdodDogMzJweDsgY29sb3I6ICMzYTNhM2E7IG1hcmdpbi1ib3R0b206IDEwcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4ycyBjb2xvciBlYXNlLW91dCk7fVxyXG4gICAgICAgIHB7Zm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjRweDsgY29sb3I6ICMzYTNhM2E7fVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgaDR7Y29sb3I6ICRibHVlO31cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuI3N0LWVsLTEwIC5zdC1idG5ze292ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7fVxyXG5cclxuLyogZm9vdGVyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uc2N0b3B7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogODBweDsgcmlnaHQ6IDgwcHg7IHdpZHRoOiA1N3B4OyBoZWlnaHQ6IDU3cHg7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL3NjdG9wLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7ei1pbmRleDogMTAwO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpOyBjdXJzb3I6IHBvaW50ZXI7IEBpbmNsdWRlIHRyYW5zaXRpb24oMC4xcyBib3R0b20gZWFzZS1vdXQpOyBkaXNwbGF5OiBub25lO1xyXG4gICAgJjpob3Zlcntib3R0b206IDg1cHg7fVxyXG59XHJcblxyXG5mb290ZXJ7XHJcbiAgICAuZm9vdC10b3B7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7IHBhZGRpbmc6IDYycHggMCA3MHB4OyBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIC5mb290LWluZm97XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB3aWR0aDogMzMwcHg7XHJcbiAgICAgICAgICAgIGg0e3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAycHg7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6ICR3aGl0ZTsgZm9udC13ZWlnaHQ6IDUwMDsgbWFyZ2luLWJvdHRvbTogMjBweDsgbGluZS1oZWlnaHQ6IDI0cHg7fVxyXG4gICAgICAgICAgICBwe2ZvbnQtc2l6ZTogMTVweDsgbGluZS1oZWlnaHQ6IDIzcHg7IG1hcmdpbi1ib3R0b206IDI1cHg7fVxyXG4gICAgICAgICAgICAuc29zbWVkLW1vYmlsZXtkaXNwbGF5OiBub25lO31cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3QtbGlua3tcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogODMwcHg7IG1hcmdpbjogMCAtMTBweDtcclxuICAgICAgICAgICAgaDV7Y29sb3I6ICR3aGl0ZTsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMjBweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XHJcbiAgICAgICAgICAgIGF7Y29sb3I6ICNhMWMzZTY7fVxyXG4gICAgICAgICAgICB1bHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBsaXtmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMHB4O31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGlzdC1mb290LWxpbmt7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMyU7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nOiAwIDEwcHg7IEBpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTsgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKzEpe2NsZWFyOiBib3RoO31cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290LWJvdHRvbXtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDE3cHggMDsgYmFja2dyb3VuZDogIzAwMTgzYzsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogIzdkOWZjMztcclxuICAgIH1cclxufVxyXG4udGVsYm94e1xyXG4gICAgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMjNweDtcclxuICAgIHNwYW57bWFyZ2luLXJpZ2h0OiAyMHB4O31cclxuICAgIGxpe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIHNwYW57cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7fVxyXG4gICAgICAgIGF7Y29sb3I6ICNmZmY7fVxyXG4gICAgfVxyXG59XHJcbi5ib3gtc29zbWVke1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC5sc29zbWVke3dpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJhY2tncm91bmQ6ICR3aGl0ZTsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogM3B4O31cclxuICAgIC5zeXR7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfeXQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjt9XHJcbiAgICAuc2lne2JhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2lnLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7fVxyXG4gICAgLnNmYntiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19mYi5wbmcnKSBuby1yZXBlYXQgY2VudGVyO31cclxuICAgIC5zdHd7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfdHcucG5nJykgbm8tcmVwZWF0IGNlbnRlcjt9XHJcbn0iLCIvKlxyXG4gICAgVGFrZW4gRnJvbSA6IGh0dHA6Ly9zZXJlbmVkZXN0aW55LmNvbS9ibG9nL3dlYi1kZXZlbG9wbWVudC9sZXRzLWNyZWF0ZS10aGUtcGVyZmVjdC1jc3MtcmVzZXQ7IFxyXG4gICAgUmVzZXQgYWxsIHlvdXIgSFRNTCBFbGVtZW50IHRvIGNvbmRpdGlvbiB6ZXJvLlxyXG4qL1xyXG5cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcclxuZGVsLCBkZm4sIGVtLCBmb250LCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxyXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5ib2R5IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyBtYXJnaW46IDA7fVxyXG5pbnB1dCB7IGJvcmRlcjogMHB4IHNvbGlkIHdoaXRlOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cclxuXHJcbm9sLCB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICAgIHF1b3Rlczogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciwgcTpiZWZvcmUsIHE6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGNvbnRlbnQ6IG5vbmU7XHJcbn1cclxuXHJcbi8qIHJlbWVtYmVyIHRvIGRlZmluZSBmb2N1cyBzdHlsZXMhICovXHJcbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKiByZW1lbWJlciB0byBoaWdobGlnaHQgaW5zZXJ0cyBzb21laG93ISAqL1xyXG5pbnMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbmRlbCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxufVxyXG5cclxuLyogdGFibGVzIHN0aWxsIG5lZWQgJ2NlbGxzcGFjaW5nPVwiMFwiJyBpbiB0aGUgbWFya3VwICovXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8qIGdsb2JhbFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuYSB7IGNvbG9yOiMyOTMwOGU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTogbm9uZSB9XHJcbmE6aG92ZXIge2N1cnNvcjogcG9pbnRlcjsgY29sb3I6IzMzMzMzMzsgfVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW46MXB4IDAgMTVweDsgXHJcbiAgICBsaW5lLWhlaWdodDoyMHB4O1xyXG59XHJcbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcclxuICAgIGZvbnQtc2l6ZToxMnB4OyBcclxuICAgIGZvbnQtZmFtaWx5OmFyaWFsLHRhaG9tYSwgdGltZXMgbmV3IHJvbWFuOyBcclxuICAgIGJvcmRlcjpub25lOyBcclxuICAgIGJvcmRlcjoxcHggc29saWQgI0Q4RDhEODsgXHJcbiAgICBwYWRkaW5nOjRweDsgXHJcbiAgICBtYXJnaW46MDtcclxuICAgIGNvbG9yOiM2NjY7XHJcbn1cclxuXHJcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XHJcbmVtIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XHJcbmRlbCB7IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XHJcbnRoIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxyXG5cclxuLmxlZnQgeyBmbG9hdDogbGVmdDsgZGlzcGxheTogaW5saW5lOyB9XHJcbi5yaWdodCB7IGZsb2F0OiByaWdodDsgZGlzcGxheTogaW5saW5lO30gXHJcbi5pdGFsaWMge2ZvbnQtc3R5bGU6aXRhbGljO31cclxuLmJvbGQge2ZvbnQtd2VpZ2h0OmJvbGQ7fVxyXG4uY2xlYXIgeyBcclxuICAgIGNsZWFyOmJvdGg7IFxyXG4gICAgcGFkZGluZzowOyBcclxuICAgIG1hcmdpbjowOyBcclxufVxyXG4uYmVmb3JlX2NsZWFyOmJlZm9yZSxcclxuLmFmdGVyX2NsZWFyOmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge2ZvbnQtd2VpZ2h0Om5vcm1hbDt9IFxyXG5oMSB7Zm9udC1zaXplOjMycHg7fVxyXG5oMiB7Zm9udC1zaXplOjI4cHg7fVxyXG5oMyB7Zm9udC1zaXplOjI0cHg7fVxyXG5oMyB7Zm9udC1zaXplOjE4cHg7fVxyXG5oNSB7Zm9udC1zaXplOjE2cHg7fVxyXG5oNiB7Zm9udC1zaXplOjE0cHg7fVxyXG4iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGF0dHIpe1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGF0dHIpe1xyXG4gICAgdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gdHJhbnNmb3JtT3JpZ2luKCRhdHRyKXtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKXtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm94U2hhZG93KCRhdHRyKXtcclxuICAgIGJveC1zaGFkb3c6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNoYWRvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gZmxleGZsb3coJGF0dHIpe1xyXG4gICAgZmxleC1mbG93OiAgJGF0dHI7XHJcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogJGF0dHI7XHJcbiAgICAtbW96LWZsZXgtZmxvdzogJGF0dHI7XHJcbiAgICAtbXMtZmxleC1mbG93OiAkYXR0cjtcclxuICAgIC1vLWZsZXgtZmxvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gb3JkZXIoJGF0dHIpe1xyXG4gICAgb3JkZXI6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtb3JkZXI6ICRhdHRyO1xyXG4gICAgLW1vei1vcmRlcjogJGF0dHI7XHJcbiAgICAtbXMtb3JkZXI6ICRhdHRyO1xyXG4gICAgLW8tb3JkZXI6ICRhdHRyXHJcbn1cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICA6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcclxufVxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKXtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgYm94LXNpemluZzogJGF0dHI7XHJcbn1cclxuQG1peGluIGdyYXlzY2FsZSgkYXR0cil7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKCRhdHRyKTsgLyogU2FmYXJpIDYuMCAtIDkuMCAqL1xyXG4gICAgZmlsdGVyOiBncmF5c2NhbGUoJGF0dHIpO1xyXG59XHJcblxyXG5cclxuLyogY29sb3IgZ2xvYmFsXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4kY18xMTE6ICMxMTE7XHJcbiRjXzMzMzogIzMzMztcclxuJGNfNjY2OiAjNjY2O1xyXG4kY185OTk6ICM5OTk7XHJcbiRjX2VhOiAjZWFlYWVhO1xyXG4kYmx1ZTogIzAwMmQ3MjtcclxuJGJsdWUyOiAjMjQ0NDg2O1xyXG4keWVsbG93OiAjZmRkMTJhO1xyXG4keWVsbG93MjogI2ZlYzEwNztcclxuJHJlZDogI2YwM2YzNDtcclxuJHdoaXRlOiAjZmZmO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRncmV5OiAjYjZiNmI2O1xyXG4iLCIvLyBCb3VyYm9uIDQuMi43XG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG5AaW1wb3J0IFwic2V0dGluZ3MvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xuQGltcG9ydCBcInNldHRpbmdzL2Fzc2V0LXBpcGVsaW5lXCI7XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWluc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb250YWlucy1mYWxzeVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGlnaHRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbnVtYmVyXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1hbmdsZS1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3N0ci10by1udW1cIjtcblxuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XG5AaW1wb3J0IFwiY3NzMy9oaWRwaS1tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2xpbmVhci1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xuQGltcG9ydCBcImNzczMvdGV4dC1kZWNvcmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3VzZXItc2VsZWN0XCI7XG5cbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXN0eWxlXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtc3RhY2tzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcGFkZGluZ1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZlbmRvciBwcmVmaXhlc1xuXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4iLCIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kYXNzZXQtcGlwZWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHVlc1xuLy8vICAgQSBzaW5nbGUgdmFsdWUgb3IgbGlzdCBvZiB2YWx1ZXMgdG8gY2hlY2sgZm9yLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBjb250YWlucygkbGlzdCwgJHZhbHVlKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgdHlwZS1vZihpbmRleCgkbGlzdCwgJHZhbHVlKSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBpZiBhIGxpc3QgZG9lcyBub3QgY29udGFpbnMgYSB2YWx1ZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxuLy8vICAgVGhlIGxpc3QgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucy1mYWxzeSgkbGlzdCkge1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIG5vdCAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1MgbGVuZ3RoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuXG5AZnVuY3Rpb24gaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuLy8vXG4vLy8gQHBhcmFtIHtDb2xvciAoSGV4KX0gJGNvbG9yXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGlzLWxpZ2h0KCRjb2xvcilcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWJsdWU6IGJsdWUocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gMC42O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcbiAgQHJldHVybiBjb250YWlucyhcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIiAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gaXMtbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpXG4gICAgICAgICAgb3IgY29udGFpbnMoXCJmaWxsXCIgXCJmaXQtY29udGVudFwiIFwibWluLWNvbnRlbnRcIiBcIm1heC1jb250ZW50XCIsICR2YWx1ZSk7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIGJsYWNrLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCNmZmJiNTIsIDYwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoUGVyY2VudGFnZSl9ICRwZXJjZW50XG4vLy8gICBUaGUgYW1vdW50IG9mIHdoaXRlIHRvIGJlIG1peGVkIGluLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E4ZGZjOTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCNmZmYsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiLy8gUmV0dXJuIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBuYW1lcyBpZiBhcHByb3ByaWF0ZVxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcHMsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRuZXctcHJvcHM6ICgpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgJG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG4gIEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuICAgIEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRwcm9wO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDb252ZXJ0cyBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiB1bnBhY2soMWVtIDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xuLy8vICAgfVxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cbiIsIi8vIFNjYWxpbmcgVmFyaWFibGVzXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XG4kbWlub3Itc2Vjb25kOiAgICAgMS4wNjc7XG4kbWFqb3Itc2Vjb25kOiAgICAgMS4xMjU7XG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xuJG1ham9yLXRoaXJkOiAgICAgIDEuMjU7XG4kcGVyZmVjdC1mb3VydGg6ICAgMS4zMzM7XG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XG4kcGVyZmVjdC1maWZ0aDogICAgMS41O1xuJG1pbm9yLXNpeHRoOiAgICAgIDEuNjtcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcbiRtaW5vci1zZXZlbnRoOiAgICAxLjc3ODtcbiRtYWpvci1zZXZlbnRoOiAgICAxLjg3NTtcbiRvY3RhdmU6ICAgICAgICAgICAyO1xuJG1ham9yLXRlbnRoOiAgICAgIDIuNTtcbiRtYWpvci1lbGV2ZW50aDogICAyLjY2NztcbiRtYWpvci10d2VsZnRoOiAgICAzO1xuJGRvdWJsZS1vY3RhdmU6ICAgIDQ7XG5cbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiBlbSgkZW0tYmFzZSkgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xuICAkdjE6IG50aCgkdmFsdWUsIDEpO1xuICAkdjI6IG50aCgkdmFsdWUsIGxlbmd0aCgkdmFsdWUpKTtcbiAgJHZhbHVlOiAkdjE7XG5cbiAgLy8gc2NhbGUgJHYyIHRvIGp1c3QgYWJvdmUgJHYxXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xuICAgICR2MjogKCR2MiAvICRyYXRpbyk7IC8vIHdpbGwgYmUgb2ZmLWJ5LTFcbiAgfVxuICBAd2hpbGUgJHYyIDwgJHYxIHtcbiAgICAkdjI6ICgkdjIgKiAkcmF0aW8pOyAvLyB3aWxsIGZpeCBvZmYtYnktMVxuICB9XG5cbiAgLy8gY2hlY2sgQUZURVIgc2NhbGluZyAkdjIgdG8gcHJldmVudCBkb3VibGUtY291bnRpbmcgY29ybmVyLWNhc2VcbiAgJGRvdWJsZS1zdHJhbmRlZDogJHYyID4gJHYxO1xuXG4gIEBpZiAkaW5jcmVtZW50ID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgKiAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAqICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkaW5jcmVtZW50IDwgMCB7XG4gICAgLy8gYWRqdXN0ICR2MiB0byBqdXN0IGJlbG93ICR2MVxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcbiAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tICRpbmNyZW1lbnQgdGhyb3VnaCAtMSB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAvICRyYXRpbykgPCAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogXCJweFwiLCBcImNtXCIsIFwibW1cIiwgXCIlXCIsIFwiY2hcIiwgXCJwaWNhXCIsIFwiaW5cIiwgXCJlbVwiLCBcInJlbVwiLCBcInB0XCIsIFwicGNcIiwgXCJleFwiLCBcInZ3XCIsIFwidmhcIiwgXCJ2bWluXCIsIFwidm1heFwiLCBcImRlZ1wiLCBcInJhZFwiLCBcImdyYWRcIiwgXCJ0dXJuXCI7XG4gICR1bml0czogICAxcHgsIDFjbSwgMW1tLCAxJSwgMWNoLCAxcGljYSwgMWluLCAxZW0sIDFyZW0sIDFwdCwgMXBjLCAxZXgsIDF2dywgMXZoLCAxdm1pbiwgMXZtYXgsIDFkZWcsIDFyYWQsIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcImAjeyRudW1iZXJ9IGlzIG5vdCBhIG51bWJlcmBcIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRhOiBudGgoJHZhbHMsIDEpO1xuICAkYjogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIDIpKTtcbiAgJGM6IGlmKGxlbmd0aCgkdmFscykgPCAzLCAkYSwgbnRoKCR2YWxzLCAzKSk7XG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XG5cbiAgQGlmICRhID09IDAgeyAkYTogMDsgfVxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XG4gIEBpZiAkYyA9PSAwIHsgJGM6IDA7IH1cbiAgQGlmICRkID09IDAgeyAkZDogMDsgfVxuXG4gIEBpZiAkYSA9PSAkYiBhbmQgJGEgPT0gJGMgYW5kICRhID09ICRkIHsgJG91dHB1dDogJGE7ICAgICAgICAgIH1cbiAgQGVsc2UgaWYgJGEgPT0gJGMgYW5kICRiID09ICRkICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYjsgICAgICAgfVxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGMgJGQ7IH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByZVxuLy8vICAgUHJlZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXG4vLy8gICBTdWZmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiB2YWx1ZXNcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29sbGFwc2UtZGlyZWN0aW9uYWxzXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAxKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMSwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZzEsICRnMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkZzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRnMSB7XG4gICAgICAgICAgICAkZzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XG4gICAgICAgICAgICAkZzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xuICAgICRzcGVjOiBcIiN7JHNwZWN9LFwiO1xuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgc3RyLWluZGV4KCRpbWFnZSwgXCJjb3ZlclwiKSBvciBzdHItaW5kZXgoJGltYWdlLCBcImNvbnRhaW5cIikge1xuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6IFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xuICAgICAgJG1pbnVzOiB0cnVlO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRjaGFyYWN0ZXIgPT0gXCIuXCIge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb25zLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xuICAvLyBpbmZpbml0ZSB8IDxudW1iZXI+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICR2YWx1ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uKCRkaXJlY3Rpb25zLi4uKSB7XG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCRzdGF0ZXMuLi4pIHtcbiAgLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRtb2Rlcy4uLikge1xuICAvLyBub25lIHwgZm9yd2FyZHMgfCBiYWNrd2FyZHMgfCBib3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIkBtaXhpbiBjYWxjKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XG4gICN7JHByb3BlcnR5fTogY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuICAvLyA8Y29sdW1uLWNvdW50PiB8fCA8Y29sdW1uLXdpZHRoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4gIC8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWZpbGwsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZSgkYXJnKSB7XG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbiAgLy8gbm9uZSB8fCBhbGxcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXNwYW4sICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJGxlbmd0aDogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCJAbWl4aW4gZm9udC1mZWF0dXJlLXNldHRpbmdzKCRzZXR0aW5ncy4uLikge1xuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxuICBAaW5jbHVkZSBwcmVmaXhlcihmb250LWZlYXR1cmUtc2V0dGluZ3MsICRzZXR0aW5ncywgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcbkBtaXhpbiBoaWRwaSgkcmF0aW86IDEuMykge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JHJhdGlvfS8xKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQG1peGluIGh5cGhlbnMoJGh5cGhlbmF0aW9uOiBub25lKSB7XG4gIC8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci1tb3ppbGxhOiB0cnVlICFnbG9iYWw7XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0ICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmEgICAgICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyAgICAgICFnbG9iYWw7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMge1xuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGluZWFyLWdyYWRpZW50KCRwb3MsICRnMSwgJGcyOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXG4gICRwb3MtdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkcG9zLXNwZWM6IG51bGw7XG4gICRwb3MtZGVncmVlOiBudWxsO1xuXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XG4gICAgJGcxMDogJGc5OyAkZzk6ICRnODsgJGc4OiAkZzc7ICRnNzogJGc2OyAkZzY6ICRnNTtcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xuICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXF1aXJlcyBTYXNzIDMuMStcbkBtaXhpbiByYWRpYWwtZ3JhZGllbnQoJGcxLCAkZzIsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHBvczogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJHNoYXBlLXNpemU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xuXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKTtcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcbiAgJGcyOiAgbnRoKCRkYXRhLCAyKTtcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU3RyaXAgZGVwcmVjYXRlZCBjb3Zlci9jb250YWluIGZvciBzcGVjXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcblxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xuICAkc2hhcGUtc2l6ZTogaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sIFwiLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpO1xuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBpZigoJHNoYXBlLXNpemUtc3BlYyAhPSBcIiBcIikgYW5kICgkcG9zID09IG51bGwpLCBcIiN7JHNoYXBlLXNpemUtc3BlY30sIFwiLCBcIiN7JHNoYXBlLXNpemUtc3BlY30gXCIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRjdXJyZW50LXNlbGVjdG9yIHtcclxuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuICAvLyBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuICAvLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxuICAvLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIHVzZXItc2VsZWN0KCR2YWx1ZTogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih1c2VyLXNlbGVjdCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItY29sb3IoI2E2MGI1NSAjNzZjZDljIG51bGwgI2U4YWUxYSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xuLy8vICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM3NmNkOWM7XG4vLy8gICAgIGJvcmRlci10b3AtY29sb3I6ICNhNjBiNTU7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItY29sb3JgXG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXJhZGl1c2Agb24gYm90aCBjb3JuZXJzIG9uIHRoZSBzaWRlIG9mIGEgYm94LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpaVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQtb25lIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDNweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4vLy8gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50LXR3byB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgfVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItc3R5bGVgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItc3R5bGVgXG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItd2lkdGgoMWVtIG51bGwgMjBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XG4vLy8gICAgIGJvcmRlci10b3Atd2lkdGg6IDFlbTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgYnV0dG9ucy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtYnV0dG9uc31gLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAjeyRhbGwtYnV0dG9uc30ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1mb2N1c30sXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1hY3RpdmV9IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGJ1dHRvbixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4vLy8gICBidXR0b246aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGJ1dHRvbjphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy9cbi8vLyBAdG9kbyBSZW1vdmUgZG91YmxlIGFzc2lnbmVkIHZhcmlhYmxlcyAoTGluZXMgNTnigJM2MikgaW4gdjUuMC4wXG5cbiRidXR0b25zLWxpc3Q6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJidXR0b25cIl0nLFxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSc7XG5cbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XG4kYWxsLWJ1dHRvbnMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLWJ1dHRvbnMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCRidXR0b25zLWxpc3QsIGZvY3VzKTtcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xuXG4kYWxsLWJ1dHRvbi1pbnB1dHM6ICAgICAgICAkYWxsLWJ1dHRvbnM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xuJGFsbC1idXR0b24taW5wdXRzLWZvY3VzOiAgJGFsbC1idXR0b25zLWZvY3VzO1xuJGFsbC1idXR0b24taW5wdXRzLWhvdmVyOiAgJGFsbC1idXR0b25zLWhvdmVyO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9jc3Ntb2pvLmNvbS9sYXRlc3RfbmV3X2NsZWFyZml4X3NvX2Zhci9cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzEwMCVdXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZWxsaXBzaXM7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgICAgd29yZC13cmFwOiBub3JtYWw7XG4vLy8gICB9XG5cbkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCIvLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXG5cbkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogbnVsbCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogMTAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgJGhlaWdodCB7XG4gICAgQHdhcm4gXCJUaGUgYGhpZGUtdGV4dGAgbWl4aW4gaGFzIGNoYW5nZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlcyBhIGhlaWdodC4gVGhlIGhlaWdodCBhcmd1bWVudCB3aWxsIG5vIGxvbmdlciBiZSBhY2NlcHRlZCBpbiB2NS4wLjBcIjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgbWFyZ2luYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxMHB4IDNlbSAyMHZoKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuLy8vICAgICBtYXJnaW4tbGVmdDogMjB2aDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgbWFyZ2luYFxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMTJ2aCBudWxsIDEwcHggNSUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbi8vLyAgICAgcGFkZGluZy1sZWZ0OiA1JTtcbi8vLyAgICAgcGFkZGluZy10b3A6IDEydmg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBwYWRkaW5nYFxuXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShwYWRkaW5nLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2l6ZVxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSB2YWx1ZSBpbiBgJHNpemVgIGl0IGlzIHVzZWQgZm9yIGJvdGggd2lkdGggYW5kIGhlaWdodC4gQWxsIHVuaXRzIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiAyZW07XG4vLy8gICAgIGhlaWdodDogMmVtO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogYXV0bztcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XG5cbkBtaXhpbiBzaXplKCR2YWx1ZSkge1xuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xuICAkaGVpZ2h0OiAkd2lkdGg7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkaGVpZ2h0KSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyRoZWlnaHR9YCBpcyBub3QgYSB2YWxpZCBsZW5ndGggZm9yIHRoZSBgJGhlaWdodGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICBAaWYgaXMtc2l6ZSgkd2lkdGgpIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9LFxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbi8vLyAgIHRleHRhcmVhIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuLy8vICAgdGV4dGFyZWE6Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXG4vLy8gICB0ZXh0YXJlYTpob3ZlciB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuLy8vICAgdGV4dGFyZWE6YWN0aXZlIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic2VhcmNoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIndlZWtcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dDpub3QoW3R5cGVdKScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Z0dBSWdHO0FBQ2hHLE9BQU8sQ0FBQyx1R0FBSTtBQ0xaOzs7RUFHRTtBQUVGLEFBQUEsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTTtBQUM3QyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFF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 */
