/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/small.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/*Pour annuler : display: block; overflow: visible; et max-height: none;*/
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

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

audio, video, button, input, textarea, select {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  background: transparent none;
  outline: 0;
  resize: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

caption, th, td {
  font-weight: inherit;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

@font-face {
  font-family: "icomoon";
  src: url(/build/fonts/icomoon.bf76165c.eot);
  src: url(/build/fonts/icomoon.bf76165c.eot?#iefix) format("embedded-opentype"), url(/build/fonts/icomoon.dc55fc26.ttf) format("truetype"), url(/build/fonts/icomoon.7d48cd6f.woff) format("woff"), url(/build/images/icomoon.99821d0e.svg#icomoon) format("svg");
  font-weight: normal;
  font-style: normal;
}
[class*=ius_]:before {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ius_down:before {
  content: "\e928";
}

.ius_left:before {
  content: "\e929";
}

.ius_right:before {
  content: "\e92a";
}

.ius_up:before {
  content: "\e92b";
}

.ius_actions:before {
  content: "\e900";
}

.ius_calendar:before {
  content: "\e901";
}

.ius_check:before {
  content: "\e902";
}

.ius_checkbox_checked:before {
  content: "\e903";
}

.ius_checkbox_unchecked:before {
  content: "\e904";
}

.ius_collapse_close:before {
  content: "\e905";
}

.ius_collapse_open:before {
  content: "\e906";
}

.ius_consultation_device:before {
  content: "\e907";
}

.ius_consultation:before {
  content: "\e908";
}

.ius_contact:before {
  content: "\e909";
}

.ius_contributor_account:before {
  content: "\e90a";
}

.ius_contributors:before {
  content: "\e90b";
}

.ius_dashbord:before {
  content: "\e90c";
}

.ius_database:before {
  content: "\e90d";
}

.ius_delete:before {
  content: "\e90e";
}

.ius_duration:before {
  content: "\e90f";
}

.ius_family:before {
  content: "\e910";
}

.ius_finance:before {
  content: "\e911";
}

.ius_folder:before {
  content: "\e912";
}

.ius_health:before {
  content: "\e913";
}

.ius_house:before {
  content: "\e914";
}

.ius_informations:before {
  content: "\e915";
}

.ius_location:before {
  content: "\e916";
}

.ius_mail:before {
  content: "\e917";
}

.ius_menu_close:before {
  content: "\e918";
}

.ius_menu:before {
  content: "\e919";
}

.ius_modality:before {
  content: "\e91a";
}

.ius_period:before {
  content: "\e91b";
}

.ius_phone:before {
  content: "\e91c";
}

.ius_pm:before {
  content: "\e91d";
}

.ius_pp:before {
  content: "\e91e";
}

.ius_reports:before {
  content: "\e91f";
}

.ius_request:before {
  content: "\e920";
}

.ius_reset:before {
  content: "\e921";
}

.ius_rps:before {
  content: "\e922";
}

.ius_search:before {
  content: "\e923";
}

.ius_share:before {
  content: "\e924";
}

.ius_signout:before {
  content: "\e925";
}

.ius_supervisor:before {
  content: "\e926";
}

.ius_wallet:before {
  content: "\e927";
}

.customselect-container {
  position: relative;
  display: inline-block;
  line-height: 35px;
  width: 100%;
  vertical-align: middle;
}

.has_customselect {
  opacity: 0;
  position: relative;
  z-index: 10;
  height: 35px;
  padding-right: 35px;
  padding-left: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  cursor: pointer;
}
.has_customselect option {
  font-size: 14px !important;
  line-height: 1.2em !important;
}

.customselect {
  cursor: pointer;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #999999;
  font-size: 14px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  background-color: #fff;
}
.customselect:before {
  content: "\e928";
  font-family: "icomoon";
  font-weight: 400;
  font-size: 6px;
  width: 20px;
  color: #525858;
  text-align: center;
  position: absolute;
  line-height: 10px;
  margin-top: -5px;
  text-align: center;
  top: 50%;
  right: 5px;
  display: block;
}

.customselect-inner {
  display: block;
  text-align: left;
  overflow: hidden;
  padding-left: 10px;
  color: #525858;
  white-space: nowrap;
  position: absolute;
  margin-right: 20px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #000;
  opacity: 0.85;
}

.mfp-wrap {
  top: 0 !important;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed !important;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #FFF;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #FFF;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 1;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 0;
}
.mfp-close:before {
  content: "\e918";
  font-family: "icomoon";
  font-size: 20px;
  text-align: center;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 0.7;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #FFFFFF;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #FFF;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 1;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 50px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 0.7;
}
.mfp-arrow:before {
  font-family: "icomoon";
  font-size: 36px;
  color: #FFF;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:before {
  content: "\e929";
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:before {
  content: "\e92a";
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 0px rgba(0, 0, 0, 0.75);
  background: #444;
}
.mfp-figure small {
  color: #ffffff;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #ffffff;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 0;
    padding-right: 0;
  }
}
body {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: #525858;
  line-height: 1.2em;
  min-width: 300px;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
  color: inherit;
}

.btn {
  cursor: pointer;
  display: inline-block;
  background-color: #2193d5;
  font-weight: 600;
  font-size: 15px;
  border: 2px solid #2193d5;
  line-height: 21px;
  padding: 5px 20px;
  color: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  -webkit-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}
.btn:hover, a:hover .btn {
  background-color: #21b9d5;
  border-color: #21b9d5;
}
.btn.secondary {
  background-color: transparent;
  color: #2193d5;
}
.btn.secondary:hover, a:hover .btn.secondary {
  background-color: #21b9d5;
  border-color: #21b9d5;
  color: #fff;
}
.btn.black {
  background-color: #525858;
  color: #fff;
  border-color: #525858;
}
.btn.black:hover, a:hover .btn.black {
  background-color: #999999;
  border-color: #999999;
}
.btn.black.secondary {
  background-color: transparent;
  color: #525858;
  border-color: #525858;
}
.btn.black.secondary:hover, a:hover .btn.black.secondary {
  background-color: #999999;
  border-color: #999999;
  color: #fff;
}
.btn.orange {
  background-color: #ff9c00;
  color: #fff;
  border-color: #ff9c00;
}
.btn.orange:hover, a:hover .btn.orange {
  background-color: #ffb400;
  border-color: #ffb400;
}
.btn.orange.secondary {
  background-color: transparent;
  color: #ff9c00;
  border-color: #ff9c00;
}
.btn.orange.secondary:hover, a:hover .btn.orange.secondary {
  background-color: #ffb400;
  border-color: #ffb400;
  color: #fff;
}
.btn [class*=ius_] {
  display: inline-block;
  font-size: 14px;
  margin-right: 5px;
}

.blklnk {
  cursor: pointer;
}

.iframe_container {
  line-height: 0;
  height: 0;
  padding-bottom: 56%;
  position: relative;
  display: block;
}
.iframe_container iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

main {
  display: block;
}

.container {
  position: relative;
}

.hidden {
  display: none;
}

.trash {
  clear: both;
}

.message {
  padding: 15px;
  margin-bottom: 5%;
  background-color: #d3e9f7;
  color: #2193d5;
  border-bottom: 2px solid #2193d5;
  font-weight: 600;
}
.message.message-success {
  background-color: #eaf1dc;
  color: #94b94f;
  border-bottom-color: #94b94f;
}
.message.message-error {
  background-color: #f8d8d9;
  color: #db3c40;
  border-bottom-color: #db3c40;
}
.message.message-warning {
  background-color: #ffebcc;
  color: #ff9c00;
  border-bottom-color: #ff9c00;
}
.message a {
  color: #21b9d5;
  text-decoration: underline;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.message a:hover {
  color: #525858;
}

.notvisible {
  margin: 0 !important;
  padding: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

.wrapper {
  width: 300px;
  margin: 0 auto;
}

.main_ctnr {
  padding: 20px 0;
}

@media only screen and (min-width: 480px) {
  .wrapper {
    width: 460px;
  }
}
.share_blk {
  text-align: center;
  padding: 20px 20px 0;
  margin-top: 50px;
  background-color: #f3f3f3;
}
.share_blk .buttons {
  font-size: 0;
  line-height: 0;
}
.share_blk .buttons .btn {
  margin-bottom: 20px;
  width: 100%;
}

#share_form_modal .part_title {
  text-align: center;
  text-transform: none;
  padding: 0;
}
#share_form_modal .part_title:before {
  position: static;
  display: block;
  margin: -10px auto 10px;
}
#share_form_modal .part_subtitle {
  color: #525858;
  margin-bottom: 10px;
  text-transform: none;
}
#share_form_modal .form .form_entry {
  padding-top: 20px;
  border-top: 1px solid #eaeaea;
}
#share_form_modal .form .form_entry .field > label {
  display: none;
}
#share_form_modal .form .form_footer .buttons {
  text-align: center;
  float: none;
  border-top: 1px solid #eaeaea;
  padding-top: 20px;
}
#share_form_modal .form .form_footer .buttons .btn {
  margin: 10px 10px 0;
  width: auto;
}
#share_form_modal .form .date_ctnr .field {
  padding-left: 30px !important;
  padding-right: 10px;
  position: relative;
}
#share_form_modal .form .date_ctnr .field label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 35px;
  color: #525858;
}
#share_form_modal .form .date_ctnr .field label:after {
  display: none;
}
#share_form_modal .form .date_ctnr .field + .field {
  padding-right: 0;
  padding-left: 40px !important;
}
#share_form_modal .form .date_ctnr .field + .field label {
  left: 10px;
}
#share_form_modal .form .remove_link {
  display: block;
  text-align: right;
  color: #999999;
  font-size: 0.9em;
}
#share_form_modal .form .remove_link:before {
  margin-right: 5px;
  text-decoration: none;
  display: inline-block;
}
#share_form_modal .form .remove_link:hover {
  text-decoration: underline;
}

#consult_form_inter {
  margin-top: -31px;
}

.plan_chooser_ctnr .plan_chooser {
  display: none;
}

.top_nav {
  text-align: right;
  padding-bottom: 10px;
  border-bottom: 1px solid #eaeaea;
  margin-top: -10px;
}
.top_nav li {
  font-size: 0.9em;
}
.top_nav li a {
  display: block;
  line-height: 20px;
  padding: 5px 0;
}
.top_nav li a:before {
  margin-right: 5px;
  text-decoration: none;
  display: inline-block;
}
.top_nav li a.share_link {
  color: #2193d5;
}
.top_nav li a.remove_link {
  color: #999999;
}
.top_nav li a:hover {
  text-decoration: underline;
}

.dash_block {
  padding: 20px;
  color: #fff;
  min-height: 140px;
  position: relative;
  margin-bottom: 20px;
}
.dash_block.orange {
  background-image: -owg-linear-gradient(56deg, #ffb400 0%, #ff9c00 100%);
  background-image: -webkit-linear-gradient(56deg, #ffb400 0%, #ff9c00 100%);
  background-image: -moz-linear-gradient(56deg, #ffb400 0%, #ff9c00 100%);
  background-image: -o-linear-gradient(56deg, #ffb400 0%, #ff9c00 100%);
  background-image: linear-gradient(56deg, #ffb400 0%, #ff9c00 100%);
}
.dash_block.violet {
  background-image: -owg-linear-gradient(56deg, #b242c3 0%, #8542c3 100%);
  background-image: -webkit-linear-gradient(56deg, #b242c3 0%, #8542c3 100%);
  background-image: -moz-linear-gradient(56deg, #b242c3 0%, #8542c3 100%);
  background-image: -o-linear-gradient(56deg, #b242c3 0%, #8542c3 100%);
  background-image: linear-gradient(56deg, #b242c3 0%, #8542c3 100%);
}
.dash_block.blue {
  background-image: -owg-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -webkit-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -moz-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -o-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
}
.dash_block:before {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 120px;
  height: 100px;
  margin-top: -50px;
  opacity: 0.08;
  font-size: 100px;
  line-height: 100px;
  text-align: center;
}
.dash_block .ctnt {
  position: relative;
}
.dash_block .title {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 10px;
}
.dash_block .value {
  font-size: 50px;
  font-weight: 500;
  line-height: 1.2;
}

form .field-error-message {
  color: #db3c40;
  margin-top: 5px;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
}

.form input[type=text], .form input[type=password], .form input[type=email], .form input[type=tel], .form input[type=number], .form input[type=search], .form input[type=date], .form input[type=time] {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #525858;
  line-height: 35px;
  height: 35px;
  padding: 0 10px;
  border: 1px solid #999999;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
}
.form input[type=text]::-webkit-input-placeholder, .form input[type=password]::-webkit-input-placeholder, .form input[type=email]::-webkit-input-placeholder, .form input[type=tel]::-webkit-input-placeholder, .form input[type=number]::-webkit-input-placeholder, .form input[type=search]::-webkit-input-placeholder, .form input[type=date]::-webkit-input-placeholder, .form input[type=time]::-webkit-input-placeholder {
  color: #999999;
}
.form input[type=text]:-moz-placeholder, .form input[type=password]:-moz-placeholder, .form input[type=email]:-moz-placeholder, .form input[type=tel]:-moz-placeholder, .form input[type=number]:-moz-placeholder, .form input[type=search]:-moz-placeholder, .form input[type=date]:-moz-placeholder, .form input[type=time]:-moz-placeholder {
  color: #999999;
}
.form input[type=text]::-moz-placeholder, .form input[type=password]::-moz-placeholder, .form input[type=email]::-moz-placeholder, .form input[type=tel]::-moz-placeholder, .form input[type=number]::-moz-placeholder, .form input[type=search]::-moz-placeholder, .form input[type=date]::-moz-placeholder, .form input[type=time]::-moz-placeholder {
  color: #999999;
}
.form input[type=text]:-ms-input-placeholder, .form input[type=password]:-ms-input-placeholder, .form input[type=email]:-ms-input-placeholder, .form input[type=tel]:-ms-input-placeholder, .form input[type=number]:-ms-input-placeholder, .form input[type=search]:-ms-input-placeholder, .form input[type=date]:-ms-input-placeholder, .form input[type=time]:-ms-input-placeholder {
  color: #999999;
}
.form textarea {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #525858;
  line-height: 1.2em;
  padding: 10px;
  overflow: auto;
  resize: none;
  border: 1px solid #999999;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
  height: 120px;
}
.form textarea::-webkit-input-placeholder {
  color: #999999;
}
.form textarea:-moz-placeholder {
  color: #999999;
}
.form textarea::-moz-placeholder {
  color: #999999;
}
.form textarea:-ms-input-placeholder {
  color: #999999;
}
.form .fieldset {
  border: 1px solid #eaeaea;
  border-width: 1px 0;
  padding: 20px 0 1px;
  margin-bottom: 30px;
}
.form .form_entry {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 15px;
}
.form .form_entry.small .field {
  max-width: 300px;
}
.form .form_entry.fat_label label {
  font-size: 18px;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: #525858;
}
.form .field {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.form .field + .field {
  margin-top: 15px;
}
.form .field.field-disabled {
  opacity: 0.5;
}
.form .field.field-disabled * {
  cursor: default !important;
}
.form .field.field-error * {
  border-color: #db3c40;
}
.form .field label {
  display: block;
}
.form .field label.required:after {
  content: " *";
}
.form .field label:not(.part_title):not(.part_subtitle) {
  margin-bottom: 2px;
  font-size: 13px;
  line-height: 1.2;
  color: #777777;
  font-weight: 500;
}
.form .field label.part_title:after, .form .field label.part_subtitle:after {
  display: none;
}
.form .field input[type=text], .form .field input[type=password], .form .field input[type=email], .form .field input[type=tel], .form .field input[type=number], .form .field input[type=search], .form .field input[type=date], .form .field input[type=time], .form .field textarea {
  width: 100%;
}
.form .field .checkbox_ctnr {
  display: inline-block;
  margin-right: 20px;
}
.form .field .checkbox_ctnr input {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}
.form .field .checkbox_ctnr input + label {
  margin-bottom: 0;
  padding-left: 20px;
  position: relative;
  cursor: pointer;
  display: block;
  color: #525858;
  font-size: 14px;
  text-transform: none;
}
.form .field .checkbox_ctnr input + label:before, .form .field .checkbox_ctnr input + label:after {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 3px;
  left: 0;
}
.form .field .checkbox_ctnr input + label:before {
  content: "";
  border: 1px solid #525858;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -o-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.form .field .checkbox_ctnr input + label:after {
  content: "\e902";
  font-family: "icomoon";
  font-size: 12px;
  line-height: 8px;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 0.2s, color 0.2s;
  -moz-transition: opacity 0.2s, color 0.2s;
  -o-transition: opacity 0.2s, color 0.2s;
  transition: opacity 0.2s, color 0.2s;
}
.form .field .checkbox_ctnr input:checked + label:before {
  border-color: #2193d5;
}
.form .field .checkbox_ctnr input:checked + label:after {
  opacity: 1;
  color: #2193d5;
}
.form .field .radio_ctnr {
  display: inline-block;
  margin-right: 20px;
}
.form .field .radio_ctnr input {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}
.form .field .radio_ctnr input + label {
  margin-bottom: 0;
  padding-left: 20px;
  position: relative;
  cursor: pointer;
  display: block;
  color: #525858;
  font-size: 14px;
  text-transform: none;
}
.form .field .radio_ctnr input + label:before, .form .field .radio_ctnr input + label:after {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 2px;
  left: 0;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
}
.form .field .radio_ctnr input + label:before {
  content: "";
  border: 1px solid #525858;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -o-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.form .field .radio_ctnr input + label:after {
  content: "";
  width: 6px;
  height: 6px;
  top: 5px;
  left: 3px;
  background-color: #2193d5;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.form .field .radio_ctnr input:checked + label:before {
  border-color: #2193d5;
}
.form .field .radio_ctnr input:checked + label:after {
  opacity: 1;
}
.form .dob_ctnr {
  font-size: 0;
  line-height: 0;
}
.form .dob_ctnr .customselect-container {
  display: inline-block;
  width: 30%;
  margin-left: 5%;
}
.form .dob_ctnr .customselect-container:first-child {
  margin-left: 0;
}
.form .time_ctnr .customselect-container {
  display: inline-block;
  width: 40%;
  margin: 0 5%;
}
.form .time_ctnr .customselect-container:first-child {
  margin-left: 0;
}
.form .time_ctnr .customselect-container:last-child {
  margin-right: 0;
}
.form .autocompletesearch {
  position: relative;
}
.form .autocompletesearch .autocompletesearch_input_ctnr {
  position: relative;
}
.form .autocompletesearch .autocompletesearch_input_ctnr:before {
  content: "\e900" " " "\e900" " " "\e900" " " "\e900";
  font-family: "icomoon";
  font-size: 5px;
  line-height: 35px;
  position: absolute;
  top: 0;
  right: 10px;
  color: #2193d5;
  max-width: 4.6em;
  white-space: nowrap;
  overflow: hidden;
}
.form .autocompletesearch .autocompletesearch_input_ctnr input {
  padding-right: 50px;
}
.form .autocompletesearch .autocompletesearch_input_ctnr.autosearch_loading:before {
  -webkit-animation: loading 2s linear infinite;
  -moz-animation: loading 2s linear infinite;
  -ms-animation: loading 2s linear infinite;
  -o-animation: loading 2s linear infinite;
  animation: loading 2s linear infinite;
}
.form .autocompletesearch .autosearch {
  position: absolute;
  top: 35px;
  left: 0;
  right: 0;
  border: 1px solid #999999;
  border-top: none;
  background-color: #fff;
  padding: 0 10px;
  display: none;
  max-height: 160px;
  overflow: auto;
  z-index: 40;
}
.form .autocompletesearch .autosearch .autosearchentry {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #eaeaea;
  line-height: 19px;
}
.form .autocompletesearch .autosearch .autosearchentry:last-child {
  border-bottom: none;
}
.form .autocompletesearch .autosearch .autosearchentry:not(.autosearchentryopen) {
  display: none;
}
.form .autocompletesearch .autosearch .autosearchentry label {
  display: inline-block;
}
.form .autocompletesearch .autosearch.autosearchopen {
  display: block;
}
.form .autocompletesearch .autocompletetags {
  margin-top: 10px;
}
.form .autocompletesearch .autocompletetags .autosearchtag {
  display: block;
  border: 1px solid #eaeaea;
  border-width: 1px 0;
  font-weight: 600;
  font-size: 15px;
  line-height: 25px;
  padding: 5px 0;
  padding-right: 25px;
  position: relative;
  cursor: pointer;
  -webkit-transition: color 0.2s, border-color 0.2s;
  -moz-transition: color 0.2s, border-color 0.2s;
  -o-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s;
  margin-bottom: -1px;
}
.form .autocompletesearch .autocompletetags .autosearchtag:before {
  content: "\e90e";
  font-family: "icomoon";
  font-weight: 400;
  font-size: 14px;
  line-height: 14px;
  height: 14px;
  width: 25px;
  text-align: right;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 0;
}
.form .autocompletesearch .autocompletetags .autosearchtag:hover {
  border-color: #2193d5;
  color: #2193d5;
  z-index: 1;
}
.form .collection {
  border-top: 1px solid #eaeaea;
  margin-bottom: 50px;
}
.form .collection .multiplefield-form {
  padding: 20px 50px;
  position: relative;
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 0;
}
.form .collection .multiplefield-form .multifield-remove {
  font-size: 0;
  line-height: 0;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.form .collection .multiplefield-form .multifield-remove:hover {
  color: #2193d5;
}
.form .collection .multiplefield-form .multifield-remove:before {
  content: "\e90e";
  font-family: "icomoon";
  font-size: 15px;
  line-height: 30px;
  height: 30px;
  width: 30px;
  text-align: center;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  right: 0;
}
.form .collection .multiplefield-form .multiplefield-sorthandle {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  padding: 12px 5px;
  cursor: row-resize;
}
.form .collection .multiplefield-form .multiplefield-sorthandle:before {
  content: "";
  height: 6px;
  width: 20px;
  text-align: center;
  border: 1px solid #dcdcdc;
  border-width: 1px 0;
  display: block;
}
.form .collection .multiplefield-form.sortable-chosen {
  background-color: #eaeaea;
}
.form .collection .multifield-add-ctnr {
  padding: 30px 0;
  border-bottom: 1px solid #eaeaea;
}
.form .collection #appbundle_consultation_interventions .multiplefield-form {
  padding-left: 0;
}
.form .deepselector, .form .deepselector-clone {
  display: none;
}
.form .deepselector-container .deepselector-subcontainer {
  -webkit-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  -moz-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  padding: 20px;
  margin-bottom: 20px;
}
.form .deepselector-container .deepselector-subcontainer label {
  display: block;
  color: #525858;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #eaeaea;
  position: relative;
  padding-top: 30px;
}
.form .deepselector-container .deepselector-subcontainer label:before, .form .deepselector-container .deepselector-subcontainer label:after {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 10px;
  left: 50%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
  margin-left: -6px;
}
.form .deepselector-container .deepselector-subcontainer label:before {
  content: "";
  border: 1px solid #525858;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -o-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.form .deepselector-container .deepselector-subcontainer label:after {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: 3px;
  margin-left: -3px;
  background-color: #2193d5;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.form .deepselector-container .deepselector-subcontainer .customselect {
  opacity: 0.5;
}
.form .deepselector-container .deepselector-subcontainer.deepselector-active {
  background-color: #f3f3f3;
}
.form .deepselector-container .deepselector-subcontainer.deepselector-active label:before {
  border-color: #2193d5;
}
.form .deepselector-container .deepselector-subcontainer.deepselector-active label:after {
  opacity: 1;
}
.form .deepselector-container .deepselector-subcontainer.deepselector-active .customselect {
  opacity: 1;
}
.form .deepselector-container .deepselector-subcontainer input {
  display: none;
}
.form .form_footer .mention {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #999999;
  margin-bottom: 20px;
}
.form .form_footer .buttons .btn {
  width: 100%;
  margin-bottom: 10px;
}

body {
  background-color: #dcdcdc;
}

.site_ctnr {
  overflow: hidden;
  min-width: 320px;
  position: relative;
  min-height: 100vh;
  padding-bottom: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
}
.site_ctnr:before {
  content: "";
  background-color: rgba(82, 88, 88, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s, visibility 0.2s;
  -moz-transition: opacity 0.2s, visibility 0.2s;
  -o-transition: opacity 0.2s, visibility 0.2s;
  transition: opacity 0.2s, visibility 0.2s;
}
.action_open .site_ctnr:before, .nav_open .site_ctnr:before {
  opacity: 1;
  visibility: visible;
}

#top {
  position: relative;
  padding: 0 80px 0 60px;
  background-color: #f3f3f3;
  z-index: 101;
}
#top .nav_btn {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #525858;
  color: #fff;
  font-size: 12px;
  text-align: center;
  width: 60px;
  text-transform: uppercase;
  line-height: 20px;
  font-weight: 600;
  padding-top: 30px;
  padding-bottom: 10px;
  cursor: pointer;
}
#top .nav_btn .pic {
  position: absolute;
  top: 20px;
  left: 50%;
  z-index: 2;
  display: block;
  width: 20px;
  height: 2px;
  background-color: #fff;
  margin-top: 6px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform-origin: 50% 50% 50%;
  -moz-transform-origin: 50% 50% 50%;
  -ms-transform-origin: 50% 50% 50%;
  -o-transform-origin: 50% 50% 50%;
  transform-origin: 50% 50% 50%;
  -webkit-transition: -webkit-transform 0.3s, margin-top 0.3s;
  -moz-transition: -moz-transform 0.3s, margin-top 0.3s;
  -o-transition: -o-transform 0.3s, margin-top 0.3s;
  transition: transform 0.3s, margin-top 0.3s;
}
#top .nav_btn .pic:before, #top .nav_btn .pic:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 2px;
  background-color: #fff;
}
#top .nav_btn .pic:before {
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  -ms-transform: translateY(-12px);
  -o-transform: translateY(-12px);
  transform: translateY(-12px);
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  -o-transition: -o-transform 0.3s;
  transition: transform 0.3s;
}
#top .nav_btn .pic:after {
  -webkit-transform: translateY(-6px);
  -moz-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  -o-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-transition: width 0.3s;
  -webkit-transition-delay: 0.2s;
  -moz-transition: width 0.3s 0.2s;
  -o-transition: width 0.3s 0.2s;
  transition: width 0.3s 0.2s;
}
.nav_open #top .nav_btn .pic {
  -webkit-transform: translateX(-50%) rotate(135deg);
  -moz-transform: translateX(-50%) rotate(135deg);
  -ms-transform: translateX(-50%) rotate(135deg);
  -o-transform: translateX(-50%) rotate(135deg);
  transform: translateX(-50%) rotate(135deg);
  margin-top: 0;
  -webkit-transition: -webkit-transform 0.3s, margin-top 0.3s;
  -webkit-transition-delay: 0.2s, 0.2s;
  -moz-transition: -moz-transform 0.3s 0.2s, margin-top 0.3s 0.2s;
  -o-transition: -o-transform 0.3s 0.2s, margin-top 0.3s 0.2s;
  transition: transform 0.3s 0.2s, margin-top 0.3s 0.2s;
}
.nav_open #top .nav_btn .pic:before {
  -webkit-transform: translateY(0) rotate(90deg);
  -moz-transform: translateY(0) rotate(90deg);
  -ms-transform: translateY(0) rotate(90deg);
  -o-transform: translateY(0) rotate(90deg);
  transform: translateY(0) rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s;
  -webkit-transition-delay: 0.2s;
  -moz-transition: -moz-transform 0.3s 0.2s;
  -o-transition: -o-transform 0.3s 0.2s;
  transition: transform 0.3s 0.2s;
}
.nav_open #top .nav_btn .pic:after {
  -webkit-transform: translateY(-6px) rotate(0);
  -moz-transform: translateY(-6px) rotate(0);
  -ms-transform: translateY(-6px) rotate(0);
  -o-transform: translateY(-6px) rotate(0);
  transform: translateY(-6px) rotate(0);
  width: 0;
  -webkit-transition: width 0.3s;
  -moz-transition: width 0.3s;
  -o-transition: width 0.3s;
  transition: width 0.3s;
}
#top .logo {
  width: 164px;
  margin: 0 auto;
  padding: 10px 0;
}
#top .logo img {
  width: 100%;
  display: block;
}
#top .action_btn {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 12px;
  text-align: center;
  width: 80px;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
  text-transform: uppercase;
  line-height: 20px;
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 10px;
  cursor: pointer;
}
#top .action_btn:before {
  display: block;
  font-size: 6px;
  line-height: 20px;
  font-weight: 400;
}
#top .action_btn:after {
  content: "";
  border-left: 1px solid #dcdcdc;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.action_open #top .action_btn {
  background-color: #2193d5;
  color: #fff;
}
.action_open #top .action_btn:after {
  opacity: 0;
}
#top .action {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background-color: #ffffff;
  padding: 0 10px;
  -webkit-box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -moz-transition: -moz-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -o-transition: -o-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  transition: transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
}
#top .action .lib {
  display: none;
}
#top .action a {
  padding: 15px 5px;
  display: block;
  line-height: 20px;
  border-bottom: 1px solid #eaeaea;
  font-weight: 600;
  padding-left: 40px;
  position: relative;
}
#top .action a:before {
  font-size: 24px;
  position: absolute;
  top: 10px;
  height: 30px;
  line-height: 30px;
  width: 30px;
  text-align: center;
  left: 0;
}
#top .action .inter {
  color: #ff9c00;
}
#top .action .consult {
  color: #2193d5;
}
#top .action .logout {
  color: #999999;
}
#top .action .logout a {
  border-bottom: none;
}
.action_open #top .action {
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}
#top .search {
  margin: 0 -80px 0 -60px;
}
#top .search fieldset {
  background-color: #fff;
  border: 5px solid #eaeaea;
  padding: 10px;
  padding-right: 50px;
  position: relative;
}
#top .search fieldset input {
  width: 100%;
  height: 30px;
  line-height: 30px;
  color: #999999;
  font-size: 14px;
  font-weight: 500;
}
#top .search fieldset input::-webkit-input-placeholder {
  color: #999999;
}
#top .search fieldset input:-moz-placeholder {
  color: #999999;
}
#top .search fieldset input::-moz-placeholder {
  color: #999999;
}
#top .search fieldset input:-ms-input-placeholder {
  color: #999999;
}
#top .search fieldset button {
  width: 30px;
  height: 30px;
  line-height: 0;
  color: #999999;
  font-size: 0;
  position: absolute;
  top: 10px;
  right: 10px;
}
#top .search fieldset button:before {
  content: "\e923";
  font-family: "icomoon";
  font-size: 23px;
  line-height: 30px;
}

#nav {
  position: absolute;
  top: 60px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 102;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -moz-transition: -moz-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -o-transition: -o-transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  transition: transform 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
}
#nav .logo {
  display: none;
}
#nav .logo img {
  width: 100%;
  display: block;
}
.nav_open #nav {
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
}
#nav > ul {
  background-color: #ffffff;
  -webkit-box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  box-shadow: 0 20px 20px -20px rgba(0, 0, 0, 0.15), 0 -20px 20px -20px rgba(0, 0, 0, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  overflow: auto;
  max-height: 100%;
  font-size: 14px;
}
#nav > ul > li {
  border-bottom: 1px solid #eaeaea;
  position: relative;
}
#nav > ul > li > a {
  padding: 15px 10px;
  padding-left: 50px;
  display: block;
  line-height: 20px;
  font-weight: 600;
  position: relative;
}
#nav > ul > li > a:before {
  font-size: 24px;
  position: absolute;
  top: 50%;
  height: 50px;
  line-height: 50px;
  margin-top: -25px;
  width: 50px;
  text-align: center;
  left: 0;
}
#nav > ul > li.active {
  background-image: -owg-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -webkit-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -moz-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: -o-linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  background-image: linear-gradient(56deg, #21b9d5 0%, #2193d5 100%);
  color: #fff;
}
#nav > ul > li.parent {
  padding-right: 30px;
}
#nav > ul > li.parent:before {
  content: "\e928";
  font-family: "icomoon";
  position: absolute;
  top: 10px;
  height: 30px;
  right: 0px;
  width: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 6px;
  font-weight: 400;
  cursor: pointer;
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: -webkit-transform 0.2s, color 0.2s;
  -moz-transition: -moz-transform 0.2s, color 0.2s;
  -o-transition: -o-transform 0.2s, color 0.2s;
  transition: transform 0.2s, color 0.2s;
}
#nav > ul > li.parent ul {
  overflow: hidden;
  max-height: 0px;
  -webkit-transition: max-height 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -moz-transition: max-height 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  -o-transition: max-height 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  transition: max-height 0.4s cubic-bezier(0.55, 0.1, 0.2, 0.9);
  font-weight: 400;
  font-size: 13px;
  margin-right: -30px;
}
#nav > ul > li.parent ul li a {
  padding: 5px 0;
  line-height: 20px;
  display: block;
  padding-left: 50px;
}
#nav > ul > li.parent ul li:last-child {
  margin-bottom: 20px;
}
#nav > ul > li.parent ul li.active {
  background-color: #fff;
  color: #2193d5;
}
#nav > ul > li.parent.open ul {
  max-height: 600px;
  -webkit-transition-timing-function: cubic-bezier(0.8, 0.1, 0.45, 0.9);
  -moz-transition-timing-function: cubic-bezier(0.8, 0.1, 0.45, 0.9);
  -o-transition-timing-function: cubic-bezier(0.8, 0.1, 0.45, 0.9);
  transition-timing-function: cubic-bezier(0.8, 0.1, 0.45, 0.9);
}
#nav > ul > li.parent.open:before {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
#nav > ul > li:last-child {
  border-bottom: none;
}

#bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #eaeaea;
  font-size: 13px;
  line-height: 25px;
  padding: 5px 15px;
  z-index: 102;
}

.list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
}
.list .line {
  margin-bottom: 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}
.list .line .ctnr {
  display: block;
  -webkit-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  -moz-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  padding: 30px 20px;
  text-align: center;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.list .line .name {
  color: #525858;
  font-weight: 600;
  line-height: 1.2;
  font-size: 20px;
}
.list .line .name:before {
  display: block;
  margin-bottom: 20px;
  font-size: 35px;
  line-height: 1;
  color: #dcdcdc;
}
.list .line .more {
  margin-top: 20px;
}

@media only screen and (min-width: 480px) {
  .list {
    margin: 0 -10px;
  }
  .list .line {
    width: 50%;
    padding: 0 10px;
  }
}
body.login_body {
  background-color: #fff;
}

.login_site_ctnr {
  overflow: hidden;
  min-width: 320px;
  position: relative;
  min-height: 100vh;
  padding-bottom: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.login_site_ctnr .login_ctnr {
  padding: 30px 0;
}
.login_site_ctnr .login_ctnr .logo {
  width: 145px;
  margin: 20px auto;
}
.login_site_ctnr .login_ctnr .logo img {
  display: block;
  width: 100%;
}
.login_site_ctnr .login_ctnr .ctnt {
  text-align: center;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid #eaeaea;
}
.login_site_ctnr .login_ctnr .ctnt .mention a {
  text-decoration: underline;
  color: #525858;
}
.login_site_ctnr .login_ctnr .ctnt .mention a:hover {
  color: #2193d5;
}
.login_site_ctnr #bottom {
  text-align: center;
}

.modal_ctnr {
  background-color: #fff;
  padding: 30px;
  max-width: 400px;
  position: relative;
  display: none;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  margin: 0 auto;
}
.modal_ctnr .mfp-close {
  display: none;
}

.mfp-content .modal_ctnr {
  display: block;
}

.multi_action {
  display: inline-block;
  position: relative;
}
.multi_action li {
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  z-index: 20;
  display: none;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
  cursor: pointer;
  background-color: #fff;
}
.multi_action li:first-child {
  padding-right: 20px;
  position: relative;
  border: 2px solid #b9c2bc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  z-index: 0;
  display: block;
  min-width: 100px;
}
.multi_action li:first-child:before {
  content: "\e928";
  font-family: "icomoon";
  font-weight: 400;
  font-size: 5px;
  width: 20px;
  color: #2193d5;
  position: absolute;
  line-height: 10px;
  margin-top: -5px;
  text-align: center;
  top: 50%;
  right: 0;
  display: block;
}
.multi_action li:first-child .btn {
  border: none;
  border-right: 1px solid #b9c2bc;
  -webkit-border-radius: 2px 0 0 2px;
  -moz-border-radius: 2px 0 0 2px;
  -ms-border-radius: 2px 0 0 2px;
  -o-border-radius: 2px 0 0 2px;
  border-radius: 2px 0 0 2px;
}
.multi_action li .btn {
  width: 100%;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  padding: 5px;
}
.multi_action li:nth-child(2) {
  margin-top: 35px;
}
.multi_action li:nth-child(3) {
  margin-top: 70px;
}
.multi_action li:nth-child(4) {
  margin-top: 105px;
}
.multi_action li:nth-child(5) {
  margin-top: 140px;
}
.multi_action li:nth-child(6) {
  margin-top: 175px;
}
.multi_action li:nth-child(7) {
  margin-top: 210px;
}
.multi_action li:nth-child(8) {
  margin-top: 245px;
}
.multi_action li:nth-child(9) {
  margin-top: 280px;
}
.multi_action li:nth-child(10) {
  margin-top: 315px;
}
.multi_action.open li {
  display: block;
}
.multi_action.open li:first-child {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  -ms-border-radius: 4px 4px 0 0;
  -o-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.multi_action.open li:first-child .btn {
  -webkit-border-radius: 2px 0 0 0;
  -moz-border-radius: 2px 0 0 0;
  -ms-border-radius: 2px 0 0 0;
  -o-border-radius: 2px 0 0 0;
  border-radius: 2px 0 0 0;
}
.multi_action.open li:last-child {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  -ms-border-radius: 0 0 4px 4px;
  -o-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}
.multi_action.open li:last-child .btn {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  -ms-border-radius: 0 0 4px 4px;
  -o-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

.page_head {
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.page_head .back {
  border-bottom: 1px solid #eaeaea;
}

.h1 {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 10px;
}

.ul li {
  margin-bottom: 10px;
  color: #999999;
}

.back {
  color: #999999;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.back a {
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.back a:before {
  margin-right: 10px;
}
.back a:hover {
  color: #2193d5;
}

.page_tags .tag {
  display: inline-block;
  background-color: #f3f3f3;
  color: #525858;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  position: relative;
  padding: 10px 20px;
  margin-bottom: 10px;
  margin-right: 10px;
  font-size: 0;
  line-height: 0;
  padding-left: 45px;
}
.page_tags .tag:before {
  color: #525858;
  font-size: 17px;
  line-height: 20px;
  position: absolute;
  top: 50%;
  height: 20px;
  margin-top: -10px;
  left: 15px;
  width: 20px;
  text-align: center;
}
.page_tags .tag .dot {
  height: 16px;
  width: 16px;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 15px;
}
.page_tags .tag .lib {
  color: #777777;
  font-size: 15px;
  line-height: 20px;
  margin-right: 5px;
  font-weight: 400;
  display: inline-block;
  vertical-align: middle;
}
.page_tags .tag .value {
  color: #525858;
  font-size: 17px;
  line-height: 20px;
  font-weight: 500;
  display: inline-block;
  vertical-align: middle;
}

.page_title {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  position: relative;
  margin-bottom: 20px;
}
.page_title[class*=ius_] {
  line-height: 30px;
  padding: 5px 0;
  padding-left: 40px;
}
.page_title[class*=ius_]:before {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  width: 30px;
  font-size: 26px;
  line-height: 30px;
  height: 30px;
}
.page_title strong {
  font-size: 50px;
}

.page_subtitle {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  margin-bottom: 20px;
}
.page_subtitle[class*=ius_] {
  line-height: 30px;
  padding: 5px 0;
  padding-left: 40px;
}
.page_subtitle[class*=ius_]:before {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  width: 30px;
  font-size: 26px;
  line-height: 30px;
  height: 30px;
}

.main_actions {
  margin: 20px 0;
  text-align: right;
}
.main_actions .multi_action {
  width: 100%;
}
.main_actions .btn {
  width: 100%;
}
.main_actions > li {
  margin-bottom: 10px;
}
.main_actions.small .btn {
  padding-left: 10px;
  padding-right: 10px;
}

.preferences {
  margin-bottom: 20px;
}
.preferences .customselect-container {
  display: inline-block;
  width: 76px;
}
.preferences label {
  font-size: 13px;
  font-weight: 500;
  margin-left: 10px;
}

.status {
  position: relative;
  padding-left: 20px;
  display: inline-block;
  min-height: 10px;
}
.status .dot {
  height: 10px;
  width: 10px;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  margin-top: -5px;
  left: 0;
}

.two_cols:after, .three_cols:after {
  content: "";
  clear: both;
  display: block;
}
.two_cols .col, .three_cols .col {
  min-height: 1px;
}

.empty {
  text-align: center;
  padding: 10px;
  margin: 20px 0;
  border: 1px solid #eaeaea;
  border-width: 1px 0;
  font-weight: 500;
}

.pagination {
  margin-top: 50px;
  text-align: center;
}
.pagination span {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
  text-align: center;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 500;
}
.pagination span a {
  display: block;
  border: 1px solid #525858;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  -webkit-transition: color 0.2s, border-color 0.2s;
  -moz-transition: color 0.2s, border-color 0.2s;
  -o-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s;
}
.pagination span.current, .pagination span a.current {
  color: #fff;
  background-color: #525858;
  border: 1px solid #525858;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.pagination span.last, .pagination span.first {
  display: none;
}
.pagination span.previous, .pagination span.next {
  font-size: 0;
  line-height: 0;
  display: none;
}
.pagination span.previous a, .pagination span.next a {
  border: none;
}
.pagination span.previous a:before, .pagination span.next a:before {
  content: "";
  font-family: "icomoon";
  font-weight: 400;
  font-size: 12px;
  line-height: 30px;
  display: block;
}
.pagination span.previous a:before {
  content: "\e929";
}
.pagination span.next a:before {
  content: "\e92a";
}
.pagination span.show_all {
  display: block;
  border: 1px solid #525858;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  width: auto;
  padding: 0 5px;
  height: 30px;
  line-height: 30px;
  -webkit-transition: color 0.2s, border-color 0.2s;
  -moz-transition: color 0.2s, border-color 0.2s;
  -o-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s;
  cursor: pointer;
  text-transform: uppercase;
}
.pagination span.show_all:not(.current):hover {
  border-color: #2193d5;
  color: #2193d5;
}
.pagination span a:not(.current):hover {
  border-color: #2193d5;
  color: #2193d5;
}

.part {
  padding-bottom: 20px;
  border-bottom: 1px solid #f3f3f3;
  margin-bottom: 20px;
}

.part_title {
  color: #2193d5;
  font-size: 24px;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.2;
  position: relative;
  margin-bottom: 20px;
}
.part_title[class*=ius_] {
  line-height: 30px;
  padding: 5px 0;
  padding-left: 40px;
}
.part_title[class*=ius_]:before {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  width: 30px;
  font-size: 26px;
  line-height: 30px;
  height: 30px;
}
.part_title.orange {
  color: #ff9c00;
}

.part_subtitle {
  color: #2193d5;
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  margin-bottom: 20px;
}
.part_subtitle[class*=ius_] {
  line-height: 30px;
  padding: 5px 0;
  padding-left: 40px;
}
.part_subtitle[class*=ius_]:before {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  width: 30px;
  font-size: 24px;
  line-height: 30px;
  height: 30px;
}
.part_subtitle.orange {
  color: #ff9c00;
}

.infos {
  border-bottom: 1px solid #f3f3f3;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.infos li {
  position: relative;
  line-height: 20px;
  padding: 5px 0;
  padding-left: 30px;
  margin-bottom: 10px;
}
.infos li:before {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  left: 0;
  height: 30px;
  line-height: 30px;
  width: 20px;
  font-size: 20px;
  text-align: center;
}

.attr {
  border-bottom: 1px solid #f3f3f3;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.attr li {
  position: relative;
  padding: 5px 0;
  font-size: 0;
  line-height: 0;
}
.attr li .lib {
  display: inline-block;
  vertical-align: top;
  color: #999999;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.38;
  width: 40%;
}
.attr li .value {
  display: inline-block;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.2;
  width: 55%;
  margin-left: 5%;
}
.attr li .value > a.ext {
  text-decoration: underline;
}
.attr li .value > a.ext:hover {
  text-decoration: none;
}
.attr.with_del li {
  padding-right: 40px;
}
.attr.with_del li .del {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
}
.attr.with_del li .del .btn {
  font-size: 0;
  padding: 0;
  border: 0;
  line-height: 0;
}
.attr.with_del li .del .btn:before {
  content: "\e90e";
  font-family: "icomoon";
  font-weight: 400;
  height: 28px;
  line-height: 28px;
  font-size: 15px;
  width: 30px;
  text-align: center;
}
.attr.with_del li .del .btn:hover {
  color: #2193d5;
  background: none;
}

.part_desc {
  margin-bottom: 30px;
  font-size: 13px;
  color: #999999;
}

.report_block {
  padding: 20px 10px;
  margin-bottom: 20px;
  -webkit-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  -moz-box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
  box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
}
.report_block .title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 10px;
  text-align: center;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f3f3f3;
}
.report_block .title:before {
  display: block;
  font-size: 36px;
  line-height: 1.2;
  margin-bottom: 5px;
}
.report_block .field > label {
  display: none;
}
.report_block .field > label:after {
  display: none;
}
.report_block .date_ctnr .field {
  padding-left: 30px !important;
  position: relative;
}
.report_block .date_ctnr .field label {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 35px !important;
  color: #525858;
}

.report_success {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px 0 30px;
  border: 1px solid #f3f3f3;
  border-width: 1px 0;
}
.report_success .part_title {
  text-transform: none;
  margin-bottom: 30px;
}
.report_success .part_title:before {
  content: "\e902";
  font-family: "icomoon";
  display: block;
  color: #525858;
  font-weight: 400;
  margin-bottom: 20px;
}
.report_success .desc {
  font-weight: 500;
}

.data_grid {
  width: 100%;
  box-shadow: 0 5px 5px rgba(220, 220, 220, 0.15);
}
.data_grid tr th, .data_grid tr td {
  padding: 10px;
}
.data_grid tr > *:first-child {
  width: 40%;
}
.data_grid tr > *:last-child {
  width: 5%;
  text-align: center;
}
.data_grid tr th a {
  display: block;
  position: relative;
  padding-right: 30px;
  -webkit-transition: color 0.2s, background-color 0.2s;
  -moz-transition: color 0.2s, background-color 0.2s;
  -o-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.data_grid tr th a:before, .data_grid tr th a:after {
  font-family: "icomoon";
  font-size: 5px;
  line-height: 10px;
  width: 20px;
  position: absolute;
  top: 50%;
  right: 0;
  text-align: center;
  color: #dcdcdc;
}
.data_grid tr th a:before {
  content: "\e92b";
  margin-top: -10px;
}
.data_grid tr th a:after {
  content: "\e928";
}
.data_grid tr th a.asc:after {
  color: #2193d5;
}
.data_grid tr th a.desc:before {
  color: #2193d5;
}
.data_grid tr th a:hover {
  color: #21b9d5;
}
.data_grid thead {
  font-size: 13px;
  border-bottom: 1px solid #eaeaea;
}
.data_grid thead tr.heading th {
  background-color: #f3f3f3;
  color: #2193d5;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 20px;
}
.data_grid tbody {
  font-size: 14px;
}
.data_grid tbody tr td {
  border-bottom: 1px solid #eaeaea;
  padding: 20px 10px;
}
.data_grid .comment {
  color: #999999;
  display: block;
}
.data_grid .name {
  font-weight: 600;
  display: block;
  margin-top: 5px;
}
.data_grid .mob {
  padding: 0;
  width: 0 !important;
}

@media only screen and (max-width: 767px) {
  .data_grid .no_mob {
    display: none;
  }
  .data_grid tr td:first-child {
    padding-left: 0;
  }
  .data_grid tr td:last-child {
    padding-right: 0;
  }
  .data_grid .btn {
    font-size: 12px;
    padding: 5px 10px;
  }
}
@media only screen and (min-width: 768px) {
  .data_grid .mob {
    display: none;
  }
}
.tab_menu_ctnr {
  margin-bottom: 30px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 30px;
}
.tab_menu_ctnr .tab_menu {
  display: none;
}
.tab_menu_ctnr .tab_menu_select + .customselect {
  border-color: #2193d5;
}
.tab_menu_ctnr .tab_menu_select + .customselect:before {
  content: "\e919";
  font-size: 10px;
  color: #2193d5;
}
.tab_menu_ctnr.error .tab_menu_select + .customselect {
  border-color: #db3c40;
}
.tab_menu_ctnr.small {
  padding-bottom: 0px;
}

.tabs .tab {
  display: none;
}
.tabs .tab.open {
  display: block;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hbGwuY3NzIiwibWFwcGluZ3MiOiI7OztBQWdCQTtBQ1pFOzs7Ozs7Ozs7Ozs7O0VBNkRBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtBQ3JERjs7QURDRTtFQTZEQTtBQzFERjs7QURERTtFQStEQTtBQzFERjs7QURIRTtFQWlFQTtFQUNBO0FDMURGOztBRE5FO0VBb0VBO0VBQ0E7RUFDQTtBQzFERjs7QURWRTtFQXdFQTtBQzFERjtBRDJERTtFQUNFO0VBQ0E7QUN6REo7O0FEaEJFO0VBNkVBO0FDekRGOztBRGdFRTtFQUNFO0FDN0RKOztBQ3ZEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQ0t1RCw4QkNEbEQ7RURHcUQsMkJDSHJEO0VETTBELHNCQ04xRDtBSHlEUDs7QUMxREE7RUFDRTtBRDZERjs7QUMxREE7O0VBRUk7RUFDQTtBRDZESjs7QUloRkE7RUFDQyxzQkNrRk87RURqRlA7RUFDQTtFQUlBO0VBQ0E7QUpnRkQ7QUk3RUE7RUFDQyxzQkN1RU87RUR0RVA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FKOEVEOztBSTNFQTtFQUNFLGdCQ0pZO0FMa0ZkOztBSTVFQTtFQUNFLGdCQ05ZO0FMcUZkOztBSTdFQTtFQUNFLGdCQ1JZO0FMd0ZkOztBSTlFQTtFQUNFLGdCQ1ZVO0FMMkZaOztBSS9FQTtFQUNFLGdCQ1pjO0FMOEZoQjs7QUloRkE7RUFDRSxnQkNkZTtBTGlHakI7O0FJakZBO0VBQ0UsZ0JDaEJZO0FMb0dkOztBSWxGQTtFQUNFLGdCQ2xCcUI7QUx1R3ZCOztBSW5GQTtFQUNFLGdCQ3BCc0I7QUwwR3hCOztBSXBGQTtFQUNFLGdCQ3RCbUI7QUw2R3JCOztBSXJGQTtFQUNFLGdCQ3hCa0I7QUxnSHBCOztBSXRGQTtFQUNFLGdCQzFCdUI7QUxtSHpCOztBSXZGQTtFQUNFLGdCQzVCa0I7QUxzSHBCOztBSXhGQTtFQUNFLGdCQzlCYztBTHlIaEI7O0FJekZBO0VBQ0UsZ0JDaEN1QjtBTDRIekI7O0FJMUZBO0VBQ0UsZ0JDbENrQjtBTCtIcEI7O0FJM0ZBO0VBQ0UsZ0JDcENlO0FMa0lqQjs7QUk1RkE7RUFDRSxnQkN0Q2U7QUxxSWpCOztBSTdGQTtFQUNFLGdCQ3hDYTtBTHdJZjs7QUk5RkE7RUFDRSxnQkMxQ2U7QUwySWpCOztBSS9GQTtFQUNFLGdCQzVDYTtBTDhJZjs7QUloR0E7RUFDRSxnQkM5Q2M7QUxpSmhCOztBSWpHQTtFQUNFLGdCQ2hEYTtBTG9KZjs7QUlsR0E7RUFDRSxnQkNsRGE7QUx1SmY7O0FJbkdBO0VBQ0UsZ0JDcERZO0FMMEpkOztBSXBHQTtFQUNFLGdCQ3REa0I7QUw2SnBCOztBSXJHQTtFQUNFLGdCQ3hEZTtBTGdLakI7O0FJdEdBO0VBQ0UsZ0JDMURZO0FMbUtkOztBSXZHQTtFQUNFLGdCQzVEZ0I7QUxzS2xCOztBSXhHQTtFQUNFLGdCQzlEWTtBTHlLZDs7QUl6R0E7RUFDRSxnQkNoRWU7QUw0S2pCOztBSTFHQTtFQUNFLGdCQ2xFYTtBTCtLZjs7QUkzR0E7RUFDRSxnQkNwRVk7QUxrTGQ7O0FJNUdBO0VBQ0UsZ0JDdEVVO0FMcUxaOztBSTdHQTtFQUNFLGdCQ3hFVTtBTHdMWjs7QUk5R0E7RUFDRSxnQkMxRWM7QUwyTGhCOztBSS9HQTtFQUNFLGdCQzVFYztBTDhMaEI7O0FJaEhBO0VBQ0UsZ0JDOUVZO0FMaU1kOztBSWpIQTtFQUNFLGdCQ2hGVztBTG9NYjs7QUlsSEE7RUFDRSxnQkNsRmE7QUx1TWY7O0FJbkhBO0VBQ0UsZ0JDcEZZO0FMME1kOztBSXBIQTtFQUNFLGdCQ3RGYztBTDZNaEI7O0FJckhBO0VBQ0UsZ0JDeEZnQjtBTGdObEI7O0FJdEhBO0VBQ0UsZ0JDMUZhO0FMbU5mOztBTW5SQTtFQUF3QjtFQUFtQjtFQUFzQjtFQUFrQjtFQUFZO0FOMlIvRjs7QU0xUkE7RUFDQztFQUFZO0VBQW1CO0VBQWE7RUFBYztFQUFvQjtFSld0Qix3QktIbEQ7RUxLcUQscUJLTHJEO0VMUTBELGdCS1IxRDtFRFBOO0VBQWdCO0VBQXNCO0VBQXdCO0VB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O0VBQStCLGNKYnRCO0FMc3ZCWDtBU3h1QkU7RUFDQyx5QkpkUztFSWNvQixxQkpkcEI7RUljNkM7QVQ0dUJ6RDtBU3p1QkM7RUFDQyx5QkpwQlM7RUlvQmtCO0VBQWEscUJKcEIvQjtBTGl3Qlg7QVM1dUJFO0VBQ0MseUJKZlM7RUllbUIscUJKZm5CO0FMOHZCWjtBUzd1QkU7RUFDQztFQUErQixjSnpCdkI7RUl5QnVDLHFCSnpCdkM7QUwwd0JYO0FTaHZCRztFQUNDLHlCSnBCUTtFSW9CcUIscUJKcEJyQjtFSW9COEM7QVRvdkIxRDtBU2h2QkM7RUFDQyx5Qko3QlU7RUk2Qm1CO0VBQWEscUJKN0JoQztBTGl4Qlo7QVNudkJFO0VBQ0MseUJKOUJXO0VJOEJtQixxQko5Qm5CO0FMb3hCZDtBU3B2QkU7RUFDQztFQUErQixjSmxDdEI7RUlrQ3dDLHFCSmxDeEM7QUwweEJaO0FTdnZCRztFQUNDLHlCSm5DVTtFSW1DcUIscUJKbkNyQjtFSW1DZ0Q7QVQydkI5RDtBU3R2QkM7RUFBaUI7RUFBdUI7RUFBaUI7QVQydkIxRDs7QVN6dkJBO0VBQVE7QVQ2dkJSOztBUzF2QkE7RUFDQztFQUFlO0VBQVU7RUFBcUI7RUFBb0I7QVRpd0JuRTtBU2h3QkM7RUFBTztFQUFvQjtFQUFPO0VBQVU7RUFBUztFQUFTO0VBQWE7QVR5d0I1RTs7QVN0d0JBO0VBQUs7QVQwd0JMOztBU3h3QkE7RUFBVztBVDR3Qlg7O0FTM3dCQTtFQUFRO0FUK3dCUjs7QVM5d0JBO0VBQU87QVRreEJQOztBUy93QkE7RUFDQztFQUFlO0VBQW1CO0VBQXlDLGNKN0RqRTtFSTZEaUY7RUFBa0M7QVR1eEI5SDtBU3R4QkM7RUFDQztFQUEwQyxjSnJEakM7RUlxRGtELDRCSnJEbEQ7QUwrMEJYO0FTeHhCQztFQUNDO0VBQXdDLGNKckRoQztFSXFEK0MsNEJKckQvQztBTGkxQlY7QVMxeEJDO0VBQ0M7RUFBMkMsY0puRWpDO0VJbUVtRCw0QkpuRW5EO0FMaTJCWjtBUzV4QkM7RUFBRSxjSnRFUztFSXNFUTtFQzRHOEIscURBTC9CO0VBUWtDLGtEQVBsQztFQVFvQyxnREFQcEM7RUFRdUMsNkNBdkN4QztBVjB0QmxCO0FTbnlCRTtFQUFRLGNKekVDO0FMKzJCWDs7QVNseUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHF5QkQ7O0FBdjNCQTtFQUNDO0VBQ0E7QUEwM0JEOztBQXgzQkE7RUFDQztBQTIzQkQ7O0FBeDNCQTtFQUNDO0lBQ0M7RUEyM0JBO0FBQ0Y7QVcxNEJBO0VBQ0M7RUFBb0I7RUFBc0I7RUFBbUIseUJOYWxEO0FMazRCWjtBVzk0QkM7RUFBUztFQUFjO0FYazVCeEI7QVdqNUJFO0VBQUs7RUFBcUI7QVhxNUI1Qjs7QVdoNUJDO0VBQVk7RUFBb0I7RUFBc0I7QVhzNUJ2RDtBV3I1QkU7RUFBUztFQUFpQjtFQUFnQjtBWDA1QjVDO0FXeDVCQztFQUFlLGNOUEw7RU1Pb0I7RUFBcUI7QVg2NUJwRDtBVzM1QkU7RUFDQztFQUFtQjtBWDg1QnRCO0FXNzVCRztFQUFhO0FYZzZCaEI7QVc5NUJFO0VBQXNCO0VBQW1CO0VBQWE7RUFBaUM7QVhvNkJ6RjtBV242Qkc7RUFBSztFQUFzQjtBWHU2QjlCO0FXcjZCRTtFQUFtQjtFQUErQjtFQUFzQjtBWDA2QjFFO0FXejZCRztFQUFNO0VBQWdCO0VBQW9CO0VBQVE7RUFBUTtFQUFrQixjTmpCcEU7QUxrOEJYO0FXaDdCSTtFQUFRO0FYbTdCWjtBV2o3Qkc7RUFBUTtFQUFrQjtBWHE3QjdCO0FXcDdCSTtFQUFNO0FYdTdCVjtBV3A3QkU7RUFBYTtFQUFnQjtFQUFtQixjTmpCdEM7RU1pQnVEO0FYMDdCbkU7QVd6N0JHO0VBQVM7RUFBbUI7RUFBdUI7QVg4N0J0RDtBVzc3Qkc7RUFBUTtBWGc4Qlg7O0FXMTdCQTtFQUFvQjtBWDg3QnBCOztBVzE3QkM7RUFBYztBWDg3QmY7O0FXMzdCQTtFQUFTO0VBQ1I7RUFBc0I7RUFBbUM7QVhpOEIxRDtBV2g4QkM7RUFDQztBWGs4QkY7QVdqOEJFO0VBQ0M7RUFBZ0I7RUFBbUI7QVhxOEJ0QztBV3A4Qkc7RUFBUztFQUFtQjtFQUF1QjtBWHk4QnREO0FXeDhCRztFQUFhLGNON0NMO0FMdy9CWDtBVzE4Qkc7RUFBYyxjTnhDTDtBTHEvQlo7QVc1OEJHO0VBQVE7QVgrOEJYOztBWWxnQ0E7RUFDQztFQUFlO0VBQWE7RUFBbUI7RUFBb0I7QVp5Z0NwRTtBWXhnQ0M7RUNrRTZFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsa0VBVG5FO0FiaTlCWDtBWTlnQ0M7RUNpRTZFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsa0VBVG5FO0FidzlCWDtBWXBoQ0M7RUNnRTZFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsa0VBVG5FO0FiKzlCWDtBWTFoQ0M7RUFDQztFQUFvQjtFQUFVO0VBQWE7RUFBYztFQUFjO0VBQW1CO0VBQWM7RUFBa0I7RUFBb0I7QVpxaUNoSjtBWW5pQ0M7RUFBTTtBWnNpQ1A7QVluaUNDO0VBQ0M7RUFBaUI7RUFBa0I7RUFBa0I7QVp3aUN2RDtBWXRpQ0M7RUFDQztFQUFpQjtFQUFrQjtBWjBpQ3JDOztBY3hqQ0U7RUFDRSxjVGVNO0VTZlM7RUFBaUI7RUFBWTtFQUFnQjtBZCtqQ2hFOztBY3hqQ0U7RVpJdUQsd0JZRjlCO0VaSWlDLHFCWUpqQztFWktrQyxvQllMbEM7RVpNbUMsbUJZTm5DO0VaT3NDLGdCWVB0QztFWkU4Qix3QmErQjdDO0ViN0JnRCxxQmE2QmhEO0ViMUJxRCxnQmEwQnJEO0ViL0I2Qyx3QktIbEQ7RUxLcUQscUJLTHJEO0VMUTBELGdCS1IxRDtFT0lILGNUWE87RVNXUztFQUFrQjtFQUFjO0VBQWdCO0VBQTRCO0VaRHZDLDhCQ0RsRDtFREdxRCwyQkNIckQ7RURNMEQsc0JDTjFEO0VXRWtKO0FkMmtDeko7QUZwbENFO0VnQkt3QjtBZGtsQzFCO0FGdGxDRTtFZ0JJd0I7QWRxbEMxQjtBRnhsQ0U7RWdCR3dCO0Fkd2xDMUI7QUYxbENFO0VnQkV3QjtBZDJsQzFCO0FjcGxDRTtFWkp1RCx3QllNOUI7RVpKaUMscUJZSWpDO0VaSGtDLG9CWUdsQztFWkZtQyxtQllFbkM7RVpEc0MsZ0JZQ3RDO0VaTjhCLHdCYStCN0M7RWI3QmdELHFCYTZCaEQ7RWIxQnFELGdCYTBCckQ7RWIvQjZDLHdCS0hsRDtFTEtxRCxxQktMckQ7RUxRMEQsZ0JLUjFEO0VPWUgsY1RuQk87RVNtQlM7RUFBbUI7RUFBYztFQUFnQjtFQUFhO0VBQTRCO0VaVHJELDhCQ0RsRDtFREdxRCwyQkNIckQ7RURNMEQsc0JDTjFEO0VXVWlLO0VBQWlCO0Fkd21Dekw7QUZ6bkNFO0VnQmF3QixjVFJkO0FMdW5DWjtBRjNuQ0U7RWdCWXdCLGNUUmQ7QUwwbkNaO0FGN25DRTtFZ0JXd0IsY1RSZDtBTDZuQ1o7QUYvbkNFO0VnQlV3QixjVFJkO0FMZ29DWjtBY2puQ0U7RUFDRztFQUE2QjtFQUFxQjtFQUFxQjtBZHNuQzVFO0Fjbm5DRTtFWmhCdUQsOEJDRGxEO0VER3FELDJCQ0hyRDtFRE0wRCxzQkNOMUQ7RVdrQjZCO0Fkd25DcEM7QWN2bkNJO0VBQWU7QWQwbkNuQjtBY3huQ007RUFBTTtFQUFpQjtFQUFzQjtFQUEyQixjVDlCbkU7QUw0cENYO0FjM25DRTtFWnZCdUQsOEJDRGxEO0VER3FELDJCQ0hyRDtFRE0wRCxzQkNOMUQ7QUh3cENQO0FjL25DSTtFQUFRO0Fka29DWjtBY2pvQ0k7RUFBaUI7QWRvb0NyQjtBY25vQ007RUFBRTtBZHNvQ1I7QWNub0NNO0VBQUUscUJUekJFO0FMK3BDVjtBY25vQ0k7RUFBTztBZHNvQ1g7QWNyb0NNO0VBQWlCO0Fkd29DdkI7QWN2b0NNO0VBQXVDO0VBQW9CO0VBQWdCO0VBQW1CLGNUdEN4RjtFU3NDeUc7QWQ4b0NySDtBYzVvQ1E7RUFBUTtBZCtvQ2hCO0FjM29DSTtFQUEwQjtBZDhvQzlCO0FjNW9DSTtFQUFnQjtFQUF3QjtBZGdwQzVDO0FjL29DTTtFQUNFO0VBQVk7RUFBb0I7QWRtcEN4QztBY2xwQ1E7RUFDRTtFQUFrQjtFQUFvQjtFQUFvQjtFQUFpQjtFQUFlLGNUeER6RjtFU3dEd0c7RUFBZ0I7QWQycENuSTtBYzFwQ1U7RUFBaUI7RUFBb0I7RUFBYTtFQUFhO0VBQVU7QWRpcUNuRjtBY2hxQ1U7RUFBUztFQUFZO0VKMEhtQixxQ0FML0I7RUFR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QjtFQVFrQyw2QkFQbEM7RUFRb0MsMkJBUHBDO0VBUXVDLHdCQXJDdkM7QVZtbkRuQjtBZ0JudURFO0VBQ0MseUJYcENRO0VXb0NrQjtBaEJzdUQ3QjtBZ0JydURHO0VBQVE7QWhCd3VEWDtBZ0JydURDO0VBQ0M7RUFBb0I7RUFBVztFQUFTO0VBQVU7RUFBMEI7RWRoQ3JCLGlHYStCN0M7RWI3QmdELDhGYTZCaEQ7RWIxQnFELHlGYTBCckQ7RWIvQjZDLG1DY2lDcEM7RWQvQnVDLGdDYytCdkM7RWQ5QndDLCtCYzhCeEM7RWQ3QnlDLDhCYzZCekM7RWQ1QjRDLDJCYzRCNUM7RU55STZCLDRFQUwvQjtFQVFrQyxzRUFQbEM7RUFRb0Msa0VBUHBDO0VBUXVDLDREQXJDdkM7QVY4b0RuQjtBZ0J0dkRFO0VBQUs7QWhCeXZEUDtBZ0J4dkRFO0VBQUU7RUFBbUI7RUFBZ0I7RUFBbUI7RUFBb0M7RUFBa0I7RUFBb0I7QWhCaXdEcEk7QWdCaHdERztFQUFTO0VBQWlCO0VBQW9CO0VBQVU7RUFBYztFQUFtQjtFQUFhO0VBQW9CO0FoQjB3RDdIO0FnQnh3REU7RUFBTyxjWDdDRztBTHd6RFo7QWdCMXdERTtFQUFTLGNYaERBO0FMNnpEWDtBZ0Izd0RFO0VBQVEsY1g1Q0U7QUwwekRaO0FnQjd3REc7RUFBRTtBaEJneERMO0FnQjl3REU7RWQ1Q3VELGlDYzRDckI7RWQxQ3dCLDhCYzBDeEI7RWR6Q3lCLDZCY3lDekI7RWR4QzBCLDRCY3dDMUI7RWR2QzZCLHlCY3VDN0I7QWhCcXhEcEM7QWdCbnhEQztFQUNDO0FoQnF4REY7QWdCcHhERTtFQUFTO0VBQXVCO0VBQTRCO0VBQWM7RUFBcUI7QWhCMnhEakc7QWdCMXhERztFQUFNO0VBQWE7RUFBYztFQUFtQixjWHBEM0M7RVdvRDREO0VBQWlCO0FoQmt5RHpGO0FGMzFERTtFa0IwRHdCLGNYckRkO0FMeTFEWjtBRjcxREU7RWtCeUR3QixjWHJEZDtBTDQxRFo7QUYvMURFO0VrQndEd0IsY1hyRGQ7QUwrMURaO0FGajJERTtFa0J1RHdCLGNYckRkO0FMazJEWjtBZ0IzeURHO0VBQU87RUFBYTtFQUFjO0VBQWdCLGNYdkR6QztFV3VEMEQ7RUFBYztFQUFvQjtFQUFXO0FoQnF6RG5IO0FnQnB6REk7RUFBUyxnQlhORTtFV01nQixzQlhnQnZCO0VXaEIwQztFQUFpQjtBaEIwekRuRTs7QWdCcHpEQTtFQUNDO0VBQW9CO0VBQVc7RUFBVztFQUFTO0VBQVU7RWQ1REwsOEJDRGxEO0VER3FELDJCQ0hyRDtFRE0wRCxzQkNOMUQ7RURDa0Qsb0NjOERyQztFZDVEd0MsaUNjNER4QztFZDNEeUMsZ0NjMkR6QztFZDFEMEMsK0JjMEQxQztFZHpENkMsNEJjeUQ3QztFTjRHOEIsNEVBTC9CO0VBUWtDLHNFQVBsQztFQVFvQyxrRUFQcEM7RUFRdUMsNERBckN2QztBVjB2RG5CO0FnQnIwREM7RUFBTTtBaEJ3MERQO0FnQnYwREU7RUFBSTtFQUFhO0FoQjIwRG5CO0FnQnowREM7RWRsRXdELGlDY2tFekI7RWRoRTRCLDhCY2dFNUI7RWQvRDZCLDZCYytEN0I7RWQ5RDhCLDRCYzhEOUI7RWQ3RGlDLHlCYzZEakM7QWhCZzFEaEM7QWdCLzBEQztFQUFLO0VkbkVtRCxpR2ErQjdDO0ViN0JnRCw4RmE2QmhEO0ViMUJxRCx5RmEwQnJEO0VDcUNWO0VBQW9CO0VBQVE7RUFBUztFQUFVO0VBQWdCO0VBQWtCO0FoQjIxRG5GO0FnQjExREU7RUFBSztFQUFvQztBaEI4MUQzQztBZ0I3MURHO0VBQ0M7RUFBb0I7RUFBb0I7RUFBZ0I7RUFBbUI7RUFBa0I7QWhCbzJEakc7QWdCbjJESTtFQUFTO0VBQWlCO0VBQW9CO0VBQVM7RUFBYztFQUFrQjtFQUFtQjtFQUFhO0VBQW9CO0FoQjgyRC9JO0FnQjUyREc7RUhuQjJFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsa0VBVG5FO0VHdUJnRjtBaEJvM0QzRjtBZ0JuM0RHO0VBQ0M7QWhCcTNESjtBZ0JwM0RJO0VBQ0MsZ0JYdEVTO0VXc0VRLHNCWFRkO0VXU2tDO0VBQW9CO0VBQVc7RUFBYztFQUFZO0VBQzlGO0VBQW9CO0VBQW1CO0VBQWdCO0VBQWtCO0VkL0VyQixpQ2NnRmpDO0VkOUVvQyw4QmM4RXBDO0VkN0VxQyw2QmM2RXJDO0VkNUVzQyw0QmM0RXRDO0VkM0V5Qyx5QmMyRXpDO0VOMEYwQixzREFML0I7RUFRa0MsZ0RBUGxDO0VBUW9DLDRDQVBwQztFQVF1QyxzQ0FyQ3ZDO0FWODBEbkI7QWdCdDRESTtFQUFHO0VBQWtCO0VOd0Z5QixxRUFML0I7RUFRa0Msa0VBUGxDO0VBUW9DLGdFQVBwQztFQVF1Qyw2REFyQ3ZDO0VNeEQwRTtFQUFrQjtFQUFpQjtBaEJpNURoSTtBZ0IvNERNO0VBQUU7RUFBZTtFQUFtQjtFQUFnQjtBaEJxNUQxRDtBZ0JwNURNO0VBQWE7QWhCdTVEbkI7QWdCdDVETTtFQUFTO0VBQXVCLGNYL0YzQjtBTHkvRFg7QWdCdDVESztFQUFHO0VkMUZpRCxxRVErRTNDO0VSN0U4QyxrRVE2RTlDO0VSM0VnRCxnRVEyRWhEO0VSMUVtRCw2RFEwRW5EO0FWdzZEZDtBZ0I1NURLO0VkM0ZvRCwrQmMyRnZCO0VkekYwQiw0QmN5RjFCO0VkeEYyQiwyQmN3RjNCO0VkdkY0QiwwQmN1RjVCO0VkdEYrQix1QmNzRi9CO0FoQm02RGxDO0FnQmg2REc7RUFBYTtBaEJtNkRoQjs7QWdCOTVEQTtFQUFRO0VBQW9CO0VBQVc7RUFBUztFQUFVLHlCWHBHOUM7RVdvRzBFO0VBQWlCO0VBQW1CO0VBQW1CO0FoQjA2RDdJOztBa0IzaEVBO0VoQitCeUQ7RUFLQTtFQXRCQSwyQmlCd0J0QztFakJuQjhDLG1CaUJtQjlDO0FuQjQvRG5CO0FrQmhpRUM7RUFBTTtFaEI2QmtEO0VBS0E7RUF0QkEsMkJpQndCdEM7RWpCbkI4QyxtQmlCbUI5QztFakJ4QnNDLDhCQ0RsRDtFREdxRCwyQkNIckQ7RURNMEQsc0JDTjFEO0VlWHlHO0FsQjJpRWhIO0FrQjFpRUU7RUFBTTtFaEJXaUQsdURhK0I3QztFYjdCZ0Qsb0RhNkJoRDtFYjFCcUQsK0NhMEJyRDtFRzFDcUU7RUFBb0I7RUFBb0I7RWhCV2hFLDhCQ0RsRDtFREdxRCwyQkNIckQ7RURNMEQsc0JDTjFEO0FINGlFUDtBa0JyakVFO0VBQU07RUFBZ0I7RUFBa0I7RUFBa0I7QWxCMmpFNUQ7QWtCMWpFRztFQUFTO0VBQWdCO0VBQXFCO0VBQWlCO0VBQWdCLGNiT3RFO0FMMGpFWjtBa0IvakVFO0VBQU07QWxCa2tFUjs7QWtCOWpFQTtFQUVDO0lBQ0M7RWxCZ2tFQTtFa0IvakVBO0lBQU07SUFBWTtFbEJta0VsQjtBQUNGO0FvQm5sRUE7RUFDQztBcEJxbEVEOztBb0JubEVBO0VBQ0M7RUFBa0I7RUFBa0I7RUFBb0I7RUFBbUI7RWxCVW5CLDhCQ0RsRDtFREdxRCwyQkNIckQ7RURNMEQsc0JDTjFEO0FIb2xFUDtBb0IxbEVDO0VBQ0M7QXBCNGxFRjtBb0IzbEVFO0VBQ0M7RUFBYztBcEI4bEVqQjtBb0I3bEVHO0VBQUk7RUFBZTtBcEJpbUV0QjtBb0IvbEVFO0VBQ0M7RUFBb0I7RUFBbUI7RUFBa0I7QXBCb21FNUQ7QW9CbG1FSTtFQUNDO0VBQTRCLGNmYnRCO0FMa25FWDtBb0JwbUVLO0VBQVEsY2ZiRjtBTG9uRVg7QW9Cam1FQztFQUFRO0FwQm9tRVQ7O0FxQjVuRUE7RUFBWTtFQUF3QjtFQUFlO0VBQWlCO0VBQW9CO0VuQmMvQiwyQm1CZG9FO0VuQmdCakUsd0JtQmhCaUU7RW5CaUJoRSx1Qm1CakJnRTtFbkJrQi9ELHNCbUJsQitEO0VuQm1CNUQsbUJtQm5CNEQ7RUFBTztBckIwb0VwSTtBcUJ6b0VDO0VBQVc7QXJCNG9FWjs7QXFCeG9FQztFQUFZO0FyQjRvRWI7O0FzQmpwRUE7RUFDQztFQUF1QjtBdEJxcEV4QjtBc0JwcEVDO0VBQ0M7RUFBb0I7RUFBVTtFQUFRO0VBQVU7RUFBYTtFWnFMYixxREFML0I7RUFRa0Msa0RBUGxDO0VBUW9DLGdEQVBwQztFQVF1Qyw2Q0F2Q3hDO0VZbkorRTtFQUFnQjtBdEJpcUVqSDtBc0JocUVFO0VBQ0M7RUFBb0I7RUFBb0I7RXBCU2MsMEJvQlRtQztFcEJXaEMsdUJvQlhnQztFcEJZL0Isc0JvQlorQjtFcEJhOUIscUJvQmI4QjtFcEJjM0Isa0JvQmQyQjtFQUFLO0VBQVk7RUFBZ0I7QXRCNHFFN0g7QXNCM3FFRztFQUNDLGdCakJlVTtFaUJmTSxzQmpCNEVaO0VpQjVFZ0M7RUFBaUI7RUFBZ0I7RUFBYSxjakJGM0U7RWlCR1A7RUFBbUI7RUFBbUI7RUFBaUI7RUFBb0I7RUFBUztFQUFTO0F0QndyRWpHO0FzQnRyRUc7RUFBTTtFQUFjO0VwQklrQyxrQ29CSnFCO0VwQk1sQiwrQm9CTmtCO0VwQk9qQiw4Qm9CUGlCO0VwQlFoQiw2Qm9CUmdCO0VwQlNiLDBCb0JUYTtBdEIrckU5RTtBc0I3ckVFO0VBQUs7RXBCRWtELHdCb0JGZDtFcEJJaUIscUJvQkpqQjtFcEJLa0Isb0JvQkxsQjtFcEJNbUIsbUJvQk5uQjtFcEJPc0IsZ0JvQlB0QjtFQUFJO0F0QnNzRS9DO0FzQm5zRUc7RUFDQztBdEJxc0VKO0FzQnRzRUc7RUFDQztBdEJ3c0VKO0FzQnpzRUc7RUFDQztBdEIyc0VKO0FzQjVzRUc7RUFDQztBdEI4c0VKO0FzQi9zRUc7RUFDQztBdEJpdEVKO0FzQmx0RUc7RUFDQztBdEJvdEVKO0FzQnJ0RUc7RUFDQztBdEJ1dEVKO0FzQnh0RUc7RUFDQztBdEIwdEVKO0FzQjN0RUc7RUFDQztBdEI2dEVKO0FzQnp0RUM7RUFDQztBdEIydEVGO0FzQjF0RUU7RXBCUnVELGtDb0JTL0I7RXBCUGtDLCtCb0JPbEM7RXBCTm1DLDhCb0JNbkM7RXBCTG9DLDZCb0JLcEM7RXBCSnVDLDBCb0JJdkM7QXRCZ3VFMUI7QXNCL3RFRztFcEJWc0QsZ0NvQlUxQjtFcEJSNkIsNkJvQlE3QjtFcEJQOEIsNEJvQk85QjtFcEJOK0IsMkJvQk0vQjtFcEJMa0Msd0JvQktsQztBdEJzdUUvQjtBc0JwdUVFO0VwQlp1RCxrQ29CYS9CO0VwQlhrQywrQm9CV2xDO0VwQlZtQyw4Qm9CVW5DO0VwQlRvQyw2Qm9CU3BDO0VwQlJ1QywwQm9CUXZDO0F0QjB1RTFCO0FzQnp1RUc7RXBCZHNELGtDb0JjMUI7RXBCWjZCLCtCb0JZN0I7RXBCWDhCLDhCb0JXOUI7RXBCVitCLDZCb0JVL0I7RXBCVGtDLDBCb0JTbEM7QXRC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Qyx5Q0FyQ3ZDO0FWODJFbkI7QXdCOS9FRTtFQUFvQjtFQUFZLHlCbkJKdkI7RW1CSWtEO0V0Qk1KLDBCc0JOcUQ7RXRCUWxELHVCc0JSa0Q7RXRCU2pELHNCc0JUaUQ7RXRCVWhELHFCc0JWZ0Q7RXRCVzdDLGtCc0JYNkM7RUFBTTtFQUFhO0VBQWM7QXhCMmdGL0k7QXdCMWdGRTtFQUFlO0F4QjZnRmpCO0F3QjVnRkU7RUFBa0I7RUFBYztFQUFnQjtBeEJpaEZsRDtBd0JoaEZHO0VBQUU7QXhCbWhGTDtBd0JsaEZHO0VBQVM7RUFBWSxzQm5CdUVoQjtFbUJ2RW9DO0VBQWtCO0VBQWdCO0VBQW9CO0F4QjBoRmxHO0F3QnhoRkU7RUFBb0IsZ0JuQlNSO0FMa2hGZDtBd0IxaEZFO0VBQWdCLGdCbkJTSjtBTG9oRmQ7QXdCNWhGRTtFQUNDO0VBQWU7RXRCSHVDLDBCc0JHVTtFdEJEUCx1QnNCQ087RXRCQU47RUFDQyxxQnNCREs7RXRCRUYsa0JzQkZFO0VBQUs7RUFBWTtFQUFpQjtFQUFjO0VkdUtqRSxpREFML0I7RUFRa0MsOENBUGxDO0VBUW9DLDRDQVBwQztFQVF1Qyx5Q0FyQ3ZDO0VjdElpQztFQUFrQjtBeEI2aUZ0RTtBd0I1aUZHO0VBQ0MscUJuQmZPO0VtQmdCUCxjbkJoQk87QUw4akZYO0F3QjNpRkU7RUFDQyxxQm5CcEJRO0VtQnFCUixjbkJyQlE7QUxra0ZYOztBeUJ2a0ZBO0VBQU07RUFBc0I7RUFBb0M7QXpCNmtGaEU7O0F5QjNrRkE7RUFDQyxjcEJFVTtFb0JGTTtFQUFnQjtFQUEwQjtFQUFrQjtFQUFpQjtFQUFvQjtBekJvbEZsSDtBeUJubEZDO0VBQWtCO0VBQW1CO0VBQWdCO0F6QndsRnREO0F5QnZsRkU7RUFBUztFQUFvQjtFQUFVO0VBQW1CO0VBQVM7RUFBYTtFQUFpQjtFQUFtQjtBekJpbUZ0SDtBeUIvbEZDO0VBQVM7QXpCa21GVjs7QXlCL2xGQTtFQUNDLGNwQk5VO0VvQk1NO0VBQWdCO0VBQTBCO0VBQWtCO0VBQWlCO0VBQW9CO0F6QndtRmxIO0F5QnZtRkM7RUFBa0I7RUFBbUI7RUFBZ0I7QXpCNG1GdEQ7QXlCM21GRTtFQUFTO0VBQW9CO0VBQVU7RUFBbUI7RUFBUztFQUFhO0VBQWlCO0VBQW1CO0F6QnFuRnRIO0F5Qm5uRkM7RUFBUyxjcEJSRTtBTDhuRlo7O0F5Qm5uRkE7RUFBTztFQUFvQztFQUFxQjtBekJ5bkZoRTtBeUJ4bkZDO0VBQUc7RUFBb0I7RUFBbUI7RUFBZ0I7RUFBb0I7QXpCK25GL0U7QXlCOW5GRTtFQUFTO0VBQW9CO0VBQVU7RUFBbUI7RUFBUztFQUFjO0VBQWtCO0VBQWE7RUFBaUI7QXpCeW9Gbkk7O0F5QnJvRkE7RUFBTTtFQUFvQztFQUFxQjtBekIyb0YvRDtBeUIxb0ZDO0VBQUc7RUFBb0I7RUFBZ0I7RUFBYztBekJncEZ0RDtBeUIvb0ZFO0VBQUs7RUFBdUI7RUFBcUIsY3BCZnZDO0VvQmV5RDtFQUFrQjtFQUFnQjtFQUFtQjtBekJ3cEYxSDtBeUJ2cEZFO0VBQ0M7RUFBdUI7RUFBcUI7RUFBaUI7RUFBa0I7RUFBWTtBekI4cEY5RjtBeUI3cEZHO0VBQ0M7QXpCK3BGSjtBeUI5cEZJO0VBQVM7QXpCaXFGYjtBeUI1cEZFO0VBQUc7QXpCK3BGTDtBeUI5cEZHO0VBQUs7RUFBb0I7RUFBUTtFQUFVO0F6Qm9xRjlDO0F5Qm5xRkk7RUFBSztFQUFjO0VBQVk7RUFBVztBekJ5cUY5QztBeUJ4cUZLO0VBQVMsZ0JwQkNDO0VvQkRpQixzQnBCNEN4QjtFb0I1QzRDO0VBQWtCO0VBQWM7RUFBbUI7RUFBaUI7RUFBYTtBekJrckZySTtBeUJqckZLO0VBQVEsY3BCbkNGO0VvQm1Da0I7QXpCcXJGN0I7O0F5QjdxRkE7RUFDQztFQUFxQjtFQUFpQixjcEJ0QzNCO0FMd3RGWjs7QTBCbnVGQTtFQUNDO0VBQW9CO0V4QmFvQyx1RGErQjdDO0ViN0JnRCxvRGE2QmhEO0ViMUJxRCwrQ2EwQnJEO0FmOHJGWjtBMEJ6dUZDO0VBQ0M7RUFBaUI7RUFBa0I7RUFBa0I7RUFBcUI7RUFBb0I7RUFBc0I7RUFBcUI7QTFCa3ZGM0k7QTBCanZGRTtFQUFTO0VBQWdCO0VBQWlCO0VBQWlCO0ExQnV2RjdEO0EwQnJ2RkM7RUFBYTtBMUJ3dkZkO0EwQnZ2RkU7RUFBUTtBMUIwdkZWO0EwQnh2RkM7RUFBbUI7RUFBK0I7QTFCNHZGbkQ7QTBCM3ZGRTtFQUFNO0VBQWdCO0VBQW9CO0VBQVE7RUFBUTtFQUE2QixjckJOOUU7QUx5d0ZYOztBMEI5dkZBO0VBQ0M7RUFBb0I7RUFBcUI7RUFBdUI7RUFBNkI7QTFCcXdGOUY7QTBCcHdGQztFQUFZO0VBQXNCO0ExQnd3Rm5DO0EwQnZ3RkU7RUFBUyxnQnJCVUc7RXFCVmMsc0JyQmlFcEI7RXFCakV3QztFQUFnQixjckJkckQ7RXFCY3FFO0VBQWtCO0ExQit3RmxHO0EwQjd3RkM7RUFBTTtBMUJneEZQOztBMkJweUZBO0VBQ0M7RUFBYTtBM0J3eUZkO0EyQnR5RkU7RUFBTztBM0J5eUZUO0EyQnh5RkU7RUFBZTtBM0IyeUZqQjtBMkIxeUZFO0VBQWM7RUFBVztBM0I4eUYzQjtBMkI1eUZFO0VBQ0M7RUFBZ0I7RUFBb0I7RWpCZ0xXLHFEQUwvQjtFQVFrQyxrREFQbEM7RUFRb0MsZ0RBUHBDO0VBUXVDLDZDQXZDeEM7QVZzcUZsQjtBMkJuekZHO0VBQ0Msc0J0QnlFSTtFc0J6RWdCO0VBQWdCO0VBQW1CO0VBQ3ZEO0VBQW9CO0VBQVU7RUFBVTtFQUFtQixjdEJDbkQ7QUwyekZaO0EyQjF6Rkc7RUFBUyxnQnRCWUE7RXNCWmU7QTNCOHpGM0I7QTJCN3pGRztFQUFRLGdCdEJRRztBTHd6RmQ7QTJCOXpGSTtFQUFRLGN0QlhEO0FMNDBGWDtBMkI5ekZJO0VBQVMsY3RCZEY7QUwrMEZYO0EyQi96Rkc7RUFBUSxjdEJmQztBTGkxRlo7QTJCL3pGQztFQUNDO0VBQWdCO0EzQmswRmxCO0EyQi96Rkk7RUFBRyx5QnRCZEs7RXNCY3VCLGN0QnZCeEI7RXNCdUJ1QztFQUEyQjtFQUFpQjtBM0JzMEY5RjtBMkJsMEZDO0VBQ0M7QTNCbzBGRjtBMkJsMEZHO0VBQUc7RUFBbUM7QTNCczBGekM7QTJCbDBGQztFQUNDLGN0QjdCVTtFc0I2Qk87QTNCcTBGbkI7QTJCbDBGQztFQUNDO0VBQWlCO0VBQWdCO0EzQnMwRm5DO0EyQnAwRkM7RUFBSztFQUFZO0EzQncwRmxCOztBMkJyMEZBO0VBR0U7SUFBUTtFM0J1MEZSO0UyQnAwRkU7SUFBYztFM0J1MEZoQjtFMkJ0MEZFO0lBQWE7RTNCeTBGZjtFMkJ0MEZBO0lBQUs7SUFBaUI7RTNCMDBGdEI7QUFDRjtBMkJ0MEZBO0VBRUU7SUFBSztFM0J3MEZMO0FBQ0Y7QTRCMzRGQTtFQUNDO0VBQXFCO0VBQW9DO0E1Qis0RjFEO0E0Qjk0RkM7RUFBVTtBNUJpNUZYO0E0Qjk0RkU7RUFBZTtBNUJpNUZqQjtBNEJoNUZHO0VBQVMsZ0J2QjZDRTtFdUI3Q2U7RUFBZ0IsY3ZCRGxDO0FMczVGWDtBNEJqNUZFO0VBQStCLHFCdkJRdkI7QUw0NEZWO0E0Qmw1RkM7RUFDQztBNUJvNUZGOztBNEIvNEZDO0VBQUs7QTVCbTVGTjtBNEJsNUZFO0VBQU87QTVCcTVGVCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvbW9kdWxlcy9fY29tbW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3Jlc2V0L191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9zbWFsbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL21vZHVsZXMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvbW9kdWxlcy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9tb2R1bGVzL192YXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9tb2R1bGVzL19jdXN0b21zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL21vZHVsZXMvX21hZ25pZmljX3BvcHVwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL3BhcnRpYWxzL3NtYWxsL19jb25zdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX2Rhc2hib2FyZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9wYXJ0aWFscy9zbWFsbC9fZm9ybS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2hhZG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX2xheW91dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9wYXJ0aWFscy9zbWFsbC9fbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19mbGV4Ym94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX211bHRpYWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX3BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9wYXJ0aWFscy9zbWFsbC9fcGFnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9wYXJ0aWFscy9zbWFsbC9fcGFydHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9wYXJ0aWFscy9zbWFsbC9fcmVwb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvcGFydGlhbHMvc21hbGwvX3RhYnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwidmFyXCI7XHJcbkBpbXBvcnQgXCJjb21wYXNzLW1peGluc1wiO1xyXG5cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXHJcbn1cclxuXHJcbkBtaXhpbiBiYXNpY190cnMgKCR0cnM6JGR2X2Jhc2ljX3Rycyl7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJzKTtcclxufVxyXG5cclxuLypQb3VyIGFubnVsZXIgOiBkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IHZpc2libGU7IGV0IG1heC1oZWlnaHQ6IG5vbmU7Ki9cclxuQG1peGluIG1heC1saW5lKCRuYl9saW5lLCRsaW5lLWhlaWdodCl7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDsgXHJcbiAgbWF4LWhlaWdodDogJG5iX2xpbmUqJGxpbmUtaGVpZ2h0OyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGRpc3BsYXk6IGJsb2NrOyBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRuYl9saW5lOyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG59XHJcblxyXG5cclxuQG1peGluIHRyYXNoe1xyXG4gICY6YWZ0ZXJ7Y29udGVudDpcIlwiOyBjbGVhcjogYm90aDsgZGlzcGxheTogYmxvY2s7fVxyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXN1cHBvcnQoJHByb3BlcnR5LCAkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCAta2h0bWwsIG9mZmljaWFsKTsgfVxyXG5cclxuXHJcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbi0xOiBkZWZhdWx0LCAkYW5pbWF0aW9uLTI6IGZhbHNlLCAkYW5pbWF0aW9uLTM6IGZhbHNlLCAkYW5pbWF0aW9uLTQ6IGZhbHNlLCAkYW5pbWF0aW9uLTU6IGZhbHNlLCAkYW5pbWF0aW9uLTY6IGZhbHNlLCAkYW5pbWF0aW9uLTc6IGZhbHNlLCAkYW5pbWF0aW9uLTg6IGZhbHNlLCAkYW5pbWF0aW9uLTk6IGZhbHNlLCAkYW5pbWF0aW9uLTEwOiBmYWxzZSkge1xyXG4gIEBpZiAkYW5pbWF0aW9uLTEgPT0gZGVmYXVsdCB7XHJcbiAgICAkYW5pbWF0aW9uLTE6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUsICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlKSk7IH1cclxuICAkYW5pbWF0aW9uOiBjb21wYWN0KCRhbmltYXRpb24tMSwgJGFuaW1hdGlvbi0yLCAkYW5pbWF0aW9uLTMsICRhbmltYXRpb24tNCwgJGFuaW1hdGlvbi01LCAkYW5pbWF0aW9uLTYsICRhbmltYXRpb24tNywgJGFuaW1hdGlvbi04LCAkYW5pbWF0aW9uLTksICRhbmltYXRpb24tMTApO1xyXG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbiwgJGFuaW1hdGlvbik7IH1cclxuIiwiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldCAyLjBdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbClcbi8vIEdsb2JhbCByZXNldCBydWxlcy5cbi8vIEZvciBtb3JlIHNwZWNpZmljIHJlc2V0cywgdXNlIHRoZSByZXNldCBtaXhpbnMgcHJvdmlkZWQgYmVsb3dcbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIC8vIFVubGlrZSBFcmljJ3Mgb3JpZ2luYWwgcmVzZXQsIHdlIHJlc2V0IHRoZSBodG1sIGVsZW1lbnQgdG8gYmUgY29tcGF0aWJsZVxuICAvLyB3aXRoIHRoZSB2ZXJ0aWNhbCByaHl0aG0gbWl4aW5zLlxuICBodG1sIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib2R5OyB9XG4gIG9sLCB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZTsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfVxuICBAaW5jbHVkZSByZXNldC1odG1sNTsgfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG5AbWl4aW4gbmVzdGVkLXJlc2V0IHtcbiAgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfSB9XG5cbi8vIFJlc2V0IHRoZSBib3ggbW9kZWwgbWVhc3VyZW1lbnRzLlxuQG1peGluIHJlc2V0LWJveC1tb2RlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8vIFJlc2V0IHRoZSBmb250IGFuZCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gcmVzZXQtZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8vIFJlc2V0cyB0aGUgb3V0bGluZSB3aGVuIGZvY3VzLlxuLy8gRm9yIGFjY2Vzc2liaWxpdHkgeW91IG5lZWQgdG8gYXBwbHkgc29tZSBzdHlsaW5nIGluIGl0cyBwbGFjZS5cbkBtaXhpbiByZXNldC1mb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLy8gUmVzZXQgYSBib2R5IGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8vIFJlc2V0IHRoZSBsaXN0IHN0eWxlIG9mIGFuIGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLy8gUmVzZXQgYSB0YWJsZVxuQG1peGluIHJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLy8gUmVzZXQgYSB0YWJsZSBjZWxsIChgdGhgLCBgdGRgKVxuQG1peGluIHJlc2V0LXRhYmxlLWNlbGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8vIFJlc2V0IGEgcXVvdGF0aW9uIChgcWAsIGBibG9ja3F1b3RlYClcbkBtaXhpbiByZXNldC1xdW90YXRpb24ge1xuICBxdW90ZXM6IG5vbmU7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyBcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBib3JkZXIuXG5AbWl4aW4gcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vLyBVbnJlY29nbml6ZWQgZWxlbWVudHMgYXJlIGRpc3BsYXllZCBpbmxpbmUuXG4vLyBUaGlzIHJlc2V0IHByb3ZpZGVzIGEgYmFzaWMgcmVzZXQgZm9yIGJsb2NrIGh0bWw1IGVsZW1lbnRzXG4vLyBzbyB0aGV5IGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCByZWNvZ25pemUgdGhlbVxuLy8gYW5kIHJlc2V0IGluIGJyb3dzZXJzIHRoYXQgaGF2ZSBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlbS5cbkBtaXhpbiByZXNldC1odG1sNSB7XG4gICN7ZWxlbWVudHMtb2YtdHlwZShodG1sNS1ibG9jayl9IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgZGlzcGxheSBvZiBpbmxpbmUgYW5kIGJsb2NrIGVsZW1lbnRzIHRvIHRoZWlyIGRlZmF1bHQgZGlzcGxheVxuLy8gYWNjb3JkaW5nIHRvIHRoZWlyIHRhZyB0eXBlLiBFbGVtZW50cyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRpc3BsYXkgdGhhdCB2YXJpZXMgYWNyb3NzXG4vLyB2ZXJzaW9ucyBvZiBodG1sIG9yIGJyb3dzZXIgYXJlIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB0aGlzIGNvdmVycyB0aGUgOTAlIHVzZSBjYXNlLlxuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgLy8gVHVybiBvZmYgdGhlIGRpc3BsYXkgZm9yIGJvdGggb2YgdGhlc2UgY2xhc3Nlc1xuLy8gICAgIC51bnJlZ2lzdGVyZWQtb25seSwgLnJlZ2lzdGVyZWQtb25seVxuLy8gICAgICAgZGlzcGxheTogbm9uZVxuLy8gICAgIC8vIE5vdyB0dXJuIG9ubHkgb25lIG9mIHRoZW0gYmFjayBvbiBkZXBlbmRpbmcgb24gc29tZSBvdGhlciBjb250ZXh0LlxuLy8gICAgIGJvZHkucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIucmVnaXN0ZXJlZC1vbmx5XCIpXG4vLyAgICAgYm9keS51bnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnVucmVnaXN0ZXJlZC1vbmx5XCIpXG5AbWl4aW4gcmVzZXQtZGlzcGxheSgkc2VsZWN0b3I6IFwiXCIsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJpbmxpbmVcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJibG9ja1wiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiIsIkBpbXBvcnQgXCJtb2R1bGVzL2NvbW1vblwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Jhc2VcIjtcblxuXG4ud3JhcHBlcntcblx0d2lkdGg6MzAwcHg7XG5cdG1hcmdpbjowIGF1dG87XG59XG4ubWFpbl9jdG5ye1xuXHRwYWRkaW5nOiAyMHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7XG5cdC53cmFwcGVye1xuXHRcdHdpZHRoOjQ2MHB4O1xuXHR9XG59XG5cbkBpbXBvcnQgXCJwYXJ0aWFscy9zbWFsbC9hbGxcIjtcbiIsImF1ZGlvLCB2aWRlbyxidXR0b24sIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgZm9udC1zaXplOiAxMDAlO1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XHJcbiAgb3V0bGluZTogMDtcclxuICByZXNpemU6bm9uZTtcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpXHJcbn1cclxuY2FwdGlvbiwgdGgsIHRke1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcclxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwOyAvKiA8LS0gQXBwYXJlbnRseSBzb21lIG1hcmdpbiBhcmUgc3RpbGwgdGhlcmUgZXZlbiB0aG91Z2ggaXQncyBoaWRkZW4gKi9cclxufSIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzaWMgc3VwcG9ydCBmb3IgQ1NTMyBwcm9wZXJ0aWVzIGFuZFxuLy8gdGhlaXIgY29ycmVzcG9uZGluZyBleHBlcmltZW50YWwgQ1NTMiBwcm9wZXJ0aWVzIHdoZW5cbi8vIHRoZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGlkZW50aWNhbCBleGNlcHQgZm9yIHRoZSBwcm9wZXJ0eVxuLy8gcHJlZml4LlxuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgLXdlYmtpdC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICAta2h0bWwtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAtbW96LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgICAgIC1tcy0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgLW8tI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxufVxuXG4vLyBTYW1lIGFzIGV4cGVyaW1lbnRhbCgpLCBidXQgZm9yIGNhc2VzIHdoZW4gdGhlIHByb3BlcnR5IGlzIHRoZSBzYW1lIGFuZCB0aGUgdmFsdWUgaXMgdmVuZG9yaXplZFxuQG1peGluIGV4cGVyaW1lbnRhbC12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgI3skcHJvcGVydHl9IDogLXdlYmtpdC0jeyR2YWx1ZX07IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICN7JHByb3BlcnR5fSA6ICAta2h0bWwtI3skdmFsdWV9OyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAtbW96LSN7JHZhbHVlfTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgI3skcHJvcGVydHl9IDogICAgIC1tcy0jeyR2YWx1ZX07IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgLW8tI3skdmFsdWV9OyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgICAgICN7JHZhbHVlfTsgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGUgZGVmYXVsdCBib3gtc2l6aW5nIG1vZGVsIHdoZW4gbm8gYXJndW1lbnQgaXMgcHJvdmlkZWQgdG8gdGhlIGJveC1zaXppbmcgbWl4aW46IFsgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgcGFkZGluZy1ib3ggXVxuLy9cbi8vIFRoZSBicm93c2VyIGRlZmF1bHQgaXMgY29udGVudC1ib3gsIGNvbXBhc3MgZGVmYXVsdHMgdG8gYm9yZGVyLWJveC5cbiRkZWZhdWx0LWJveC1zaXppbmc6IGJvcmRlci1ib3ggIWRlZmF1bHQ7XG5cbi8vIENoYW5nZSB0aGUgYm94IG1vZGVsIGZvciBNb3ppbGxhLCBXZWJraXQsIElFOCBhbmQgdGhlIGZ1dHVyZVxuLy9cbi8vIEBwYXJhbSAkYnNcbi8vICAgWyBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggXVxuXG5AbWl4aW4gYm94LXNpemluZygkYnM6ICRkZWZhdWx0LWJveC1zaXppbmcpIHtcbiAgJGJzOiB1bnF1b3RlKCRicyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2l6aW5nLCAkYnMsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAkZmZfaTtcblx0c3JjOnVybCgnLi4vLi4vZm9udHMvaWNvbW9vbi5lb3QnKTtcblx0c3JjOnVybCgnLi4vLi4vZm9udHMvaWNvbW9vbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdHVybCgnLi4vLi4vZm9udHMvaWNvbW9vbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcuLi8uLi9mb250cy9pY29tb29uLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJy4uLy4uL2ZvbnRzL2ljb21vb24uc3ZnI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzcyo9XCJpdXNfXCJdOmJlZm9yZSB7XG5cdGZvbnQtZmFtaWx5OiAkZmZfaTtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pdXNfZG93bjpiZWZvcmUge1xuICBjb250ZW50OiAkaV9kb3duO1xufVxuLml1c19sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2xlZnQ7XG59XG4uaXVzX3JpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3JpZ2h0O1xufVxuLml1c191cDpiZWZvcmUge1xuICBjb250ZW50OiAkaV91cDtcbn1cbi5pdXNfYWN0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiAkaV9hY3Rpb25zO1xufVxuLml1c19jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiAkaV9jYWxlbmRhcjtcbn1cbi5pdXNfY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogJGlfY2hlY2s7XG59XG4uaXVzX2NoZWNrYm94X2NoZWNrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJGlfY2hlY2tib3hfY2hlY2tlZDtcbn1cbi5pdXNfY2hlY2tib3hfdW5jaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2NoZWNrYm94X3VuY2hlY2tlZDtcbn1cbi5pdXNfY29sbGFwc2VfY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogJGlfY29sbGFwc2VfY2xvc2U7XG59XG4uaXVzX2NvbGxhcHNlX29wZW46YmVmb3JlIHtcbiAgY29udGVudDogJGlfY29sbGFwc2Vfb3Blbjtcbn1cbi5pdXNfY29uc3VsdGF0aW9uX2RldmljZTpiZWZvcmUge1xuICBjb250ZW50OiAkaV9jb25zdWx0YXRpb25fZGV2aWNlO1xufVxuLml1c19jb25zdWx0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogJGlfY29uc3VsdGF0aW9uO1xufVxuLml1c19jb250YWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2NvbnRhY3Q7XG59XG4uaXVzX2NvbnRyaWJ1dG9yX2FjY291bnQ6YmVmb3JlIHtcbiAgY29udGVudDogJGlfY29udHJpYnV0b3JfYWNjb3VudDtcbn1cbi5pdXNfY29udHJpYnV0b3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2NvbnRyaWJ1dG9ycztcbn1cbi5pdXNfZGFzaGJvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogJGlfZGFzaGJvcmQ7XG59XG4uaXVzX2RhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2RhdGFiYXNlO1xufVxuLml1c19kZWxldGU6YmVmb3JlIHtcbiAgY29udGVudDogJGlfZGVsZXRlO1xufVxuLml1c19kdXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiAkaV9kdXJhdGlvbjtcbn1cbi5pdXNfZmFtaWx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2ZhbWlseTtcbn1cbi5pdXNfZmluYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiAkaV9maW5hbmNlO1xufVxuLml1c19mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogJGlfZm9sZGVyO1xufVxuLml1c19oZWFsdGg6YmVmb3JlIHtcbiAgY29udGVudDogJGlfaGVhbHRoO1xufVxuLml1c19ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiAkaV9ob3VzZTtcbn1cbi5pdXNfaW5mb3JtYXRpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX2luZm9ybWF0aW9ucztcbn1cbi5pdXNfbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogJGlfbG9jYXRpb247XG59XG4uaXVzX21haWw6YmVmb3JlIHtcbiAgY29udGVudDogJGlfbWFpbDtcbn1cbi5pdXNfbWVudV9jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiAkaV9tZW51X2Nsb3NlO1xufVxuLml1c19tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX21lbnU7XG59XG4uaXVzX21vZGFsaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX21vZGFsaXR5O1xufVxuLml1c19wZXJpb2Q6YmVmb3JlIHtcbiAgY29udGVudDogJGlfcGVyaW9kO1xufVxuLml1c19waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiAkaV9waG9uZTtcbn1cbi5pdXNfcG06YmVmb3JlIHtcbiAgY29udGVudDogJGlfcG07XG59XG4uaXVzX3BwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3BwO1xufVxuLml1c19yZXBvcnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3JlcG9ydHM7XG59XG4uaXVzX3JlcXVlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogJGlfcmVxdWVzdDtcbn1cbi5pdXNfcmVzZXQ6YmVmb3JlIHtcbiAgY29udGVudDogJGlfcmVzZXQ7XG59XG4uaXVzX3JwczpiZWZvcmUge1xuICBjb250ZW50OiAkaV9ycHM7XG59XG4uaXVzX3NlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiAkaV9zZWFyY2g7XG59XG4uaXVzX3NoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3NoYXJlO1xufVxuLml1c19zaWdub3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3NpZ25vdXQ7XG59XG4uaXVzX3N1cGVydmlzb3I6YmVmb3JlIHtcbiAgY29udGVudDogJGlfc3VwZXJ2aXNvcjtcbn1cbi5pdXNfd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpX3dhbGxldDtcbn0iLCJcbiR0b3VjaF9jbGFzczogXCIudG91Y2hldmVudHNcIjtcblxuXG4kY19tYWluXHRcdDogIzUyNTg1ODtcbiRjX2JsdWVcdFx0OiAjMjE5M2Q1O1xuJGNfYmx1ZV9oXHQ6ICMyMWI5ZDU7XG4kY19vcmFuZ2VcdDogI2ZmOWMwMDtcbiRjX29yYW5nZV9oXHQ6ICNmZmI0MDA7XG4kY19ncmF5XHRcdDogI2I5YzJiYztcbiRjX2dyYXlfN1x0OiAjNzc3Nzc3O1xuJGNfZ3JheV85XHQ6ICM5OTk5OTk7XG4kY19ncmF5X2RcdDogI2RjZGNkYztcbiRjX2dyYXlfZVx0OiAjZWFlYWVhO1xuJGNfZ3JheV9mXHQ6ICNmM2YzZjM7XG4kY19ncmVlblx0OiAjOTRiOTRmO1xuJGNfdmlvbGV0XHQ6ICM4NTQyYzM7XG4kY192aW9sZXRfaFx0OiAjYjI0MmMzO1xuJGNfcmVkXHRcdDogI2RiM2M0MDtcblxuXG5cbiRpX2Rvd25cdFx0XHRcdFx0OiBcIlxcZTkyOFwiO1xuJGlfbGVmdFx0XHRcdFx0XHQ6IFwiXFxlOTI5XCI7XG4kaV9yaWdodFx0XHRcdFx0OiBcIlxcZTkyYVwiO1xuJGlfdXBcdFx0XHRcdFx0OiBcIlxcZTkyYlwiO1xuJGlfYWN0aW9uc1x0XHRcdFx0OiBcIlxcZTkwMFwiO1xuJGlfY2FsZW5kYXJcdFx0XHRcdDogXCJcXGU5MDFcIjtcbiRpX2NoZWNrXHRcdFx0XHQ6IFwiXFxlOTAyXCI7XG4kaV9jaGVja2JveF9jaGVja2VkXHRcdDogXCJcXGU5MDNcIjtcbiRpX2NoZWNrYm94X3VuY2hlY2tlZFx0OiBcIlxcZTkwNFwiO1xuJGlfY29sbGFwc2VfY2xvc2VcdFx0OiBcIlxcZTkwNVwiO1xuJGlfY29sbGFwc2Vfb3Blblx0XHQ6IFwiXFxlOTA2XCI7XG4kaV9jb25zdWx0YXRpb25fZGV2aWNlXHQ6IFwiXFxlOTA3XCI7XG4kaV9jb25zdWx0YXRpb25cdFx0XHQ6IFwiXFxlOTA4XCI7XG4kaV9jb250YWN0XHRcdFx0XHQ6IFwiXFxlOTA5XCI7XG4kaV9jb250cmlidXRvcl9hY2NvdW50XHQ6IFwiXFxlOTBhXCI7XG4kaV9jb250cmlidXRvcnNcdFx0XHQ6IFwiXFxlOTBiXCI7XG4kaV9kYXNoYm9yZFx0XHRcdFx0OiBcIlxcZTkwY1wiO1xuJGlfZGF0YWJhc2VcdFx0XHRcdDogXCJcXGU5MGRcIjtcbiRpX2RlbGV0ZVx0XHRcdFx0OiBcIlxcZTkwZVwiO1xuJGlfZHVyYXRpb25cdFx0XHRcdDogXCJcXGU5MGZcIjtcbiRpX2ZhbWlseVx0XHRcdFx0OiBcIlxcZTkxMFwiO1xuJGlfZmluYW5jZVx0XHRcdFx0OiBcIlxcZTkxMVwiO1xuJGlfZm9sZGVyXHRcdFx0XHQ6IFwiXFxlOTEyXCI7XG4kaV9oZWFsdGhcdFx0XHRcdDogXCJcXGU5MTNcIjtcbiRpX2hvdXNlXHRcdFx0XHQ6IFwiXFxlOTE0XCI7XG4kaV9pbmZvcm1hdGlvbnNcdFx0XHQ6IFwiXFxlOTE1XCI7XG4kaV9sb2NhdGlvblx0XHRcdFx0OiBcIlxcZTkxNlwiO1xuJGlfbWFpbFx0XHRcdFx0XHQ6IFwiXFxlOTE3XCI7XG4kaV9tZW51X2Nsb3NlXHRcdFx0OiBcIlxcZTkxOFwiO1xuJGlfbWVudVx0XHRcdFx0XHQ6IFwiXFxlOTE5XCI7XG4kaV9tb2RhbGl0eVx0XHRcdFx0OiBcIlxcZTkxYVwiO1xuJGlfcGVyaW9kXHRcdFx0XHQ6IFwiXFxlOTFiXCI7XG4kaV9waG9uZVx0XHRcdFx0OiBcIlxcZTkxY1wiO1xuJGlfcG1cdFx0XHRcdFx0OiBcIlxcZTkxZFwiO1xuJGlfcHBcdFx0XHRcdFx0OiBcIlxcZTkxZVwiO1xuJGlfcmVwb3J0c1x0XHRcdFx0OiBcIlxcZTkxZlwiO1xuJGlfcmVxdWVzdFx0XHRcdFx0OiBcIlxcZTkyMFwiO1xuJGlfcmVzZXRcdFx0XHRcdDogXCJcXGU5MjFcIjtcbiRpX3Jwc1x0XHRcdFx0XHQ6IFwiXFxlOTIyXCI7XG4kaV9zZWFyY2hcdFx0XHRcdDogXCJcXGU5MjNcIjtcbiRpX3NoYXJlXHRcdFx0XHQ6IFwiXFxlOTI0XCI7XG4kaV9zaWdub3V0XHRcdFx0XHQ6IFwiXFxlOTI1XCI7XG4kaV9zdXBlcnZpc29yXHRcdFx0OiBcIlxcZTkyNlwiO1xuJGlfd2FsbGV0XHRcdFx0XHQ6IFwiXFxlOTI3XCI7XG5cblxuXG5cbiRzX2lucHV0X3RleHRcdDogJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdLGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInRlbFwiXSxpbnB1dFt0eXBlPVwibnVtYmVyXCJdLGlucHV0W3R5cGU9XCJzZWFyY2hcIl0saW5wdXRbdHlwZT1cImRhdGVcIl0saW5wdXRbdHlwZT1cInRpbWVcIl0nO1xuJHNfaW5wdXRfY2hrXHQ6ICdpbnB1dFt0eXBlPVwicmFkaW9cIl0saW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJztcbiRzX2lucHV0X2ZpbGVcdDogJ2lucHV0W3R5cGU9XCJmaWxlXCJdJztcbiRzX2lucHV0X3BpY2tlclx0OiAnaW5wdXRbdHlwZT1cImRhdGVcIl0saW5wdXRbdHlwZT1cIm1vbnRoXCJdLGlucHV0W3R5cGU9XCJ3ZWVrXCJdLGlucHV0W3R5cGU9XCJ0aW1lXCJdLGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0saW5wdXRbdHlwZT1cImNvbG9yXCJdJztcbiRzX2J1dHRvblx0XHQ6ICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLGlucHV0W3R5cGU9XCJzdWJtaXRcIl0saW5wdXRbdHlwZT1cInJlc2V0XCJdLGJ1dHRvbic7XG5cblxuJGR2X2Jhc2ljX3RycyA6IGNvbG9yIDAuMnMsYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG5cbiRhX3N3aWZ0X291dCA6IGN1YmljLWJlemllciguNTUsLjEsLjIsLjkpO1xuJGFfc3dpZnRfaW4gOiBjdWJpYy1iZXppZXIoLjgsLjEsLjQ1LC45KTtcblxuJGZmX2kgOiAnaWNvbW9vbic7XG4kZmZfbWFpbiA6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcblxuXG4iLCJcbi5jdXN0b21zZWxlY3QtY29udGFpbmVye3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6IDM1cHg7d2lkdGg6IDEwMCU7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XG4uaGFzX2N1c3RvbXNlbGVjdHtcblx0b3BhY2l0eTogMDsgcG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDEwOyBoZWlnaHQ6IDM1cHg7IHBhZGRpbmctcmlnaHQ6IDM1cHg7cGFkZGluZy1sZWZ0OiA1cHg7QGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTsgXG5cdGZvbnQtc2l6ZTogMTZweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246IG1pZGRsZTsgd2lkdGg6IDEwMCU7IGN1cnNvcjogcG9pbnRlcjtcblx0b3B0aW9ue2ZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMS4yZW0gIWltcG9ydGFudDt9ICBcbn1cbi5jdXN0b21zZWxlY3R7XG5cdGN1cnNvcjogcG9pbnRlcjsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5Xzk7IGZvbnQtc2l6ZTogMTRweDtcblx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7bGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgei1pbmRleDogOTtiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHQmOmJlZm9yZXtcblx0XHRjb250ZW50OiRpX2Rvd247Zm9udC1mYW1pbHk6ICRmZl9pOyBmb250LXdlaWdodDogNDAwO2ZvbnQtc2l6ZTogNnB4OyB3aWR0aDogMjBweDsgY29sb3I6ICRjX21haW47IHRleHQtYWxpZ246IGNlbnRlcjsgXG5cdFx0cG9zaXRpb246IGFic29sdXRlO2xpbmUtaGVpZ2h0OiAxMHB4OyBtYXJnaW4tdG9wOiAtNXB4O3RleHQtYWxpZ246IGNlbnRlcjsgdG9wOiA1MCU7cmlnaHQ6IDVweDtkaXNwbGF5OiBibG9jaztcblx0fVxufVxuLmN1c3RvbXNlbGVjdC1pbm5lcntcblx0ZGlzcGxheTogYmxvY2s7dGV4dC1hbGlnbjogbGVmdDsgb3ZlcmZsb3c6IGhpZGRlbjtwYWRkaW5nLWxlZnQ6IDEwcHg7IGNvbG9yOiAkY19tYWluOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbi1yaWdodDogMjBweDsgdG9wOiAwO2JvdHRvbTogMDtyaWdodDogMDtsZWZ0OiAwO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGFwcGVhcmFuY2UgZm9yIE1vemlsbGEsIFdlYmtpdCBhbmQgcG9zc2libHkgdGhlIGZ1dHVyZS5cbi8vIFRoZSBhcHBlYXJhbmNlIHByb3BlcnR5IGlzIGN1cnJlbnRseSBub3QgcHJlc2VudCBpbiBhbnkgbmV3ZXIgQ1NTIHNwZWNpZmljYXRpb24uXG4vL1xuLy8gVGhlcmUgaXMgbm8gb2ZmaWNpYWwgbGlzdCBvZiBhY2NlcHRlZCB2YWx1ZXMsIGJ1dCB5b3UgbWlnaHQgY2hlY2sgdGhlc2Ugc291cmNlOlxuLy8gICBNb3ppbGxhIDogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vQ1NTLy1tb3otYXBwZWFyYW5jZVxuLy8gICBXZWJraXQgIDogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYmtpdC1taXJyb3Ivc291cmNlL2Jyb3dzZS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbj9zcGVjPXN2bmYxYWVhNTU5ZGNkMDI1YTg5NDZhYTdkYTZlNGU4MzA2ZjVjMWI2MDQmcj02M2M3ZDFhZjQ0NDMwYjMxNDIzM2ZlYTM0MmMzZGRiMmEwNTJlMzY1XG4vLyAgIChzZWFyY2ggZm9yICdhcHBlYXJhbmNlJyB3aXRoaW4gdGhlIHBhZ2UpXG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcCkge1xuICAkYXA6IHVucXVvdGUoJGFwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGFwcGVhcmFuY2UsICRhcCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwMDA7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjg1OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuNzUpOyAvLyBTaGFkb3cgb24gaW1hZ2Ugb3IgaWZyYW1lXG5cbi8vIHNwYWNpbmdcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgMDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDA7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGlzIGFwcGxpZWQgd2hlbiB3aWR0aCBvZiB3aW5kb3cgaXMgbGVzcyB0aGFuIDgwMHB4XG5cbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDE7ICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGOyAgICAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIGNvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICNGRkZGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0ZGRjsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRjsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtSUU3c3VwcG9ydDogICAgICAgICAgICAgICAgICAgICAgZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAvLyBWZXJ5IGJhc2ljIElFNyBzdXBwb3J0XG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSWZyYW1lLXR5cGUgcG9wdXBzXG4kbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZnJhbWUgcGFkZGluZyB0b3BcbiRtZnAtaWZyYW1lLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIzAwMDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhY2tncm91bmQgY29sb3Igb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICA5MDBweDsgICAgICAgICAgICAgICAgICAgICAgLy8gTWF4aW11bSB3aWR0aCBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSYXRpbyBvZiBpZnJhbWUgKDkvMTYgPSB3aWRlc2NyZWVuLCAzLzQgPSBzdGFuZGFyZCwgZXRjLilcblxuLy8gSW1hZ2UtdHlwZSBvcHRpb25zXG4kbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZTogICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSW1hZ2UtdHlwZSBwb3B1cHNcbiRtZnAtaW1hZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRtZnAtaW1hZ2UtcGFkZGluZy10b3A6ICAgICAgICAgICAgICAgNDBweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgdG9wXG4kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIGJvdHRvbVxuJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlOiB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlcyBwYWRkaW5ncyBmcm9tIHRvcCBhbmQgYm90dG9tXG5cbi8vIEltYWdlIGNhcHRpb24gb3B0aW9uc1xuJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAjZmZmZmZmOyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiB0aXRsZSBjb2xvclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAjZmZmZmZmOyAgICAgICAgICAgICAgICAgICAgLy8gQ2FwdGlvbiBzdWJ0aXRsZSBjb2xvclxuXG4vLyBBMTF5XG4kbWZwLXVzZS12aXN1YWxseWhpZGRlbjogICAgICAgICAgICAgIGZhbHNlOyBcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gRGVmYXVsdCBTZXR0aW5nc1xuLy8gMi4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMy4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gRGVmYXVsdCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYiAhZGVmYXVsdDtcbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC44ICFkZWZhdWx0O1xuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gc2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7IC8vIFBhZGRpbmcgZnJvbSBsZWZ0IGFuZCBmcm9tIHJpZ2h0IHNpZGVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTogICAgICAgNnB4ICFkZWZhdWx0OyAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgLy8gaW5jbHVkZSBzdHlsZXMgZm9yIG5hdiBhcnJvd3NcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMC42NSAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtY29sb3I6ICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDtcbiRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQyAhZGVmYXVsdDsgLy8gQ29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyOiAgICAgICAjRkZGICFkZWZhdWx0O1xuJG1mcC1JRTdzdXBwb3J0OiAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAvLyBWZXJ5IGJhc2ljIElFNyBzdXBwb3J0XG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTYgIWRlZmF1bHQ7XG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlOiB0cnVlICFkZWZhdWx0OyAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7XG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7XG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBHZW5lcmFsIHN0eWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFRyYW5zbHVzY2VudCBvdmVybGF5XG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcblxuICBiYWNrZ3JvdW5kOiAkbWZwLW92ZXJsYXktY29sb3I7XG4gIG9wYWNpdHk6ICRtZnAtb3ZlcmxheS1vcGFjaXR5O1xuICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7JG1mcC1vdmVybGF5LW9wYWNpdHkqMTAwfSlcIik7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDM7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBmaXhlcyB3ZWJraXQgYnVnIHRoYXQgY2FuIGNhdXNlIFwiZmFsc2VcIiBzY3JvbGxiYXJcbn1cblxuLy8gUm9vdCBjb250YWluZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIFZlcnRpY2FsIGNlbnRlcmVyIGhlbHBlclxuLm1mcC1jb250YWluZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gIC5tZnAtY29udGFpbmVyIHsgXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAzLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMFxuICB9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwiYWxwaGEob3BhY2l0eT0jeyRtZnAtY29udHJvbHMtb3BhY2l0eSoxMDB9KVwiKTtcbiAgfVxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMDtcbiAgJjpiZWZvcmV7Y29udGVudDokaV9tZW51X2Nsb3NlOyBmb250LWZhbWlseTogJGZmX2k7IGZvbnQtc2l6ZTogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyO31cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3sxKjEwMH0pXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0b3A6IDFweDtcbiAgfVxufVxuLm1mcC1jbG9zZS1idG4taW4ge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xuICB9XG59XG4ubWZwLWltYWdlLWhvbGRlcixcbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIC5tZnAtY2xvc2Uge1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBcIjEgb2YgWFwiIGNvdW50ZXJcbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gTmF2aWdhdGlvbiBhcnJvd3NcbkBpZiAkbWZwLWluY2x1ZGUtYXJyb3dzIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICBAaWYgJG1mcC1JRTdzdXBwb3J0IHtcbiAgICAgIGZpbHRlcjogdW5xdW90ZShcImFscGhhKG9wYWNpdHk9I3skbWZwLWNvbnRyb2xzLW9wYWNpdHkqMTAwfSlcIik7XG4gICAgfVxuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgICAgIEBpZiAkbWZwLUlFN3N1cHBvcnQge1xuICAgICAgICBmaWx0ZXI6IHVucXVvdGUoXCJhbHBoYShvcGFjaXR5PSN7MSoxMDB9KVwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmV7XG4gICAgICBmb250LWZhbWlseTogJGZmX2k7IGZvbnQtc2l6ZTogMzZweDsgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgfVxuICAgIFxuXG4gIH1cblxuICAubWZwLWFycm93LWxlZnQge1xuICAgIGxlZnQ6IDA7ICAgIFxuICAgICY6YmVmb3Jle1xuICAgICAgY29udGVudDokaV9sZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICBjb250ZW50OiRpX3JpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gSWZyYW1lIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZSB7XG4gIC5tZnAtaWZyYW1lLWhvbGRlciB7XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogJG1mcC1pZnJhbWUtbWF4LXdpZHRoO1xuICAgIH1cbiAgICAubWZwLWNsb3NlIHtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgfVxuICB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXJhdGlvICogMTAwJTtcbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgIGJhY2tncm91bmQ6ICRtZnAtaWZyYW1lLWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJbWFnZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZSB7XG5cbiAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuICBpbWcge1xuICAgICYubWZwLWltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcCAwICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAvKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbiAgLm1mcC1maWd1cmUge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wO1xuICAgICAgYm90dG9tOiAkbWZwLWltYWdlLXBhZGRpbmctYm90dG9tO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBib3gtc2hhZG93OiAkbWZwLXNoYWRvdztcbiAgICAgIGJhY2tncm91bmQ6ICRtZnAtaW1hZ2UtYmFja2dyb3VuZDtcbiAgICB9XG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIC5tZnAtYm90dG9tLWJhciB7XG4gICAgbWFyZ2luLXRvcDogLSRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b20gKyA0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbiAgLm1mcC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXRpdGxlLWNvbG9yO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyAvLyBsZWF2ZSBzb21lIHNwYWNlIGZvciBjb3VudGVyIGF0IHJpZ2h0IHNpZGVcbiAgfVxuXG4gIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZnAtZ2FsbGVyeSB7XG4gICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaWYgJG1mcC1pbmNsdWRlLW1vYmlsZS1sYXlvdXQtZm9yLWltYWdlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgICAgIC5tZnAtaW1nLW1vYmlsZSB7XG4gICAgICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICYubWZwLWltZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgICAgLy8gVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtYm90dG9tLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuXG5cbi8vIElFNyBzdXBwb3J0XG4vLyBTdHlsZXMgdGhhdCBtYWtlIHBvcHVwIGxvb2sgbmljaWVyIGluIG9sZCBJRVxuQGlmICRtZnAtSUU3c3VwcG9ydCB7XG4gIC5tZnAtaWU3IHtcbiAgICAubWZwLWltZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuICAgIC5tZnAtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNDRweDtcbiAgICB9XG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJjb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9yZXNldFwiO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvcmVzZXRcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2ZvbnRzXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlcy9jdXN0b21zZWxlY3RcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGVzL21hZ25pZmljX3BvcHVwXCI7XG5cblxuXG5ib2R5e2ZvbnQtZmFtaWx5OiAkZmZfbWFpbjtmb250LXNpemU6MTVweDsgY29sb3I6JGNfbWFpbjsgbGluZS1oZWlnaHQ6MS4yZW07IG1pbi13aWR0aDogMzAwcHg7dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eX1cbmF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOiBpbmhlcml0OyB9XG5cblxuLmJ0bntcblx0Y3Vyc29yOiBwb2ludGVyO2Rpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogJGNfYmx1ZTtmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7Ym9yZGVyOiAycHggc29saWQgJGNfYmx1ZTsgIFxuXHRsaW5lLWhlaWdodDogMjFweDtwYWRkaW5nOiA1cHggMjBweDtjb2xvcjogI2ZmZjsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpOyBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO3RleHQtYWxpZ246IGNlbnRlcjsgXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjJzLGJhY2tncm91bmQtY29sb3IgLjJzLGJvcmRlci1jb2xvciAuMnMpO1xuXHQmOmhvdmVyLGE6aG92ZXIgJntiYWNrZ3JvdW5kLWNvbG9yOiAkY19ibHVlX2g7Ym9yZGVyLWNvbG9yOiAkY19ibHVlX2g7fVxuXHQmLnNlY29uZGFyeXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6ICRjX2JsdWU7IFxuXHRcdCY6aG92ZXIsYTpob3ZlciAme1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNfYmx1ZV9oOyBib3JkZXItY29sb3I6ICRjX2JsdWVfaDsgY29sb3I6ICNmZmY7IFxuXHRcdH1cblx0fVx0XG5cdCYuYmxhY2t7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNfbWFpbjsgY29sb3I6ICNmZmY7IGJvcmRlci1jb2xvcjogJGNfbWFpbjsgXG5cdFx0Jjpob3ZlcixhOmhvdmVyICZ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5Xzk7Ym9yZGVyLWNvbG9yOiAkY19ncmF5Xzk7XG5cdFx0fVxuXHRcdCYuc2Vjb25kYXJ5e1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiAkY19tYWluOyBib3JkZXItY29sb3I6ICRjX21haW47IFxuXHRcdFx0Jjpob3ZlcixhOmhvdmVyICZ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjX2dyYXlfOTsgYm9yZGVyLWNvbG9yOiAkY19ncmF5Xzk7IGNvbG9yOiAjZmZmOyBcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5vcmFuZ2V7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNfb3JhbmdlOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiAkY19vcmFuZ2U7IFxuXHRcdCY6aG92ZXIsYTpob3ZlciAme1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNfb3JhbmdlX2g7Ym9yZGVyLWNvbG9yOiAkY19vcmFuZ2VfaDtcblx0XHR9XG5cdFx0Ji5zZWNvbmRhcnl7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6ICRjX29yYW5nZTsgYm9yZGVyLWNvbG9yOiAkY19vcmFuZ2U7IFxuXHRcdFx0Jjpob3ZlcixhOmhvdmVyICZ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjX29yYW5nZV9oOyBib3JkZXItY29sb3I6ICRjX29yYW5nZV9oOyBjb2xvcjogI2ZmZjsgXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0W2NsYXNzKj1cIml1c19cIl0ge2Rpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tcmlnaHQ6IDVweDt9XG59XG4uYmxrbG5re2N1cnNvcjogcG9pbnRlcn1cblxuXG4uaWZyYW1lX2NvbnRhaW5lcntcblx0bGluZS1oZWlnaHQ6IDA7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1NiU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7XG5cdGlmcmFtZXtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDtib3R0b206IDA7cmlnaHQ6IDA7bGVmdDogMDsgaGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO31cbn1cblxubWFpbntkaXNwbGF5OiBibG9jazt9XG5cbi5jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7IH1cbi5oaWRkZW57ZGlzcGxheTpub25lOyB9XG4udHJhc2h7Y2xlYXI6Ym90aDsgfVxuXG5cbi5tZXNzYWdle1xuXHRwYWRkaW5nOiAxNXB4OyBtYXJnaW4tYm90dG9tOiA1JTsgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRjX2JsdWUsI2ZmZiwyMCUpOyBjb2xvcjogJGNfYmx1ZTsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjX2JsdWU7IGZvbnQtd2VpZ2h0OiA2MDA7XG5cdCYubWVzc2FnZS1zdWNjZXNze1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1peCgkY19ncmVlbiwjZmZmLDIwJSk7IGNvbG9yOiAkY19ncmVlbjsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNfZ3JlZW47XG5cdH1cblx0Ji5tZXNzYWdlLWVycm9ye1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1peCgkY19yZWQsI2ZmZiwyMCUpOyBjb2xvcjogJGNfcmVkOyBib3JkZXItYm90dG9tLWNvbG9yOiAkY19yZWQ7XG5cdH1cdFxuXHQmLm1lc3NhZ2Utd2FybmluZ3tcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGNfb3JhbmdlLCNmZmYsMjAlKTsgY29sb3I6ICRjX29yYW5nZTsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNfb3JhbmdlO1xuXHR9XG5cdGF7Y29sb3I6ICRjX2JsdWVfaDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgQGluY2x1ZGUgYmFzaWNfdHJzO1xuXHRcdCY6aG92ZXJ7Y29sb3I6ICRjX21haW47IH1cblx0fVxufVxuXG4ubm90dmlzaWJsZSB7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuXG4vL0BpbmNsdWRlIGtleWZyYW1lcyhsb2FkaW5nKSB7XG4vL1x0ZnJvbSB7XG4vL1x0XHR0ZXh0LWluZGVudDogMHB4O1xuLy9cdH1cbi8vXHR0byB7XG4vL1x0XHR0ZXh0LWluZGVudDogLTE2ZW07XG4vL1x0fVxuLy99IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBDU1MgVHJhbnNpdGlvbnNcbi8vIEN1cnJlbnRseSBvbmx5IHdvcmtzIGluIFdlYmtpdC5cbi8vXG4vLyAqIGV4cGVjdGVkIGluIENTUzMsIEZpcmVGb3ggMy42LzcgYW5kIE9wZXJhIFByZXN0byAyLjNcbi8vICogV2UnbGwgYmUgcHJlcGFyZWQuXG4vL1xuLy8gSW5jbHVkaW5nIHRoaXMgc3VibW9kdWxlIHNldHMgZm9sbG93aW5nIGRlZmF1bHRzIGZvciB0aGUgbWl4aW5zOlxuLy9cbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5IDogYWxsXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDFzXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiA6IGZhbHNlXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSAgICA6IGZhbHNlXG4vL1xuLy8gT3ZlcnJpZGUgdGhlbSBpZiB5b3UgbGlrZS4gVGltaW5nLWZ1bmN0aW9uIGFuZCBkZWxheSBhcmUgc2V0IHRvIGZhbHNlIGZvciBicm93c2VyIGRlZmF1bHRzIChlYXNlLCAwcykuXG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiBmYWxzZSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlczogdHJhbnNmb3JtLCB0cmFuc2Zvcm0tb3JpZ2luICFkZWZhdWx0O1xuXG4vLyBPbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb25cbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogYWxzbyBhY2NlcHRzIFwiYWxsXCIgb3IgXCJub25lXCJcblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRwcm9wZXJ0eS0yIDogZmFsc2UsXG4gICRwcm9wZXJ0eS0zIDogZmFsc2UsXG4gICRwcm9wZXJ0eS00IDogZmFsc2UsXG4gICRwcm9wZXJ0eS01IDogZmFsc2UsXG4gICRwcm9wZXJ0eS02IDogZmFsc2UsXG4gICRwcm9wZXJ0eS03IDogZmFsc2UsXG4gICRwcm9wZXJ0eS04IDogZmFsc2UsXG4gICRwcm9wZXJ0eS05IDogZmFsc2UsXG4gICRwcm9wZXJ0eS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHktMSkgPT0gc3RyaW5nIHsgJHByb3BlcnR5LTE6IHVucXVvdGUoJHByb3BlcnR5LTEpOyB9XG4gICRwcm9wZXJ0aWVzOiBjb21wYWN0KCRwcm9wZXJ0eS0xLCAkcHJvcGVydHktMiwgJHByb3BlcnR5LTMsICRwcm9wZXJ0eS00LCAkcHJvcGVydHktNSwgJHByb3BlcnR5LTYsICRwcm9wZXJ0eS03LCAkcHJvcGVydHktOCwgJHByb3BlcnR5LTksICRwcm9wZXJ0eS0xMCk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbW96LCAgICAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW8sICAgICAgJHByb3BlcnRpZXMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICRwcm9wZXJ0aWVzO1xufVxuXG4vLyBPbmUgb3IgbW9yZSBkdXJhdGlvbnMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkdXJhdGlvbnMgd2lsbCBhZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGR1cmF0aW9uLTIgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTMgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTQgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTUgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTYgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTcgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTggOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTkgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkdXJhdGlvbi0xKSA9PSBzdHJpbmcgeyAkZHVyYXRpb24tMTogdW5xdW90ZSgkZHVyYXRpb24tMSk7IH1cbiAgJGR1cmF0aW9uczogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0aW1pbmcgZnVuY3Rpb25zXG4vL1xuLy8gKiBbIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcih4MSwgeTEsIHgyLCB5MildXG4vLyAqIEZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZnVuY3Rpb24tMiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMTA6IGZhbHNlXG4pIHtcbiAgJGZ1bmN0aW9uLTE6IHVucXVvdGUoJGZ1bmN0aW9uLTEpO1xuICAkZnVuY3Rpb25zOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0cmFuc2l0aW9uLWRlbGF5cyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGRlbGF5cyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5LFxuICAkZGVsYXktMiA6IGZhbHNlLFxuICAkZGVsYXktMyA6IGZhbHNlLFxuICAkZGVsYXktNCA6IGZhbHNlLFxuICAkZGVsYXktNSA6IGZhbHNlLFxuICAkZGVsYXktNiA6IGZhbHNlLFxuICAkZGVsYXktNyA6IGZhbHNlLFxuICAkZGVsYXktOCA6IGZhbHNlLFxuICAkZGVsYXktOSA6IGZhbHNlLFxuICAkZGVsYXktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGRlbGF5LTEpID09IHN0cmluZyB7ICRkZWxheS0xOiB1bnF1b3RlKCRkZWxheS0xKTsgfVxuICAkZGVsYXlzOiBjb21wYWN0KCRkZWxheS0xLCAkZGVsYXktMiwgJGRlbGF5LTMsICRkZWxheS00LCAkZGVsYXktNSwgJGRlbGF5LTYsICRkZWxheS03LCAkZGVsYXktOCwgJGRlbGF5LTksICRkZWxheS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXlzLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFRyYW5zaXRpb24gYWxsLWluLW9uZSBzaG9ydGhhbmRcblxuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRkdXJhdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGZ1bmN0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZGVsYXk6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXlcbikge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbXBhY3QoJHByb3BlcnR5ICRkdXJhdGlvbiAkZnVuY3Rpb24gJGRlbGF5KSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkdHJhbnNpdGlvbi0xIDogZGVmYXVsdCxcbiAgJHRyYW5zaXRpb24tMiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0zIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTQgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi02IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTcgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi05IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkdHJhbnNpdGlvbi0xID09IGRlZmF1bHQge1xuICAgICR0cmFuc2l0aW9uLTEgOiBjb21wYWN0KCRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkpO1xuICB9XG4gICR0cmFuc2l0aW9uczogZmFsc2U7XG4gIEBpZiB0eXBlLW9mKCR0cmFuc2l0aW9uLTEpID09IGxpc3QgYW5kIHR5cGUtb2YobnRoKCR0cmFuc2l0aW9uLTEsMSkpID09IGxpc3Qge1xuICAgICR0cmFuc2l0aW9uczogam9pbigkdHJhbnNpdGlvbi0xLCBjb21wYWN0KCR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKSwgY29tbWEpO1xuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNpdGlvbnMgOiBjb21wYWN0KCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKTtcbiAgfVxuICAkZGVsYXlzOiBjb21tYS1saXN0KCk7XG4gICRoYXMtZGVsYXlzOiBmYWxzZTtcbiAgJHdlYmtpdC12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkbW96LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRvLXZhbHVlOiBjb21tYS1saXN0KCk7XG5cbiAgLy8gVGhpcyBibG9jayBjYW4gYmUgbWFkZSBjb25zaWRlcmFibHkgc2ltcGxlciBhdCB0aGUgcG9pbnQgaW4gdGltZSB0aGF0XG4gIC8vIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRlYWwgd2l0aCB0aGUgZGlmZmVyZW5jZXMgaW4gaG93IGRlbGF5cyBhcmUgdHJlYXRlZC5cbiAgQGVhY2ggJHRyYW5zaXRpb24gaW4gJHRyYW5zaXRpb25zIHtcbiAgICAvLyBFeHRyYWN0IHRoZSB2YWx1ZXMgZnJvbSB0aGUgbGlzdFxuICAgIC8vICh0aGlzIHdvdWxkIGJlIGNsZWFuZXIgaWYgbnRoIHRvb2sgYSAzcmQgYXJndW1lbnQgdG8gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUpLlxuICAgICRwcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uLCAxKTtcbiAgICAkZHVyYXRpb246IGZhbHNlO1xuICAgICR0aW1pbmctZnVuY3Rpb246IGZhbHNlO1xuICAgICRkZWxheTogZmFsc2U7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHsgJGR1cmF0aW9uOiAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCAyKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMiB7ICR0aW1pbmctZnVuY3Rpb246IG50aCgkdHJhbnNpdGlvbiwgMyk7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDMgeyAkZGVsYXk6ICAgICAgICAgICBudGgoJHRyYW5zaXRpb24sIDQpOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gSWYgYSBkZWxheSBpcyBwcm92aWRlZCB3aXRob3V0IGEgdGltaW5nIGZ1bmN0aW9uXG4gICAgQGlmIGlzLXRpbWUoJHRpbWluZy1mdW5jdGlvbikgYW5kIG5vdCgkZGVsYXkpIHsgJGRlbGF5OiAkdGltaW5nLWZ1bmN0aW9uOyAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIEtlZXAgYSBsaXN0IG9mIGRlbGF5cyBpbiBjYXNlIG9uZSBpcyBzcGVjaWZpZWRcbiAgICAkZGVsYXlzOiBhcHBlbmQoJGRlbGF5cywgaWYoJGRlbGF5LCAkZGVsYXksIDBzKSk7XG5cbiAgICAkd2Via2l0LXZhbHVlOiBhcHBlbmQoJHdlYmtpdC12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbikuLi4pKTtcbiAgICAgICAkbW96LXZhbHVlOiBhcHBlbmQoICAgJG1vei12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgLW1veiwgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gICAgICAgICAkby12YWx1ZTogYXBwZW5kKCAgICAgJG8tdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgICAgLW8sICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICB9XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uIDogJHdlYmtpdC12YWx1ZTtcbiAgICAvLyBvbGQgd2Via2l0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZGVsYXkgcGFyYW1ldGVyIGluIHRoZSBzaG9ydGhhbmQgc28gd2UgcHJvZ3Jlc3NpdmVseSBlbmhhbmNlIGl0LlxuICAgIEBpZiAkaGFzLWRlbGF5cyAgICAgICAgICAgICAgICAgICAgICAgeyAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkgOiAkZGVsYXlzOyAgICAgICB9IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uIDogJG1vei12YWx1ZTsgICAgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24gOiAkby12YWx1ZTsgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbiA6ICR0cmFuc2l0aW9ucztcbn1cblxuLy8gY29lcmNlIGEgbGlzdCB0byBiZSBjb21tYSBkZWxpbWl0ZWQgb3IgbWFrZSBhIG5ldywgZW1wdHkgY29tbWEgZGVsaW1pdGVkIGxpc3QuXG5AZnVuY3Rpb24gY29tbWEtbGlzdCgkbGlzdDogKCkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkbGlzdCwgY29tbWEpO1xufVxuXG4vLyBSZXR1cm5zIGAkcHJvcGVydHlgIHdpdGggdGhlIGdpdmVuIHByZWZpeCBpZiBpdCBpcyBmb3VuZCBpbiBgJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlc2AuXG5AZnVuY3Rpb24gcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHByb3BlcnR5KSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eSkgPT0gbGlzdCB7XG4gICAgJG5ldy1saXN0OiBjb21tYS1saXN0KCk7XG4gICAgQGVhY2ggJHYgaW4gJHByb3BlcnR5IHtcbiAgICAgICRuZXctbGlzdDogYXBwZW5kKCRuZXctbGlzdCwgcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHYpKTtcbiAgICB9XG4gICAgQHJldHVybiAkbmV3LWxpc3Q7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBpbmRleCgkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzLCAkcHJvcGVydHkpIHtcbiAgICAgIEByZXR1cm4gI3skcHJlZml4fS0jeyRwcm9wZXJ0eX07XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRwcm9wZXJ0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tzIGlmIHRoZSB2YWx1ZSBnaXZlbiBpcyBhIHVuaXQgb2YgdGltZS5cbkBmdW5jdGlvbiBpcy10aW1lKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgQHJldHVybiBub3Qobm90KGluZGV4KHMgbXMsIHVuaXQoJHZhbHVlKSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiLnNoYXJlX2Jsa3tcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDIwcHggMjBweCAwOyBtYXJnaW4tdG9wOiA1MHB4OyAgYmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheV9mOyBcclxuXHQuYnV0dG9uc3tmb250LXNpemU6IDA7IGxpbmUtaGVpZ2h0OiAwOyBcclxuXHRcdC5idG57bWFyZ2luLWJvdHRvbTogMjBweDsgd2lkdGg6IDEwMCU7IH1cclxuXHR9XHJcbn1cclxuXHJcbiNzaGFyZV9mb3JtX21vZGFse1xyXG5cdC5wYXJ0X3RpdGxle3RleHQtYWxpZ246IGNlbnRlcjsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHBhZGRpbmc6IDA7IFxyXG5cdFx0JjpiZWZvcmV7cG9zaXRpb246IHN0YXRpYztkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAtMTBweCBhdXRvIDEwcHg7ICB9XHJcblx0fVxyXG5cdC5wYXJ0X3N1YnRpdGxle2NvbG9yOiAkY19tYWluO21hcmdpbi1ib3R0b206IDEwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyAgIH1cclxuXHQuZm9ybSB7XHJcblx0XHQuZm9ybV9lbnRyeXtcclxuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCAkY19ncmF5X2U7IFxyXG5cdFx0XHQuZmllbGQ+bGFiZWx7ZGlzcGxheTogbm9uZTsgfVxyXG5cdFx0fVxyXG5cdFx0LmZvcm1fZm9vdGVyIC5idXR0b25ze3RleHQtYWxpZ246IGNlbnRlcjtmbG9hdDogbm9uZTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjX2dyYXlfZTsgcGFkZGluZy10b3A6IDIwcHg7ICBcclxuXHRcdFx0LmJ0bnttYXJnaW46IDEwcHggMTBweCAwIDsgd2lkdGg6IGF1dG87ICAgfVxyXG5cdFx0fVxyXG5cdFx0LmRhdGVfY3RuciAuZmllbGQge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRcdFx0bGFiZWx7ZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwO2xpbmUtaGVpZ2h0OiAzNXB4O2NvbG9yOiAkY19tYWluO1xyXG5cdFx0XHRcdCY6YWZ0ZXJ7ZGlzcGxheTogbm9uZTsgfVxyXG5cdFx0XHR9XHJcblx0XHRcdCsuZmllbGR7cGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7IFxyXG5cdFx0XHRcdGxhYmVse2xlZnQ6IDEwcHg7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnJlbW92ZV9saW5re2Rpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiByaWdodDsgY29sb3I6ICRjX2dyYXlfOTtmb250LXNpemU6IC45ZW07IFxyXG5cdFx0XHQmOmJlZm9yZXttYXJnaW4tcmlnaHQ6IDVweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICB9XHJcblx0XHRcdCY6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4jY29uc3VsdF9mb3JtX2ludGVye21hcmdpbi10b3A6IC0zMXB4OyB9XHJcblxyXG5cclxuLnBsYW5fY2hvb3Nlcl9jdG5ye1xyXG5cdC5wbGFuX2Nob29zZXJ7ZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4udG9wX25hdnt0ZXh0LWFsaWduOiByaWdodDsgXHJcblx0cGFkZGluZy1ib3R0b206IDEwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5X2U7bWFyZ2luLXRvcDogLTEwcHg7ICAgXHJcblx0bGl7XHJcblx0XHRmb250LXNpemU6IC45ZW07IFxyXG5cdFx0YXtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAyMHB4OyBwYWRkaW5nOiA1cHggMDsgXHJcblx0XHRcdCY6YmVmb3Jle21hcmdpbi1yaWdodDogNXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgIH1cclxuXHRcdFx0Ji5zaGFyZV9saW5re2NvbG9yOiAkY19ibHVlOyB9XHJcblx0XHRcdCYucmVtb3ZlX2xpbmt7Y29sb3I6ICRjX2dyYXlfOTsgfVxyXG5cdFx0XHQmOmhvdmVye3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiXHJcbi5kYXNoX2Jsb2Nre1xyXG5cdHBhZGRpbmc6IDIwcHg7IGNvbG9yOiAjZmZmOyBtaW4taGVpZ2h0OiAxNDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBcclxuXHQmLm9yYW5nZXtAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCg1NmRlZywkY19vcmFuZ2VfaCAwJSwkY19vcmFuZ2UgMTAwJSkpO31cclxuXHQmLnZpb2xldHtAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCg1NmRlZywkY192aW9sZXRfaCAwJSwkY192aW9sZXQgMTAwJSkpO31cclxuXHQmLmJsdWV7QGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQoNTZkZWcsJGNfYmx1ZV9oIDAlLCRjX2JsdWUgMTAwJSkpO31cclxuXHQmOmJlZm9yZXtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHJpZ2h0OiAyMHB4OyB3aWR0aDogMTIwcHg7IGhlaWdodDogMTAwcHg7bWFyZ2luLXRvcDogLTUwcHg7IG9wYWNpdHk6IC4wODsgZm9udC1zaXplOiAxMDBweDsgbGluZS1oZWlnaHQ6IDEwMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcclxuXHR9XHJcblx0LmN0bnR7cG9zaXRpb246IHJlbGF0aXZlO31cclxuXHJcblxyXG5cdC50aXRsZXtcclxuXHRcdGZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuMjsgbWFyZ2luLWJvdHRvbTogMTBweDsgXHJcblx0fVxyXG5cdC52YWx1ZXtcclxuXHRcdGZvbnQtc2l6ZTogNTBweDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuMjsgXHJcblx0fVxyXG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiXHJcbmZvcm0ge1xyXG4gIC5maWVsZC1lcnJvci1tZXNzYWdlIHtcclxuICAgIGNvbG9yOiAkY19yZWQ7IG1hcmdpbi10b3A6IDVweDsgcGFkZGluZzogMDsgZm9udC1zaXplOiAxM3B4O2ZvbnQtd2VpZ2h0OiA2MDA7IFxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4uZm9ybXtcclxuICAjeyRzX2lucHV0X3RleHR9IHtcclxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtjb2xvcjogJGNfZ3JheV85OyB9XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICBjb2xvcjogJGNfbWFpbjsgbGluZS1oZWlnaHQ6MzVweDsgaGVpZ2h0OiAzNXB4OyBwYWRkaW5nOiAwIDEwcHg7Ym9yZGVyOiAxcHggc29saWQgJGNfZ3JheV85O2JhY2tncm91bmQtY29sb3I6ICNmZmY7IEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7IGZvbnQtc2l6ZTogMTRweDsgXHJcbiAgfVxyXG5cclxuICB0ZXh0YXJlYXtcclxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtjb2xvcjogJGNfZ3JheV85OyB9XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcclxuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XHJcbiAgICBjb2xvcjogJGNfbWFpbjsgbGluZS1oZWlnaHQ6MS4yZW07IHBhZGRpbmc6MTBweDsgb3ZlcmZsb3c6IGF1dG87IHJlc2l6ZTpub25lOyBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5Xzk7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7IGZvbnQtc2l6ZTogMTRweDsgaGVpZ2h0OiAxMjBweDtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldHtcclxuICAgICBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5X2U7IGJvcmRlci13aWR0aDogMXB4IDA7IHBhZGRpbmc6IDIwcHggMCAxcHg7IG1hcmdpbi1ib3R0b206IDMwcHg7ICBcclxuICB9XHJcblxyXG4gIC5mb3JtX2VudHJ5e1xyXG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTttYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgJi5zbWFsbCAuZmllbGR7bWF4LXdpZHRoOiAzMDBweDsgfVxyXG4gICAgJi5mYXRfbGFiZWx7XHJcbiAgICAgIGxhYmVse2ZvbnQtc2l6ZTogMThweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAkY19tYWluOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5maWVsZHsgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuICAgICsuZmllbGR7bWFyZ2luLXRvcDogMTVweDsgfVxyXG4gICAgJi5maWVsZC1kaXNhYmxlZHtvcGFjaXR5OiAuNTsgXHJcbiAgICAgICp7Y3Vyc29yOiBkZWZhdWx0IWltcG9ydGFudDt9XHJcbiAgICB9XHJcbiAgICAmLmZpZWxkLWVycm9ye1xyXG4gICAgICAqe2JvcmRlci1jb2xvcjogJGNfcmVkOyB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWx7IGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgJi5yZXF1aXJlZDphZnRlcntjb250ZW50OicgKid9XHJcbiAgICAgICY6bm90KC5wYXJ0X3RpdGxlKTpub3QoLnBhcnRfc3VidGl0bGUpe21hcmdpbi1ib3R0b206IDJweDsgZm9udC1zaXplOiAxM3B4O2xpbmUtaGVpZ2h0OiAxLjI7ICBjb2xvcjogJGNfZ3JheV83O2ZvbnQtd2VpZ2h0OiA1MDA7fVxyXG4gICAgICAmLnBhcnRfdGl0bGUsJi5wYXJ0X3N1YnRpdGxle1xyXG4gICAgICAgICY6YWZ0ZXJ7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjeyRzX2lucHV0X3RleHR9LHRleHRhcmVhe3dpZHRoOiAxMDAlO31cclxuXHJcbiAgICAuY2hlY2tib3hfY3RucnsgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBpbnB1dHtcclxuICAgICAgICBvcGFjaXR5OiAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHZpc2liaWxpdHk6IGhpZGRlbjsgXHJcbiAgICAgICAgK2xhYmVse1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogYmxvY2s7Y29sb3I6ICRjX21haW47Zm9udC1zaXplOiAxNHB4O3RleHQtdHJhbnNmb3JtOiBub25lOyBcclxuICAgICAgICAgICY6YmVmb3JlLCY6YWZ0ZXJ7cG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O3RvcDogM3B4OyBsZWZ0OiAwOyB9XHJcbiAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OicnOyBib3JkZXI6IDFweCBzb2xpZCAkY19tYWluOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXJ7Y29udGVudDokaV9jaGVjazsgZm9udC1mYW1pbHk6ICRmZl9pOyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiA4cHg7dGV4dC1hbGlnbjogY2VudGVyOyBvcGFjaXR5OiAwOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4ycywgY29sb3IgLjJzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQrbGFiZWx7XHJcbiAgICAgICAgICAmOmJlZm9yZXtib3JkZXItY29sb3I6ICRjX2JsdWU7IH1cclxuICAgICAgICAgICY6YWZ0ZXJ7b3BhY2l0eTogMTsgY29sb3I6ICRjX2JsdWU7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gICBcclxuICAgIC5yYWRpb19jdG5yeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIGlucHV0e1xyXG4gICAgICAgIG9wYWNpdHk6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdmlzaWJpbGl0eTogaGlkZGVuOyBcclxuICAgICAgICArbGFiZWx7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBibG9jaztjb2xvcjogJGNfbWFpbjtmb250LXNpemU6IDE0cHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyBcclxuICAgICAgICAgICY6YmVmb3JlLCY6YWZ0ZXJ7cG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O3RvcDogMnB4OyBsZWZ0OiAwOyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwMCUpOyB9XHJcbiAgICAgICAgICAmOmJlZm9yZXtjb250ZW50OicnOyBib3JkZXI6IDFweCBzb2xpZCAkY19tYWluOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6YWZ0ZXJ7Y29udGVudDonJzsgd2lkdGg6IDZweDsgaGVpZ2h0OiA2cHg7IHRvcDogNXB4O2xlZnQ6IDNweDsgYmFja2dyb3VuZC1jb2xvcjogJGNfYmx1ZTtvcGFjaXR5OiAwOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4ycyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpjaGVja2VkK2xhYmVse1xyXG4gICAgICAgICAgJjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiAkY19ibHVlOyB9XHJcbiAgICAgICAgICAmOmFmdGVyeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG4gICAgXHJcbiAgfVxyXG4gIC5kb2JfY3Rucntmb250LXNpemU6IDA7IGxpbmUtaGVpZ2h0OiAwOyBcclxuICAgIC5jdXN0b21zZWxlY3QtY29udGFpbmVye2Rpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDMwJTttYXJnaW4tbGVmdDogNSU7IFxyXG4gICAgICAmOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50aW1lX2N0bnJ7XHJcbiAgICAuY3VzdG9tc2VsZWN0LWNvbnRhaW5lcntkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiA0MCU7bWFyZ2luOiAwIDUlOyBcclxuICAgICAgJjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgICAmOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OiAwOyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC5hdXRvY29tcGxldGVzZWFyY2h7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuYXV0b2NvbXBsZXRlc2VhcmNoX2lucHV0X2N0bnJ7cG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmOmJlZm9yZXtjb250ZW50OiRpX2FjdGlvbnMnICckaV9hY3Rpb25zJyAnJGlfYWN0aW9ucycgJyRpX2FjdGlvbnM7Zm9udC1mYW1pbHk6ICRmZl9pO2ZvbnQtc2l6ZTogNXB4OyBsaW5lLWhlaWdodDogMzVweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAxMHB4O2NvbG9yOiAkY19ibHVlOyBtYXgtd2lkdGg6IDQuNmVtOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyAgfVxyXG4gICAgICBpbnB1dHtwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XHJcblxyXG4gICAgICAmLmF1dG9zZWFyY2hfbG9hZGluZ3tcclxuICAgICAgICAmOmJlZm9yZXtAaW5jbHVkZSBhbmltYXRpb24obG9hZGluZyAycyBsaW5lYXIgaW5maW5pdGUpO31cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF1dG9zZWFyY2h7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAzNXB4OyBsZWZ0OiAwOyByaWdodDogMDsgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheV85OyBib3JkZXItdG9wOiBub25lOyAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZzogMCAxMHB4OyBcclxuICAgICAgZGlzcGxheTogbm9uZTsgIG1heC1oZWlnaHQ6IDE2MHB4OyBvdmVyZmxvdzogYXV0bzsgIHotaW5kZXg6IDQwOyBcclxuICAgICAgLmF1dG9zZWFyY2hlbnRyeXtkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMTBweCAwO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5X2U7IGxpbmUtaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgICY6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOiBub25lO31cclxuICAgICAgICAmOm5vdCguYXV0b3NlYXJjaGVudHJ5b3Blbil7ZGlzcGxheTogbm9uZTt9XHJcbiAgICAgICAgbGFiZWx7ZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgICAgIH1cclxuICAgICAgJi5hdXRvc2VhcmNob3BlbntcclxuICAgICAgICBkaXNwbGF5OiBibG9jazsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdXRvY29tcGxldGV0YWdzIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDsgXHJcbiAgICAgIC5hdXRvc2VhcmNodGFne1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBib3JkZXI6IDFweCBzb2xpZCAkY19ncmF5X2U7IGJvcmRlci13aWR0aDogMXB4IDA7ICBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDE1cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDsgcGFkZGluZy1yaWdodDogMjVweDsgcG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjJzLGJvcmRlci1jb2xvciAuMnMpOyBtYXJnaW4tYm90dG9tOiAtMXB4OyBcclxuICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgIGNvbnRlbnQ6JGlfZGVsZXRlO2ZvbnQtZmFtaWx5OiAkZmZfaTsgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDE0cHg7IGhlaWdodDogMTRweDsgd2lkdGg6IDI1cHg7IHRleHQtYWxpZ246IHJpZ2h0OyBcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC03cHg7IHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVye2JvcmRlci1jb2xvcjogJGNfYmx1ZTtjb2xvcjogJGNfYmx1ZTsgIHotaW5kZXg6IDE7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbGxlY3Rpb257Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjX2dyYXlfZTsgbWFyZ2luLWJvdHRvbTogNTBweDsgXHJcbiAgICAubXVsdGlwbGVmaWVsZC1mb3Jte1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDUwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZTsgbWFyZ2luLWJvdHRvbTogMDsgXHJcbiAgICAgIC5tdWx0aWZpZWxkLXJlbW92ZXtmb250LXNpemU6IDA7IGxpbmUtaGVpZ2h0OiAwOyBAaW5jbHVkZSBiYXNpY190cnM7XHJcbiAgICAgICAgJjpob3Zlcntjb2xvcjogJGNfYmx1ZTsgfVxyXG4gICAgICAgICY6YmVmb3Jle2NvbnRlbnQ6JGlfZGVsZXRlO2ZvbnQtZmFtaWx5OiAkZmZfaTsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMzBweDsgaGVpZ2h0OiAzMHB4OyB3aWR0aDogMzBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtMTVweDsgcmlnaHQ6IDA7IH1cclxuICAgICAgfVxyXG4gICAgICAubXVsdGlwbGVmaWVsZC1zb3J0aGFuZGxle2ZvbnQtc2l6ZTogMDsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC0xNXB4OyBsZWZ0OiAwOyBwYWRkaW5nOiAxMnB4IDVweDsgY3Vyc29yOiByb3ctcmVzaXplOyBcclxuICAgICAgICAmOmJlZm9yZXtjb250ZW50OicnOyBoZWlnaHQ6IDZweDsgd2lkdGg6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheV9kOyBib3JkZXItd2lkdGg6IDFweCAwOyBkaXNwbGF5OiBibG9jazsgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICYuc29ydGFibGUtY2hvc2Vue1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjX2dyYXlfZTsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5tdWx0aWZpZWxkLWFkZC1jdG5ye1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5X2U7XHJcbiAgICB9XHJcbiAgICAjYXBwYnVuZGxlX2NvbnN1bHRhdGlvbl9pbnRlcnZlbnRpb25ze1xyXG4gICAgICAubXVsdGlwbGVmaWVsZC1mb3Jte3BhZGRpbmctbGVmdDogMDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5kZWVwc2VsZWN0b3IsLmRlZXBzZWxlY3Rvci1jbG9uZXtkaXNwbGF5OiBub25lOyB9XHJcbiAgLmRlZXBzZWxlY3Rvci1jb250YWluZXJ7XHJcbiAgICAuZGVlcHNlbGVjdG9yLXN1YmNvbnRhaW5lcntcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyggMCA1cHggNXB4IHJnYmEoMjIwLCAyMjAsIDIyMCwgMC4xNSkpOyBwYWRkaW5nOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyBcclxuICAgICAgbGFiZWx7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAkY19tYWluOyBmb250LXNpemU6IDE2cHg7Zm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuMjsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7bWFyZ2luLWJvdHRvbTogMjBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZTsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXRvcDogMzBweDsgXHJcbiAgICAgICAgJjpiZWZvcmUsJjphZnRlcntwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7dG9wOiAxMHB4OyBsZWZ0OiA1MCU7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7IG1hcmdpbi1sZWZ0OiAtNnB4OyB9XHJcbiAgICAgICAgJjpiZWZvcmV7Y29udGVudDonJzsgYm9yZGVyOiAxcHggc29saWQgJGNfbWFpbjsgXHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciAuMnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVye2NvbnRlbnQ6Jyc7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyBtYXJnaW4tdG9wOiAzcHg7bWFyZ2luLWxlZnQ6IC0zcHg7IGJhY2tncm91bmQtY29sb3I6ICRjX2JsdWU7b3BhY2l0eTogMDsgXHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjJzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmN1c3RvbXNlbGVjdHtvcGFjaXR5OiAuNTsgfVxyXG4gICAgICAmLmRlZXBzZWxlY3Rvci1hY3RpdmV7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheV9mO1xyXG4gICAgICAgIGxhYmVseyAgICAgICAgICBcclxuICAgICAgICAgICY6YmVmb3Jle2JvcmRlci1jb2xvcjogJGNfYmx1ZTsgfVxyXG4gICAgICAgICAgJjphZnRlcnsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VzdG9tc2VsZWN0e29wYWNpdHk6IDE7IH1cclxuICAgICAgfVxyXG4gICAgICBpbnB1dHtkaXNwbGF5OiBub25lOyAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5mb3JtX2Zvb3RlcntcclxuICAgXHJcbiAgICAubWVudGlvbnsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBsaW5lLWhlaWdodDogMjBweDtjb2xvcjogJGNfZ3JheV85OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcbiAgICAuYnV0dG9uc3tcclxuICAgICAgLmJ0bnt3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLy8gQGRvYyBvZmZcbi8vIFRoZXNlIGRlZmF1bHRzIG1ha2UgdGhlIGFyZ3VtZW50cyBvcHRpb25hbCBmb3IgdGhpcyBtaXhpblxuLy8gSWYgeW91IGxpa2UsIHNldCBkaWZmZXJlbnQgZGVmYXVsdHMgYmVmb3JlIGltcG9ydGluZy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgYm94IHNoYWRvd3NcbiRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGhvcml6b250YWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyB0byB0aGUgcmlnaHQuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHZlcnRpY2FsIG9mZnNldC4gUG9zaXRpdmUgaXMgZG93bi5cbiRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYmx1ciBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LWJsdXI6IDVweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc3ByZWFkIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNoYWRvdyBpbnNldDogaW5zZXQgb3IgZmFsc2UgKGZvciBzdGFuZGFyZCBzaGFkb3cpLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMyBib3ggc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIGJveFxuLy8gc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gYm94LXNoYWRvdyBwcm9wZXJ0eS5cbkBtaXhpbiBib3gtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTEgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoaWYoJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCwgaW5zZXQsIGZhbHNlKSwgJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLCAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCwgJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcikpO1xuICB9XG4gICRzaGFkb3cgOiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNoYWRvdywgJHNoYWRvdyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIGJveCBzaGFkb3cgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzLlxuLy8gSW5jbHVkZXMgZGVmYXVsdCBhcmd1bWVudHMgZm9yIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIgbGVuZ3RoLCBzcHJlYWQgbGVuZ3RoLCBjb2xvciBhbmQgaW5zZXQuXG5AbWl4aW4gc2luZ2xlLWJveC1zaGFkb3coXG4gICRob2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LFxuICAkdm9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCxcbiAgJGJsdXIgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cixcbiAgJHNwcmVhZCA6ICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLFxuICAkY29sb3IgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcixcbiAgJGluc2V0ICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXRcbikge1xuICBAaWYgbm90ICgkaW5zZXQgPT0gdHJ1ZSBvciAkaW5zZXQgPT0gZmFsc2Ugb3IgJGluc2V0ID09IGluc2V0KSB7XG4gICAgQHdhcm4gXCIkaW5zZXQgZXhwZWN0ZWQgdG8gYmUgdHJ1ZSBvciB0aGUgaW5zZXQga2V5d29yZC4gR290ICN7JGluc2V0fSBpbnN0ZWFkLiBVc2luZzogaW5zZXRcIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZ1bGwgICA6ICRob2ZmICR2b2ZmO1xuICAgIEBpZiAkYmx1ciAgIHsgJGZ1bGw6ICRmdWxsICRibHVyOyAgIH1cbiAgICBAaWYgJHNwcmVhZCB7ICRmdWxsOiAkZnVsbCAkc3ByZWFkOyB9XG4gICAgQGlmICRjb2xvciAgeyAkZnVsbDogJGZ1bGwgJGNvbG9yOyAgfVxuICAgIEBpZiAkaW5zZXQgIHsgJGZ1bGw6IGluc2V0ICRmdWxsOyAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmdWxsKTtcbiAgfVxufVxuIiwiYm9keXtiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5X2Q7IH1cclxuLnNpdGVfY3RucntcclxuXHRvdmVyZmxvdzogaGlkZGVuOyBtaW4td2lkdGg6IDMyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDEwMHZoOyBwYWRkaW5nLWJvdHRvbTogNTBweDsgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcclxuXHQmOmJlZm9yZXtcclxuXHRcdGNvbnRlbnQ6Jyc7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNfbWFpbiwuMzUpOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgei1pbmRleDogMTAwO1xyXG5cdFx0b3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjJzLHZpc2liaWxpdHkgLjJzKTsgXHJcblx0fVxyXG5cdC5hY3Rpb25fb3BlbiAmLC5uYXZfb3BlbiAme1xyXG5cdFx0JjpiZWZvcmV7b3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxyXG5cdH1cclxufVxyXG5cclxuI3RvcHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDAgODBweCAwIDYwcHg7YmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheV9mO3otaW5kZXg6IDEwMTsgXHJcblx0Lm5hdl9idG57XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgYmFja2dyb3VuZC1jb2xvcjogJGNfbWFpbjsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTJweDsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogNjBweDsgXHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsaW5lLWhlaWdodDogMjBweDtmb250LXdlaWdodDogNjAwOyBwYWRkaW5nLXRvcDogMzBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsgXHJcblx0XHQucGlje1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDsgbGVmdDogNTAlOyB6LWluZGV4OiAyOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDIwcHg7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO21hcmdpbi10b3A6IDZweDsgXHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpICk7IEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oNTAlIDUwJSk7IEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4zcyxtYXJnaW4tdG9wIC4zcyk7XHJcblx0XHRcdCY6YmVmb3JlLCY6YWZ0ZXJ7XHJcblx0XHRcdFx0Y29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDIwcHg7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3Jle0BpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xMnB4KSk7IEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4zcyk7fVxyXG5cdFx0XHQmOmFmdGVye0BpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC02cHgpKTsgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAuM3MgLjJzKTt9XHJcblx0XHRcdC5uYXZfb3BlbiAme1xyXG5cdFx0XHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxMzVkZWcpKTsgbWFyZ2luLXRvcDogMDsgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjNzIC4ycyxtYXJnaW4tdG9wIC4zcyAuMnMpO1xyXG5cdFx0XHRcdCY6YmVmb3JleyBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSByb3RhdGUoOTBkZWcpKTsgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjNzIC4ycyk7fVxyXG5cdFx0XHRcdCY6YWZ0ZXJ7IEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSgwKSk7IHdpZHRoOiAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC4zcyk7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5sb2dve3dpZHRoOiAxNjRweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDEwcHggMDsgXHJcblx0XHRpbWd7d2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrOyB9XHJcblx0fVxyXG5cdC5hY3Rpb25fYnRue1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyBmb250LXNpemU6IDEycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDgwcHg7IEBpbmNsdWRlIGJhc2ljX3RycztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAyMHB4O2ZvbnQtd2VpZ2h0OiA2MDA7IHBhZGRpbmctdG9wOiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDtjdXJzb3I6IHBvaW50ZXI7IFxyXG5cdFx0JjpiZWZvcmV7ZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogNnB4OyBsaW5lLWhlaWdodDogMjBweDtmb250LXdlaWdodDogNDAwOyAgfVxyXG5cdFx0JjphZnRlcntjb250ZW50OicnOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjX2dyYXlfZDtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgYm90dG9tOiAxMHB4OyBsZWZ0OiAwOyBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjJzKTt9XHJcblx0XHQuYWN0aW9uX29wZW4gJntcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNfYmx1ZTtjb2xvcjogI2ZmZjsgIFxyXG5cdFx0XHQmOmFmdGVye29wYWNpdHk6IDA7IH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmFjdGlvbntcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA2MHB4OyBsZWZ0OiAwOyByaWdodDogMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtwYWRkaW5nOiAwIDEwcHg7IEBpbmNsdWRlIGJveC1zaGFkb3coMCAyMHB4IDIwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwwIC0yMHB4IDIwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSk7XHJcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgxMDAlKSk7QGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjRzICRhX3N3aWZ0X291dCk7XHJcblx0XHQubGlie2Rpc3BsYXk6IG5vbmU7fVxyXG5cdFx0YXtwYWRkaW5nOiAxNXB4IDVweDsgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAyMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9lOyBmb250LXdlaWdodDogNjAwOyBwYWRkaW5nLWxlZnQ6IDQwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRcdCY6YmVmb3Jle2ZvbnQtc2l6ZTogMjRweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7aGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDsgd2lkdGg6IDMwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgbGVmdDogMDsgIH1cclxuXHRcdH1cclxuXHRcdC5pbnRlcntjb2xvcjogJGNfb3JhbmdlOyB9XHJcblx0XHQuY29uc3VsdHtjb2xvcjogJGNfYmx1ZTsgfVxyXG5cclxuXHRcdC5sb2dvdXR7Y29sb3I6ICRjX2dyYXlfOTtcclxuXHRcdFx0YXtib3JkZXItYm90dG9tOiBub25lOyB9XHJcblx0XHR9XHJcblx0XHQuYWN0aW9uX29wZW4gJntAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO31cclxuXHR9XHJcblx0LnNlYXJjaHtcclxuXHRcdG1hcmdpbjogMCAtODBweCAwIC02MHB4O1xyXG5cdFx0ZmllbGRzZXR7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtib3JkZXI6IDVweCBzb2xpZCAkY19ncmF5X2U7cGFkZGluZzogMTBweDtwYWRkaW5nLXJpZ2h0OiA1MHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGlucHV0e3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDMwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBjb2xvcjogJGNfZ3JheV85O2ZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsgXHJcblx0XHRcdFx0QGluY2x1ZGUgcGxhY2Vob2xkZXJ7IGNvbG9yOiAkY19ncmF5Xzk7fVxyXG5cdFx0XHR9XHJcblx0XHRcdGJ1dHRvbnt3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMDsgY29sb3I6ICRjX2dyYXlfOTtmb250LXNpemU6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4OyByaWdodDogMTBweDsgXHJcblx0XHRcdFx0JjpiZWZvcmV7Y29udGVudDokaV9zZWFyY2g7Zm9udC1mYW1pbHk6ICRmZl9pO2ZvbnQtc2l6ZTogMjNweDsgbGluZS1oZWlnaHQ6IDMwcHg7ICB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbiNuYXZ7XHJcblx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDYwcHg7IGJvdHRvbTogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwMjsgXHJcblx0QGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuXHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMTAwJSkpO0BpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC40cyAkYV9zd2lmdF9vdXQpO1xyXG5cdC5sb2dve2Rpc3BsYXk6IG5vbmU7IFxyXG5cdFx0aW1ne3dpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgfVxyXG5cdH1cclxuXHQubmF2X29wZW4gJntAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO31cclxuXHQ+dWx7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IEBpbmNsdWRlIGJveC1zaGFkb3coMCAyMHB4IDIwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwwIC0yMHB4IDIwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSk7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IG92ZXJmbG93OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlOyBmb250LXNpemU6IDE0cHg7IFxyXG5cdFx0PmxpeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9lOyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0XHQ+YXtcclxuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7IHBhZGRpbmctbGVmdDogNTBweDsgZGlzcGxheTogYmxvY2s7IGxpbmUtaGVpZ2h0OiAyMHB4OyBmb250LXdlaWdodDogNjAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0XHRcdCY6YmVmb3Jle2ZvbnQtc2l6ZTogMjRweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTtoZWlnaHQ6IDUwcHg7IGxpbmUtaGVpZ2h0OiA1MHB4O21hcmdpbi10b3A6IC0yNXB4OyB3aWR0aDogNTBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBsZWZ0OiAwOyAgfVxyXG5cdFx0XHR9XHJcblx0XHRcdCYuYWN0aXZle0BpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UobGluZWFyLWdyYWRpZW50KDU2ZGVnLCAkY19ibHVlX2ggMCUsICRjX2JsdWUgMTAwJSkpOyBjb2xvcjogI2ZmZjsgfVxyXG5cdFx0XHQmLnBhcmVudHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4OyBcclxuXHRcdFx0XHQmOmJlZm9yZXtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6JGlfZG93bjsgZm9udC1mYW1pbHk6ICRmZl9pOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgaGVpZ2h0OiAzMHB4OyByaWdodDogMHB4OyB3aWR0aDogMzBweDtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDMwcHg7IGZvbnQtc2l6ZTogNnB4OyBmb250LXdlaWdodDogNDAwOyBjdXJzb3I6IHBvaW50ZXI7IFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtOTBkZWcpKTtAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMnMsY29sb3IgLjJzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dWx7b3ZlcmZsb3c6IGhpZGRlbjsgbWF4LWhlaWdodDogMHB4OyBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQgMC40cyAkYV9zd2lmdF9vdXQpOyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6IDEzcHg7IG1hcmdpbi1yaWdodDogLTMwcHg7XHJcblx0XHRcdFx0XHRsaXtcclxuXHRcdFx0XHRcdFx0YXtwYWRkaW5nOiA1cHggMDtsaW5lLWhlaWdodDogMjBweDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctbGVmdDogNTBweDt9XHJcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOiAyMHB4OyB9XHJcblx0XHRcdFx0XHRcdCYuYWN0aXZle2JhY2tncm91bmQtY29sb3I6ICNmZmY7Y29sb3I6ICRjX2JsdWU7ICB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYub3BlbntcclxuXHRcdFx0XHRcdHVse21heC1oZWlnaHQ6IDYwMHB4O0BpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRhX3N3aWZ0X2luKX1cclxuXHRcdFx0XHRcdCY6YmVmb3JleyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTsgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTogbm9uZTsgIH1cclxuXHRcdH1cclxuXHR9XHJcbn0gXHJcblxyXG4jYm90dG9te3Bvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheV9lO2ZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDI1cHg7IHBhZGRpbmc6IDVweCAxNXB4OyB6LWluZGV4OiAxMDI7ICB9IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBAZG9jIG9mZlxuLy8gTm90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYWZhcmksIENocm9tZSwgYW5kIEZpcmVmb3ggYWxsIHN1cHBvcnQgM0QgdHJhbnNmb3Jtcy4gSG93ZXZlcixcbi8vIG9ubHkgaW4gdGhlIG1vc3QgcmVjZW50IGJ1aWxkcy4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgZmFsbGJhY2sgMmQgc3VwcG9ydCBmb3Jcbi8vIE9wZXJhIGFuZCBJRS4gSUUxMCBpcyBzbGF0ZWQgdG8gaGF2ZSAzZCBlbmFibGVkLCBidXQgaXMgY3VycmVudGx5IHVucmVsZWFzZWQuXG4vLyBUbyBtYWtlIHRoYXQgZWFzeSwgYWxsIDJEIHRyYW5zZm9ybXMgaW5jbHVkZSBhbiBicm93c2VyLXRhcmdldGluZyB0b2dnbGUgKCRvbmx5M2QpXG4vLyB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgdHdvIHN1cHBvcnQgbGlzdHMuIFRoZSB0b2dnbGUgZGVmYXVsdHMgdG8gJ2ZhbHNlJyAoMkQpLFxuLy8gYW5kIGFsc28gYWNjZXB0cyAndHJ1ZScgKDNEKS4gQ3VycmVudGx5IHRoZSBsaXN0cyBhcmUgYXMgZm9sbG93czpcbi8vIDJEOiBNb3ppbGxhLCBXZWJraXQsIE9wZXJhLCBPZmZpY2lhbFxuLy8gM0Q6IFdlYmtpdCwgRmlyZWZveC5cblxuLy8gQXZhaWxhYmxlIFRyYW5zZm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFNjYWxlICgyZCBhbmQgM2QpXG4vLyAtIFJvdGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBUcmFuc2xhdGUgKDJkIGFuZCAzZClcbi8vIC0gU2tldyAoMmQgb25seSlcblxuLy8gVHJhbnNmb3JtIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFRyYW5zZm9ybSBPcmlnaW4gKDJkIGFuZCAzZClcbi8vIC0gUGVyc3BlY3RpdmUgKDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSBPcmlnaW4gKDNkKVxuLy8gLSBUcmFuc2Zvcm0gU3R5bGUgKDNkKVxuLy8gLSBCYWNrZmFjZSBWaXNpYmlsaXR5ICgzZClcblxuLy8gTWl4aW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0cmFuc2Zvcm0tb3JpZ2luXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0tb3JpZ2luMmQsIHRyYW5zZm9ybS1vcmlnaW4zZFxuLy8gIC0gaGVscGVyczogICAgYXBwbHktb3JpZ2luXG4vLyB0cmFuc2Zvcm1cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybTJkLCB0cmFuc2Zvcm0zZFxuLy8gIC0gaGVscGVyczogICAgc2ltcGxlLXRyYW5zZm9ybSwgY3JlYXRlLXRyYW5zZm9ybVxuLy8gcGVyc3BlY3RpdmVcbi8vICAtIGhlbHBlcnM6ICAgIHBlcnNwZWN0aXZlLW9yaWdpblxuLy8gdHJhbnNmb3JtLXN0eWxlXG4vLyBiYWNrZmFjZS12aXNpYmlsaXR5XG4vLyBzY2FsZVxuLy8gIC0gc2hvcnRjdXRzOiAgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgc2NhbGUzZFxuLy8gcm90YXRlXG4vLyAgLSBzaG9ydGN1dHM6ICByb3RhdGVYLCByb3RhdGVZLCByb3RhdGUzZFxuLy8gdHJhbnNsYXRlXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVaLCB0cmFuc2xhdGUzZFxuLy8gc2tld1xuLy8gIC0gc2hvcnRjdXRzOiAgc2tld1gsIHNrZXdZXG5cbi8vIERlZmF1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBUaGUgZGVmYXVsdCB4LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXggICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXkgICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXogICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS14ICAgICA6IDEuMjUgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteSAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXogICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IGFuZ2xlIGZvciByb3RhdGlvbnNcbiRkZWZhdWx0LXJvdGF0ZSAgICAgIDogNDVkZWcgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci14ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXkgICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteiAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteCA6IDFlbSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS15IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXogOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy14ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXkgICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyAqKlRyYW5zZm9ybS1vcmlnaW4qKlxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nXG4vL1xuLy8gICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbiggb3JpZ2luIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ29yaWdpbicgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBjb250YWluaW5nIDEtMyAoeC95L3opIGNvb3JkaW5hdGVzXG4vLyBpbiBwZXJjZW50YWdlcywgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSBvciByZWxhdGl2ZVxuLy8gKGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSwgY2VudGVyKSB1bml0c1xuLy9cbi8vIEBwYXJhbSBvbmx5M2QgU2V0IHRoaXMgdG8gdHJ1ZSB0byBvbmx5IGFwcGx5IHRoaXNcbi8vIG1peGluIHdoZXJlIGJyb3dzZXJzIGhhdmUgM0Qgc3VwcG9ydC5cbkBtaXhpbiBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCkge1xuICAkb25seTNkOiAkb25seTNkIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgtY29tcGFzcy1saXN0KCRvcmlnaW4pKSA+IDI7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgaW5kaXZpZHVhbCBhcmd1bWVudHM6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oIFsgb3JpZ2luLXgsIG9yaWdpbi15LCBvcmlnaW4teiwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgMyAnb3JpZ2luLScgYXJndW1lbnRzIHJlcHJlc2VudCB4L3kveiBjb29yZGluYXRlcy5cbi8vXG4vLyAqKk5PVEU6Kiogc2V0dGluZyB6IGNvb3JkaW5hdGVzIHRyaWdnZXJzIDNEIHN1cHBvcnQgbGlzdCwgbGVhdmUgZmFsc2UgZm9yIDJEIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKFxuICAkb3JpZ2luLXg6ICRkZWZhdWx0LW9yaWdpbi14LFxuICAkb3JpZ2luLXk6ICRkZWZhdWx0LW9yaWdpbi15LFxuICAkb3JpZ2luLXo6IGZhbHNlLFxuICAkb25seTNkOiAgIGlmKCRvcmlnaW4teiwgdHJ1ZSwgZmFsc2UpXG4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgnJyk7XG4gIEBpZiAkb3JpZ2luLXggb3IgJG9yaWdpbi15IG9yICRvcmlnaW4teiB7XG4gICAgQGlmICRvcmlnaW4teCB7ICRvcmlnaW46ICRvcmlnaW4teDsgfSBAZWxzZSB7ICRvcmlnaW46IDUwJTsgfVxuICAgIEBpZiAkb3JpZ2luLXkgeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4teTsgfSBAZWxzZSB7IEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luIDUwJTsgfX1cbiAgICBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXo7IH1cbiAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCk7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm0gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZzpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2Zvcm1zIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ3RyYW5zZm9ybXMnIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIHRoZSB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQuXG5AbWl4aW4gdHJhbnNmb3JtKFxuICAkdHJhbnNmb3JtLFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IGFsbCBicm93c2VycyB3aXRoIDJEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtMmQoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIGZhbHNlKTtcbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IG9ubHkgYnJvd3NlcnMgd2l0aCAzRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTNkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCB0cnVlKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIDNEIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTZXQgdGhlIHBlcnNwZWN0aXZlIG9mIDNEIHRyYW5zZm9ybXMgb24gdGhlIGNoaWxkcmVuIG9mIGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSggcGVyc3BlY3RpdmUgKVxuLy9cbi8vIHdoZXJlICdwZXJzcGVjdGl2ZScgaXMgYSB1bml0bGVzcyBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXB0aCBvZiB0aGVcbi8vIHotYXhpcy4gVGhlIGhpZ2hlciB0aGUgcGVyc3BlY3RpdmUsIHRoZSBtb3JlIGV4YWdnZXJhdGVkIHRoZSBmb3Jlc2hvcnRlbmluZy5cbi8vIHZhbHVlcyBmcm9tIDUwMCB0byAxMDAwIGFyZSBtb3JlLW9yLWxlc3MgXCJub3JtYWxcIiAtIGEgZ29vZCBzdGFydGluZy1wb2ludC5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUsICRwLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTZXQgdGhlIG9yaWdpbiBwb3NpdGlvbiBmb3IgdGhlIHBlcnNwZWN0aXZlXG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZS1vcmlnaW4ob3JpZ2luLXggW29yaWdpbi15XSlcbi8vXG4vLyB3aGVyZSB0aGUgdHdvIGFyZ3VtZW50cyByZXByZXNlbnQgeC95IGNvb3JkaW5hdGVzXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRvcmlnaW46IDUwJSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUtb3JpZ2luLCAkb3JpZ2luLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgd2hldGhlciBhIDNEIG9iamVjdHMgY2hpbGRyZW4gYWxzbyBsaXZlIGluIHRoZSBnaXZlbiAzRCBzcGFjZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCBbIHN0eWxlIF0gKVxuLy9cbi8vIHdoZXJlIGBzdHlsZWAgY2FuIGJlIGVpdGhlciBgZmxhdGAgb3IgYHByZXNlcnZlLTNkYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gYGZsYXRgLCBtaXhpbiBkZWZhdWx0cyB0byBgcHJlc2VydmUtM2RgLlxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGFuIGVsZW1lbnQgd2hlbiBpdCdzIGJhY2sgaXMgdHVybmVkXG4vL1xuLy8gICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoIFsgdmlzaWJpbGl0eSBdIClcbi8vXG4vLyB3aGVyZSBgdmlzaWJpbGl0eWAgY2FuIGJlIGVpdGhlciBgdmlzaWJsZWAgb3IgYGhpZGRlbmAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIHZpc2libGUsIG1peGluIGRlZmF1bHRzIHRvIGhpZGRlblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6IGhpZGRlbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2Zvcm0gUGFydGlhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXNlIHdvcmsgd2VsbCBvbiB0aGVpciBvd24sIGJ1dCB0aGV5IGRvbid0IGFkZCB0byBlYWNoIG90aGVyLCB0aGV5IG92ZXJyaWRlLlxuLy8gVXNlIGFsb25nIHdpdGggdHJhbnNmb3JtIHBhcmFtZXRlciBtaXhpbnMgdG8gYWRqdXN0IG9yaWdpbiwgcGVyc3BlY3RpdmUgYW5kIHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBTY2FsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGFuZCB5IGF4aXM6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBzY2FsZSggWyBzY2FsZS14LCBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NjYWxlLScgYXJndW1lbnRzIGFyZSB1bml0bGVzcyBtdWx0aXBsaWVycyBvZiB0aGUgeCBhbmQgeSBkaW1lbnNpb25zXG4vLyBhbmQgcGVyc3BlY3RpdmUsIHdoaWNoIHdvcmtzIHRoZSBzYW1lIGFzIHRoZSBzdGFuZC1hbG9uZSBwZXJzcGVjdGl2ZSBwcm9wZXJ0eS9taXhpblxuLy8gYnV0IGFwcGxpZXMgdG8gdGhlIGluZGl2aWR1YWwgZWxlbWVudCAobXVsdGlwbGllZCB3aXRoIGFueSBwYXJlbnQgcGVyc3BlY3RpdmUpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJHNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVYKCBbIHNjYWxlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVgoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVYKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVZKCBbIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVkoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVZKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVaKCBbIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVooXG4gICRzY2FsZTogJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVaKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFNjYWxlIGFuZCBvYmplY3QgYWxvbmcgYWxsIHRocmVlIGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlM2QoIFsgc2NhbGUteCwgc2NhbGUteSwgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlM2QoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkc2NhbGUtejogICAgICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBSb3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHogYXhpcyAgKDJEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlICdyb3RhdGlvbicgaXMgYW4gYW5nbGUgc2V0IGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZShcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIEEgbG9uZ2N1dCBmb3IgJ3JvdGF0ZScgaW4gY2FzZSB5b3UgZm9yZ2V0IHRoYXQgJ3onIGlzIGltcGxpZWRcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWihcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICBAaW5jbHVkZSByb3RhdGUoJHJvdGF0ZSwgJHBlcnNwZWN0aXZlLCAkb25seTNkKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHggYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGVYKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWChcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVYKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVkoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgYW4gYXJiaXRyYXJ5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHZlY3Rvci14LCB2ZWN0b3IteSwgdmVjdG9yLXosIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vIHdoZXJlIHRoZSAndmVjdG9yLScgYXJndW1lbnRzIGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLlxuLy8gVGhlc2UgbnVtYmVycyBhcmUgbm90IGltcG9ydGFudCBvbiB0aGVpciBvd24sIGJ1dCBpbiByZWxhdGlvbiB0byBvbmUgYW5vdGhlclxuLy8gY3JlYXRpbmcgYW4gYXhpcyBmcm9tIHlvdXIgdHJhbnNmb3JtLW9yaWdpbiwgYWxvbmcgdGhlIGF4aXMgb2YgWHggPSBZeSA9IFp6LlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUzZChcbiAgJHZlY3Rvci14OiAkZGVmYXVsdC12ZWN0b3IteCxcbiAgJHZlY3Rvci15OiAkZGVmYXVsdC12ZWN0b3IteSxcbiAgJHZlY3Rvci16OiAkZGVmYXVsdC12ZWN0b3IteixcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUzZCgkdmVjdG9yLXgsICR2ZWN0b3IteSwgJHZlY3Rvci16LCAkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBvciB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSB0aGUgJ3RyYW5zbGF0ZS0nIGFyZ3VtZW50cyBhY2NlcHQgYW55IGRpc3RhbmNlIGluIHBlcmNlbnRhZ2VzIG9yIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZShcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWChcbiAgJHRyYW5zLXg6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWCgkdHJhbnMteCk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVkoXG4gICR0cmFucy15OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVkoJHRyYW5zLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVaKFxuICAkdHJhbnMtejogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVaKCR0cmFucy16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHgsIHkgYW5kIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZTNkKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkdHJhbnNsYXRlLXo6ICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUzZCgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSwgJHRyYW5zbGF0ZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFNrZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTa2V3IGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdza2V3LScgYXJndW1lbnRzIGFjY2VwdCBjc3MgYW5nbGVzIGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3KFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXcoJHNrZXcteCwgJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHggYXhpelxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1goXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdYKCRza2V3LXgpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB5IGF4aXNcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdZKFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WSgkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cblxuLy8gRnVsbCB0cmFuc2Zvcm0gbWl4aW5zXG4vLyBGb3Igc2V0dGluZ3MgYW55IGNvbWJpbmF0aW9uIG9mIHRyYW5zZm9ybXMgYXMgYXJndW1lbnRzXG4vLyBUaGVzZSBhcmUgY29tcGxleCBhbmQgbm90IGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgZGFpbHkgdXNlLiBUaGV5IGFyZSBtYWlubHlcbi8vIGhlcmUgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4vL1xuLy8gKiB0aGV5IGluY2x1ZGUgb3JpZ2luIGFkanVzdG1lbnRzXG4vLyAqIHNjYWxlIHRha2VzIGEgbXVsdGlwbGllciAodW5pdGxlc3MpLCByb3RhdGUgYW5kIHNrZXcgdGFrZSBkZWdyZWVzIChkZWcpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRzY2FsZS14OiAgICAgZmFsc2UsXG4gICRzY2FsZS15OiAgICAgZmFsc2UsXG4gICRzY2FsZS16OiAgICAgZmFsc2UsXG4gICRyb3RhdGUteDogICAgZmFsc2UsXG4gICRyb3RhdGUteTogICAgZmFsc2UsXG4gICRyb3RhdGUtejogICAgZmFsc2UsXG4gICRyb3RhdGUzZDogICAgZmFsc2UsXG4gICR0cmFucy14OiAgICAgZmFsc2UsXG4gICR0cmFucy15OiAgICAgZmFsc2UsXG4gICR0cmFucy16OiAgICAgZmFsc2UsXG4gICRza2V3LXg6ICAgICAgZmFsc2UsXG4gICRza2V3LXk6ICAgICAgZmFsc2UsXG4gICRvcmlnaW4teDogICAgZmFsc2UsXG4gICRvcmlnaW4teTogICAgZmFsc2UsXG4gICRvcmlnaW4tejogICAgZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gcGVyc3BlY3RpdmVcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSA7IH1cblxuICAvLyBzY2FsZVxuICBAaWYgJHNjYWxlLXggYW5kICRzY2FsZS15IHtcbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc2NhbGUteCB7ICR0cmFuczogJHRyYW5zIHNjYWxlWCgkc2NhbGUteCk7IH1cbiAgICBAaWYgJHNjYWxlLXkgeyAkdHJhbnM6ICR0cmFucyBzY2FsZVkoJHNjYWxlLXkpOyB9XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVaKCRzY2FsZS16KTsgfVxuICB9XG5cbiAgLy8gcm90YXRlXG4gIEBpZiAkcm90YXRlLXggeyAkdHJhbnM6ICR0cmFucyByb3RhdGVYKCRyb3RhdGUteCk7IH1cbiAgQGlmICRyb3RhdGUteSB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVkoJHJvdGF0ZS15KTsgfVxuICBAaWYgJHJvdGF0ZS16IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWigkcm90YXRlLXopOyB9XG4gIEBpZiAkcm90YXRlM2QgeyAkdHJhbnM6ICR0cmFucyByb3RhdGUzZCgkcm90YXRlM2QpOyB9XG5cbiAgLy8gdHJhbnNsYXRlXG4gIEBpZiAkdHJhbnMteCBhbmQgJHRyYW5zLXkge1xuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZTNkKCR0cmFucy14LCAkdHJhbnMteSwgJHRyYW5zLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUoJHRyYW5zLXgsICR0cmFucy15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHRyYW5zLXggeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVYKCR0cmFucy14KTsgfVxuICAgIEBpZiAkdHJhbnMteSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVkoJHRyYW5zLXkpOyB9XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWigkdHJhbnMteik7IH1cbiAgfVxuXG4gIC8vIHNrZXdcbiAgQGlmICRza2V3LXggYW5kICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3KCRza2V3LXgsICRza2V3LXkpOyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHNrZXcteCB7ICR0cmFuczogJHRyYW5zIHNrZXdYKCRza2V3LXgpOyB9XG4gICAgQGlmICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3WSgkc2tldy15KTsgfVxuICB9XG5cbiAgLy8gYXBwbHkgaXQhXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpO1xufVxuXG5cbi8vIEEgc2ltcGxpZmllZCBzZXQgb2Ygb3B0aW9uc1xuLy8gYmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgJ3RyYW5zZm9ybScgbWl4aW5cbkBtaXhpbiBzaW1wbGUtdHJhbnNmb3JtKFxuICAkc2NhbGU6ICAgIGZhbHNlLFxuICAkcm90YXRlOiAgIGZhbHNlLFxuICAkdHJhbnMteDogIGZhbHNlLFxuICAkdHJhbnMteTogIGZhbHNlLFxuICAkc2tldy14OiAgIGZhbHNlLFxuICAkc2tldy15OiAgIGZhbHNlLFxuICAkb3JpZ2luLXg6IGZhbHNlLFxuICAkb3JpZ2luLXk6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgY3JlYXRlLXRyYW5zZm9ybShcbiAgICBmYWxzZSxcbiAgICAkc2NhbGUsICRzY2FsZSwgZmFsc2UsXG4gICAgZmFsc2UsIGZhbHNlLCAkcm90YXRlLCBmYWxzZSxcbiAgICAkdHJhbnMteCwgJHRyYW5zLXksIGZhbHNlLFxuICAgICRza2V3LXgsICRza2V3LXksXG4gICAgJG9yaWdpbi14LCAkb3JpZ2luLXksIGZhbHNlLFxuICAgIGZhbHNlXG4gICk7XG59XG4iLCIubGlzdHtcclxuXHRAaW5jbHVkZSBkaXNwbGF5LWZsZXg7QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtcclxuXHQubGluZXttYXJnaW4tYm90dG9tOiAyMHB4OyBAaW5jbHVkZSBkaXNwbGF5LWZsZXg7QGluY2x1ZGUgZmxleC1mbG93KHJvdyB3cmFwKTtAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpOyB3aWR0aDogMTAwJTtcclxuXHRcdC5jdG5ye2Rpc3BsYXk6IGJsb2NrOyBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDVweCByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuMTUpKTtwYWRkaW5nOiAzMHB4IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDEwMCU7QGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTsgfVxyXG5cdFx0Lm5hbWV7Y29sb3I6ICRjX21haW47IGZvbnQtd2VpZ2h0OiA2MDA7IGxpbmUtaGVpZ2h0OiAxLjI7IGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0JjpiZWZvcmV7ZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtc2l6ZTogMzVweDsgbGluZS1oZWlnaHQ6IDE7IGNvbG9yOiAkY19ncmF5X2Q7IH1cclxuXHRcdH1cclxuXHRcdC5tb3Jle21hcmdpbi10b3A6IDIwcHg7IH1cclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7XHJcbiAgXHJcblx0Lmxpc3R7XHJcblx0XHRtYXJnaW46IDAgLTEwcHg7IFxyXG5cdFx0LmxpbmV7d2lkdGg6IDUwJTsgcGFkZGluZzogMCAxMHB4OyB9XHJcblx0fVxyXG5cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGlzIGlzIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uIGZvciBhbGwgdGhlIG90aGVyIG1peGlucyBpbiB0aGlzIG1vZHVsZS5cbi8vIEl0IGlzIHRoZSBvbmx5IHdheSB0byBhY2Nlc3MgcHJlZml4IHN1cHBvcnQgZm9yIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBzcGVjLlxuLy8gRGV2aWF0ZXMgZnJvbSBjYW5vbmljYWwgQ29tcGFzcyBpbXBsZW1lbnRhdGlvbiBieSBkcm9wcGluZyBzdXBwb3J0IGZvclxuLy8gb2xkZXIgdmVyc2lvbnMgb2YgdGhlIEZsZXhib3ggc3BlYy5cbi8vXG4vLyBgJHByb3BlcnRpZXNgOiBtYXAgb2YgcHJvcGVydHktdmFsdWUgcGFpcnMgdGhhdCBzaG91bGQgYmUgcHJlZml4ZWRcbkBtaXhpbiBmbGV4Ym94KCRwcm9wZXJ0aWVzKSB7XG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkcHJvcCA9PSBkaXNwbGF5IHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbC12YWx1ZShkaXNwbGF5LCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCgkcHJvcCwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFZhbHVlcyBmb3IgJGRpc3BsYXkgYXJlOiBmbGV4IChkZWZhdWx0KSwgaW5saW5lLWZsZXhcbkBtaXhpbiBkaXNwbGF5LWZsZXgoJGRpc3BsYXk6IGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZGlzcGxheTogJGRpc3BsYXkpKTtcbn1cblxuLy8gVmFsdWVzOiByb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbikpO1xufVxuXG4vLyBWYWx1ZXM6IG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2VcbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXApIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC13cmFwOiAkd3JhcCkpO1xufVxuXG4vLyBTaG9ydGhhbmQgZm9yIGZsZXgtZGlyZWN0aW9uIGFuZCBmbGV4LXdyYXAuXG5AbWl4aW4gZmxleC1mbG93KCRmbG93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZmxvdzogJGZsb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhbiBpbnRlZ2VyXG5AbWl4aW4gb3JkZXIoJG9yZGVyKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKG9yZGVyOiAkb3JkZXIpKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWdyb3csIGZsZXgtc2hyaW5rIGFuZCBvcHRpb25hbGx5IGZsZXgtYmFzaXMuXG4vLyBTcGFjZSBzZXBhcmF0ZWQsIGluIHRoYXQgb3JkZXIuXG5AbWl4aW4gZmxleCgkZmxleCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4OiAkZmxleCkpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtZ3JvdygkZmxleC1ncm93KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZ3JvdzogJGZsZXgtZ3JvdykpO1xufVxuXG4vLyBBY2NlcHRzIGEgbnVtYmVyLlxuQG1peGluIGZsZXgtc2hyaW5rKCRmbGV4LXNocmluaykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LXNocmluazogJGZsZXgtc2hyaW5rKSk7XG59XG5cbi8vIEFjY2VwdHMgYW55IGxlZ2FsIHZhbHVlIGZvciB0aGUgd2lkdGggcHJvcGVydHkuXG5AbWl4aW4gZmxleC1iYXNpcygkZmxleC1iYXNpcykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWJhc2lzOiAkZmxleC1iYXNpcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGp1c3RpZnktY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ24taXRlbXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcykpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbi1zZWxmKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLXNlbGY6ICRhbGlnbi1zZWxmKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2hcbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbi1jb250ZW50KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50KSk7XG59XG4iLCJib2R5LmxvZ2luX2JvZHl7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXHJcbn1cclxuLmxvZ2luX3NpdGVfY3RucntcclxuXHRvdmVyZmxvdzogaGlkZGVuOyBtaW4td2lkdGg6IDMyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG1pbi1oZWlnaHQ6IDEwMHZoOyBwYWRkaW5nLWJvdHRvbTogNTBweDsgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuXHJcblxyXG5cdC5sb2dpbl9jdG5ye1xyXG5cdFx0cGFkZGluZzogMzBweCAwOyBcclxuXHRcdC5sb2dve1xyXG5cdFx0XHR3aWR0aDogMTQ1cHg7IG1hcmdpbjogMjBweCBhdXRvIDsgXHJcblx0XHRcdGltZ3tkaXNwbGF5OiBibG9jazt3aWR0aDogMTAwJTsgfVxyXG5cdFx0fVxyXG5cdFx0LmN0bnR7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy10b3A6IDIwcHg7IG1hcmdpbi10b3A6IDIwcHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCAkY19ncmF5X2U7IFxyXG5cdFx0XHQubWVudGlvbntcclxuXHRcdFx0XHRhe1xyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGNvbG9yOiAkY19tYWluOyBcclxuXHRcdFx0XHRcdCY6aG92ZXJ7Y29sb3I6ICRjX2JsdWU7IH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cdCNib3R0b217dGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbn0iLCIubW9kYWxfY3RucntiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBwYWRkaW5nOiAzMHB4OyBtYXgtd2lkdGg6IDQwMHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogbm9uZTtAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwcHgpOyBtYXJnaW46IDAgYXV0bztcblx0Lm1mcC1jbG9zZXtkaXNwbGF5OiBub25lOyB9XG59XG5cbi5tZnAtY29udGVudHtcblx0Lm1vZGFsX2N0bnJ7ZGlzcGxheTogYmxvY2s7fVxufVxuXG4iLCIubXVsdGlfYWN0aW9ue1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGxpe1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDFweDsgbGVmdDogMDtyaWdodDogMDsgei1pbmRleDogMjA7IGRpc3BsYXk6IG5vbmU7QGluY2x1ZGUgYmFzaWNfdHJzOyBjdXJzb3I6IHBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXHJcblx0XHQmOmZpcnN0LWNoaWxke1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyOiAycHggc29saWQgJGNfZ3JheTtAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7ei1pbmRleDogMDsgZGlzcGxheTogYmxvY2s7IG1pbi13aWR0aDogMTAwcHg7IFxyXG5cdFx0XHQmOmJlZm9yZXtcclxuXHRcdFx0XHRjb250ZW50OiRpX2Rvd247Zm9udC1mYW1pbHk6ICRmZl9pOyBmb250LXdlaWdodDogNDAwO2ZvbnQtc2l6ZTogNXB4OyB3aWR0aDogMjBweDsgY29sb3I6ICRjX2JsdWU7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO2xpbmUtaGVpZ2h0OiAxMHB4OyBtYXJnaW4tdG9wOiAtNXB4O3RleHQtYWxpZ246IGNlbnRlcjsgdG9wOiA1MCU7cmlnaHQ6IDA7ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdFx0LmJ0bnsgYm9yZGVyOiBub25lOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY19ncmF5O0BpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4IDAgMCAycHgpOyB9XHJcblx0XHR9XHJcblx0XHQuYnRue3dpZHRoOiAxMDAlOyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApOyBwYWRkaW5nOiA1cHg7IH1cclxuXHJcblx0XHRAZm9yICRpIGZyb20gMiB0aHJvdWdoIDEwe1xyXG5cdFx0XHQmOm50aC1jaGlsZCgjeyRpfSl7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogKCRpIC0gMSkqMzVweDsgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5vcGVuIGxpe1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHQmOmZpcnN0LWNoaWxke1xyXG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCA0cHggMCAwKTtcclxuXHRcdFx0LmJ0bntAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCAwIDAgMCk7fVxyXG5cdFx0fVxyXG5cdFx0JjpsYXN0LWNoaWxke1xyXG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcclxuXHRcdFx0LmJ0bntAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTt9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5wYWdlX2hlYWR7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZTsgcGFkZGluZy1ib3R0b206IDEwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IFxyXG5cclxuXHQuYmFja3sgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZTt9XHJcbn1cclxuLmgxe2ZvbnQtc2l6ZTogMzBweDtsaW5lLWhlaWdodDogMS4yOyBmb250LXdlaWdodDogNjAwO21hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuLnVse1xyXG5cdGxpe21hcmdpbi1ib3R0b206IDEwcHg7IGNvbG9yOiAkY19ncmF5Xzk7IH1cclxufVxyXG5cclxuLmJhY2t7XHJcblx0Y29sb3I6ICRjX2dyYXlfOTsgZm9udC1zaXplOiAxNHB4O2xpbmUtaGVpZ2h0OiAyMHB4OyBmb250LXdlaWdodDogNjAwO21hcmdpbi1ib3R0b206IDIwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdGF7XHJcblx0XHRAaW5jbHVkZSBiYXNpY190cnM7XHJcblx0XHQmOmJlZm9yZXttYXJnaW4tcmlnaHQ6IDEwcHg7IH1cclxuXHRcdCY6aG92ZXJ7Y29sb3I6ICRjX2JsdWU7IH1cclxuXHR9XHJcbn1cclxuLnBhZ2VfdGFnc3tcclxuXHQudGFne1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kLWNvbG9yOiAkY19ncmF5X2Y7IGNvbG9yOiAkY19tYWluOyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDIwcHgpO3Bvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IG1hcmdpbi1yaWdodDogMTBweDsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsgcGFkZGluZy1sZWZ0OiA0NXB4OyBcclxuXHRcdCY6YmVmb3Jle2NvbG9yOiAkY19tYWluOyBmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBoZWlnaHQ6IDIwcHg7IG1hcmdpbi10b3A6IC0xMHB4OyBsZWZ0OiAxNXB4OyB3aWR0aDogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyAgfVxyXG5cdFx0LmRvdHtoZWlnaHQ6IDE2cHg7IHdpZHRoOiAxNnB4OyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDEwMCUpO3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC04cHg7IGxlZnQ6IDE1cHg7IH1cclxuXHRcdC5saWJ7Y29sb3I6ICRjX2dyYXlfNzsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMjBweDsgbWFyZ2luLXJpZ2h0OiA1cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcblx0XHQudmFsdWV7Y29sb3I6ICRjX21haW47IGZvbnQtc2l6ZTogMTdweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcblx0fVxyXG59XHJcblxyXG4ucGFnZV90aXRsZXtcclxuXHRmb250LXNpemU6IDI4cHg7Zm9udC13ZWlnaHQ6IDYwMDsgbGluZS1oZWlnaHQ6IDEuMjtwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDIwcHg7IFxyXG5cdCZbY2xhc3MqPVwiaXVzX1wiXXsgbGluZS1oZWlnaHQ6IDMwcHg7IHBhZGRpbmc6IDVweCAwOyBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcblx0XHQmOmJlZm9yZXtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtMTVweDsgbGVmdDogMDsgd2lkdGg6IDMwcHg7IGZvbnQtc2l6ZTogMjZweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGhlaWdodDogMzBweDsgfVxyXG5cdH0gXHJcblx0c3Ryb25ne2ZvbnQtc2l6ZTogNTBweDsgfVxyXG59XHJcblxyXG4ucGFnZV9zdWJ0aXRsZXtcclxuXHRmb250LXNpemU6IDI0cHg7Zm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuMjtwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDIwcHg7IFxyXG5cdCZbY2xhc3MqPVwiaXVzX1wiXXsgbGluZS1oZWlnaHQ6IDMwcHg7IHBhZGRpbmc6IDVweCAwOyBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcblx0XHQmOmJlZm9yZXtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtMTVweDsgbGVmdDogMDsgd2lkdGg6IDMwcHg7IGZvbnQtc2l6ZTogMjZweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGhlaWdodDogMzBweDsgfVxyXG5cdH1cclxufVxyXG5cclxuLm1haW5fYWN0aW9uc3ttYXJnaW46IDIwcHggMDsgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0Lm11bHRpX2FjdGlvbnt3aWR0aDogMTAwJTsgfVxyXG5cdC5idG57d2lkdGg6IDEwMCU7IH1cclxuXHQ+bGl7bWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG5cdCYuc21hbGx7XHJcblx0XHQuYnRue3BhZGRpbmctbGVmdDogMTBweDsgcGFkZGluZy1yaWdodDogMTBweDsgfVxyXG5cdH1cclxufVxyXG5cclxuLnByZWZlcmVuY2Vze21hcmdpbi1ib3R0b206IDIwcHg7IFxyXG5cdC5jdXN0b21zZWxlY3QtY29udGFpbmVye2Rpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDc2cHg7IH1cclxuXHRsYWJlbHtmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7bWFyZ2luLWxlZnQ6IDEwcHg7IH1cclxufVxyXG5cclxuLnN0YXR1c3tcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmctbGVmdDogMjBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtaW4taGVpZ2h0OiAxMHB4OyBcclxuXHQuZG90e2hlaWdodDogMTBweDsgd2lkdGg6IDEwcHg7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLTVweDsgbGVmdDogMDsgfVxyXG59XHJcblxyXG4udHdvX2NvbHMsLnRocmVlX2NvbHN7XHJcblx0QGluY2x1ZGUgdHJhc2g7XHJcblx0LmNvbHttaW4taGVpZ2h0OiAxcHg7fVxyXG59XHJcblxyXG4uZW1wdHl7dGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAxMHB4OyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheV9lOyBib3JkZXItd2lkdGg6IDFweCAwOyBmb250LXdlaWdodDogNTAwOyAgfSIsIi5wYWdpbmF0aW9ue1xyXG5cdG1hcmdpbi10b3A6IDUwcHg7IFxyXG5cdHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblxyXG5cdHNwYW57ZGlzcGxheTogaW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbjogMCA1cHg7IHRleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tYm90dG9tOiAxMHB4OyAgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBcclxuXHRcdGF7ZGlzcGxheTogYmxvY2s7Ym9yZGVyOiAxcHggc29saWQgJGNfbWFpbjtAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7d2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgbGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjJzLGJvcmRlci1jb2xvciAuMnMpO1xyXG5cdFx0fVxyXG5cdFx0Ji5jdXJyZW50LGEuY3VycmVudHtjb2xvcjogI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiAkY19tYWluOyBib3JkZXI6IDFweCBzb2xpZCAkY19tYWluO0BpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgbGluZS1oZWlnaHQ6IDMwcHg7fVxyXG5cdFx0Ji5sYXN0LCYuZmlyc3R7ZGlzcGxheTogbm9uZTt9XHJcblx0XHQmLnByZXZpb3VzLCYubmV4dHtmb250LXNpemU6IDA7IGxpbmUtaGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRhe2JvcmRlcjogbm9uZTt9XHJcblx0XHRcdGE6YmVmb3Jle2NvbnRlbnQ6Jyc7IGZvbnQtZmFtaWx5OiAkZmZfaTsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxMnB4O2xpbmUtaGVpZ2h0OiAzMHB4OyAgZGlzcGxheTogYmxvY2s7IH1cclxuXHRcdH1cclxuXHRcdCYucHJldmlvdXMgYTpiZWZvcmV7Y29udGVudDokaV9sZWZ0O31cclxuXHRcdCYubmV4dCBhOmJlZm9yZXtjb250ZW50OiRpX3JpZ2h0O31cclxuXHRcdCYuc2hvd19hbGx7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO2JvcmRlcjogMXB4IHNvbGlkICRjX21haW47QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO3dpZHRoOiBhdXRvO3BhZGRpbmc6IDAgNXB4OyAgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDtcclxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuMnMsYm9yZGVyLWNvbG9yIC4ycyk7IGN1cnNvcjogcG9pbnRlcjsgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdCY6bm90KC5jdXJyZW50KTpob3ZlcntcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjX2JsdWU7IFxyXG5cdFx0XHRcdGNvbG9yOiAkY19ibHVlOyBcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0YTpub3QoLmN1cnJlbnQpOmhvdmVye1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRjX2JsdWU7IFxyXG5cdFx0XHRjb2xvcjogJGNfYmx1ZTsgXHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5wYXJ0e3BhZGRpbmctYm90dG9tOiAyMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9mOyBtYXJnaW4tYm90dG9tOiAyMHB4OyAgfVxyXG5cclxuLnBhcnRfdGl0bGV7XHJcblx0Y29sb3I6ICRjX2JsdWU7IGZvbnQtc2l6ZTogMjRweDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OiA2MDA7IGxpbmUtaGVpZ2h0OiAxLjI7cG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBcclxuXHQmW2NsYXNzKj1cIml1c19cIl17IGxpbmUtaGVpZ2h0OiAzMHB4OyBwYWRkaW5nOiA1cHggMDsgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cdFx0JjpiZWZvcmV7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLTE1cHg7IGxlZnQ6IDA7IHdpZHRoOiAzMHB4OyBmb250LXNpemU6IDI2cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IH1cclxuXHR9IFxyXG5cdCYub3Jhbmdle2NvbG9yOiAkY19vcmFuZ2U7IH1cclxufVxyXG5cclxuLnBhcnRfc3VidGl0bGV7XHJcblx0Y29sb3I6ICRjX2JsdWU7IGZvbnQtc2l6ZTogMjBweDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAxLjI7cG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyBcclxuXHQmW2NsYXNzKj1cIml1c19cIl17IGxpbmUtaGVpZ2h0OiAzMHB4OyBwYWRkaW5nOiA1cHggMDsgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cdFx0JjpiZWZvcmV7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLTE1cHg7IGxlZnQ6IDA7IHdpZHRoOiAzMHB4OyBmb250LXNpemU6IDI0cHg7IGxpbmUtaGVpZ2h0OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IH1cclxuXHR9IFxyXG5cdCYub3Jhbmdle2NvbG9yOiAkY19vcmFuZ2U7IH1cclxufVxyXG5cclxuLmluZm9ze2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY19ncmF5X2Y7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBcclxuXHRsaXtwb3NpdGlvbjogcmVsYXRpdmU7IGxpbmUtaGVpZ2h0OiAyMHB4OyBwYWRkaW5nOiA1cHggMDsgcGFkZGluZy1sZWZ0OiAzMHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBcclxuXHRcdCY6YmVmb3Jle3Bvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC0xNXB4OyBsZWZ0OiAwOyBoZWlnaHQ6IDMwcHg7IGxpbmUtaGVpZ2h0OiAzMHB4O3dpZHRoOiAyMHB4OyBmb250LXNpemU6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cdH1cclxufVxyXG5cclxuLmF0dHJ7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZjsgbWFyZ2luLWJvdHRvbTogMTBweDsgcGFkZGluZy1ib3R0b206IDEwcHg7IFxyXG5cdGxpe3Bvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogNXB4IDA7IGZvbnQtc2l6ZTogMDsgbGluZS1oZWlnaHQ6IDA7IFxyXG5cdFx0LmxpYntkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGNvbG9yOiAkY19ncmF5Xzk7IGZvbnQtd2VpZ2h0OiA1MDA7IGZvbnQtc2l6ZTogMTNweDtsaW5lLWhlaWdodDogMS4zODsgd2lkdGg6IDQwJTsgIH1cclxuXHRcdC52YWx1ZXtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBmb250LXNpemU6IDE1cHg7IGxpbmUtaGVpZ2h0OiAxLjI7IHdpZHRoOiA1NSU7IG1hcmdpbi1sZWZ0OiA1JTtcclxuXHRcdFx0PiBhLmV4dCB7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0Jjpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLndpdGhfZGVse1xyXG5cdFx0bGl7cGFkZGluZy1yaWdodDogNDBweDsgXHJcblx0XHRcdC5kZWx7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHJpZ2h0OiAwOyB3aWR0aDogMzBweDsgXHJcblx0XHRcdFx0LmJ0bntmb250LXNpemU6IDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDsgbGluZS1oZWlnaHQ6IDA7IFxyXG5cdFx0XHRcdFx0JjpiZWZvcmV7Y29udGVudDokaV9kZWxldGU7Zm9udC1mYW1pbHk6ICRmZl9pOyBmb250LXdlaWdodDogNDAwOyBoZWlnaHQ6IDI4cHg7IGxpbmUtaGVpZ2h0OiAyOHB4OyBmb250LXNpemU6IDE1cHg7IHdpZHRoOiAzMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7ICB9XHJcblx0XHRcdFx0XHQmOmhvdmVye2NvbG9yOiAkY19ibHVlOyBiYWNrZ3JvdW5kOiBub25lOyAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5wYXJ0X2Rlc2N7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogJGNfZ3JheV85OyBcclxufSIsIi5yZXBvcnRfYmxvY2t7XHJcblx0cGFkZGluZzogMjBweCAxMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCA1cHggcmdiYSgyMjAsIDIyMCwgMjIwLCAwLjE1KSk7XHJcblx0LnRpdGxle1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMS4yOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmctYm90dG9tOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9mO1xyXG5cdFx0JjpiZWZvcmV7ZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMzZweDsgbGluZS1oZWlnaHQ6IDEuMjttYXJnaW4tYm90dG9tOiA1cHg7ICB9XHJcblx0fVxyXG5cdC5maWVsZD5sYWJlbHtkaXNwbGF5OiBub25lOyAgXHJcblx0XHQmOmFmdGVye2Rpc3BsYXk6IG5vbmU7IH1cclxuXHR9XHJcblx0LmRhdGVfY3RuciAuZmllbGQge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG5cdFx0bGFiZWx7ZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwO2xpbmUtaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7Y29sb3I6ICRjX21haW47ICAgfVxyXG5cclxuXHR9XHJcbn1cclxuXHJcbi5yZXBvcnRfc3VjY2Vzc3tcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDMwcHg7IHBhZGRpbmc6IDIwcHggMCAzMHB4OyAgYm9yZGVyOiAxcHggc29saWQgJGNfZ3JheV9mOyBib3JkZXItd2lkdGg6IDFweCAwOyBcclxuXHQucGFydF90aXRsZXt0ZXh0LXRyYW5zZm9ybTogbm9uZTsgbWFyZ2luLWJvdHRvbTogMzBweDsgXHJcblx0XHQmOmJlZm9yZXtjb250ZW50OiRpX2NoZWNrO2ZvbnQtZmFtaWx5OiAkZmZfaTsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAkY19tYWluOyBmb250LXdlaWdodDogNDAwOyBtYXJnaW4tYm90dG9tOiAyMHB4OyAgfVxyXG5cdH1cclxuXHQuZGVzY3tmb250LXdlaWdodDogNTAwOyB9XHJcbn0iLCIuZGF0YV9ncmlke1xyXG5cdHdpZHRoOiAxMDAlOyBib3gtc2hhZG93OiAwIDVweCA1cHggcmdiYSgyMjAsIDIyMCwgMjIwLCAwLjE1KTtcclxuXHR0cntcclxuXHRcdHRoLCB0ZHtwYWRkaW5nOiAxMHB4OyB9XHJcblx0XHQ+KjpmaXJzdC1jaGlsZHt3aWR0aDogNDAlOyB9XHJcblx0XHQ+KjpsYXN0LWNoaWxke3dpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcblxyXG5cdFx0dGggYXtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1yaWdodDogMzBweDsgQGluY2x1ZGUgYmFzaWNfdHJzO1xyXG5cdFx0XHQmOmJlZm9yZSwmOmFmdGVye1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZmZfaTsgZm9udC1zaXplOiA1cHg7IGxpbmUtaGVpZ2h0OiAxMHB4OyB3aWR0aDogMjBweDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMDsgdGV4dC1hbGlnbjogY2VudGVyO2NvbG9yOiAkY19ncmF5X2Q7IFxyXG5cdFx0XHR9XHJcblx0XHRcdCY6YmVmb3Jle2NvbnRlbnQ6JGlfdXA7IG1hcmdpbi10b3A6IC0xMHB4OyB9XHJcblx0XHRcdCY6YWZ0ZXJ7Y29udGVudDokaV9kb3duO31cclxuXHRcdFx0Ji5hc2N7XHJcblx0XHRcdFx0JjphZnRlcntjb2xvcjogJGNfYmx1ZTt9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5kZXNje1xyXG5cdFx0XHRcdCY6YmVmb3Jle2NvbG9yOiAkY19ibHVlO31cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVye2NvbG9yOiAkY19ibHVlX2g7IH1cclxuXHRcdH1cclxuXHR9XHJcblx0dGhlYWR7XHJcblx0XHRmb250LXNpemU6IDEzcHg7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjX2dyYXlfZTtcclxuXHRcdHRye1xyXG5cdFx0XHQmLmhlYWRpbmd7XHJcblx0XHRcdFx0dGh7YmFja2dyb3VuZC1jb2xvcjogJGNfZ3JheV9mO2NvbG9yOiAkY19ibHVlO3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiA1MDA7bGluZS1oZWlnaHQ6IDIwcHg7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHR0Ym9keXtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdHRye1xyXG5cdFx0XHR0ZHtib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9lO3BhZGRpbmc6IDIwcHggMTBweDsgIH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb21tZW50e1xyXG5cdFx0Y29sb3I6ICRjX2dyYXlfOTtkaXNwbGF5OiBibG9jazsgXHJcblx0fVx0XHJcblxyXG5cdC5uYW1le1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogNXB4OyBcclxuXHR9XHJcblx0Lm1vYntwYWRkaW5nOiAwOyB3aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7XHJcbiAgXHJcblx0LmRhdGFfZ3JpZHtcclxuXHRcdC5ub19tb2J7ZGlzcGxheTogbm9uZTt9XHJcblx0XHR0cntcclxuXHRcdFx0dGR7XHJcblx0XHRcdFx0JjpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6IDA7ICB9XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6IDA7ICB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5idG57Zm9udC1zaXplOiAxMnB4OyBwYWRkaW5nOiA1cHggMTBweDsgIH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xyXG5cdC5kYXRhX2dyaWR7XHJcblx0XHQubW9ie2Rpc3BsYXk6IG5vbmU7IH1cclxuXHR9XHJcbn0iLCIudGFiX21lbnVfY3RucntcclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNfZ3JheV9lOyBwYWRkaW5nLWJvdHRvbTogMzBweDsgXHJcblx0LnRhYl9tZW51e2Rpc3BsYXk6IG5vbmU7IH1cclxuXHJcblx0LnRhYl9tZW51X3NlbGVjdCB7XHJcblx0XHQrLmN1c3RvbXNlbGVjdHtib3JkZXItY29sb3I6ICRjX2JsdWU7IFxyXG5cdFx0XHQmOmJlZm9yZXtjb250ZW50OiRpX21lbnU7IGZvbnQtc2l6ZTogMTBweDtjb2xvcjogJGNfYmx1ZTsgIH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5lcnJvcntcclxuXHRcdC50YWJfbWVudV9zZWxlY3QrLmN1c3RvbXNlbGVjdHtib3JkZXItY29sb3I6ICRjX3JlZDt9XHJcblx0fVxyXG5cdCYuc21hbGx7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMHB4OyBcclxuXHR9XHJcbn1cclxuXHJcbi50YWJze1xyXG5cdC50YWJ7ZGlzcGxheTogbm9uZTsgXHJcblx0XHQmLm9wZW57ZGlzcGxheTogYmxvY2s7IH1cclxuXHR9XHJcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/