@charset "UTF-8";
/*!
 *
 * Angle - Bootstrap Admin Template
 *
 * Version: 4.2
 * Author: @themicon_co
 * Website: http://themicon.co
 * License: https://wrapbootstrap.com/help/licenses
 *
 */
/* ========================================================================
     Component: layout
 ========================================================================== */
@import url(//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,400italic);
html {
  /* $replace rtl */
  direction: ltr;
  height: 100%;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  font-size: 16px; }

html,
body {
  height: 100%; }

.wrapper {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 100%;
  overflow-x: hidden; }
  .wrapper.ng-leave {
    display: none; }
  .wrapper .aside-container {
    position: absolute;
    width: 220px;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 116;
    backface-visibility: hidden;
    background-color: #fff; }
    .wrapper .aside-container .aside-inner {
      padding-top: 115px;
      height: 100%;
      width: 220px;
      overflow: hidden; }
    .wrapper .aside-container .nav-floating {
      left: inherit;
      margin-left: 220px;
      z-index: 1110;
      min-width: 190px;
      overflow: auto; }
  .wrapper .section-container {
    position: relative;
    height: 100%;
    margin-left: 0;
    z-index: 111;
    background-color: #f5f7fa;
    margin-bottom: 60px !important; }
  .wrapper .footer-container {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    border-top: 1px solid #e4eaec;
    padding: 20px;
    z-index: 109;
    font-size: .875rem; }
    .wrapper .footer-container p {
      margin: 0; }

.modal-open .wrapper {
  z-index: 0; }

.content-wrapper {
  padding: 15px;
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  margin-top: -1px; }
  .content-wrapper .unwrap {
    margin: -15px; }
    @media (min-width: 768px) {
      .content-wrapper .unwrap {
        margin: -20px; } }
  .content-wrapper .content-heading {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    line-height: 1.1;
    color: #929292;
    margin: -15px;
    margin-bottom: 20px;
    padding: 15px;
    font-weight: normal;
    background-color: #fafbfc;
    border-bottom: 1px solid #cfdbe2; }
    .content-wrapper .content-heading small {
      display: block;
      font-size: 12px;
      color: #909FA7; }
  .content-wrapper .container,
  .content-wrapper .container-fluid {
    padding-left: 0;
    padding-right: 0; }
  @media (min-width: 768px) {
    .content-wrapper {
      padding: 20px; }
      .content-wrapper .content-heading {
        margin: -20px;
        margin-bottom: 20px;
        padding: 20px; }
        .content-wrapper .content-heading button,
        .content-wrapper .content-heading .btn {
          margin: 0; } }

@media (min-width: 768px) {
  body {
    min-height: 100%; }
  .wrapper .section-container,
  .wrapper .footer-container {
    margin-left: 220px; }
  .wrapper .section-container.has-sidebar-right {
    margin-right: 240px; }
    .wrapper .section-container.has-sidebar-right + .offsidebar {
      z-index: 1; } }

@media (max-width: 767.98px) {
  .wrapper .aside-container {
    margin-left: -220px; }
  .aside-toggled .wrapper .section-container,
  .aside-toggled .wrapper .footer-container {
    margin-left: 220px; }
  .aside-toggled .wrapper .aside-container {
    margin-left: 0; }
  .csstransforms3d .wrapper {
    backface-visibility: hidden; }
    .csstransforms3d .wrapper .section-container,
    .csstransforms3d .wrapper .footer-container {
      margin-left: 0;
      transform: translate3d(0, 0, 0);
      transition: transform .3s ease; }
    .csstransforms3d .wrapper .aside-container {
      margin-left: 0;
      transform: translate3d(-220px, 0, 0);
      transition: transform .3s ease; }
  .csstransforms3d .aside-toggled .wrapper .section-container,
  .csstransforms3d .aside-toggled .wrapper .footer-container {
    transform: translate3d(220px, 0, 0); }
  .csstransforms3d .aside-toggled .wrapper .aside-container {
    transform: translate3d(0, 0, 0); } }

@media (max-width: 767.98px) {
  .aside-collapsed .wrapper .aside-container {
    margin-left: -70px; }
  .aside-collapsed.aside-toggled .wrapper .section-container,
  .aside-collapsed.aside-toggled .wrapper .footer-container {
    margin-left: 70px; }
  .aside-collapsed.aside-toggled .wrapper .aside-container {
    margin-left: 0; }
  .csstransforms3d .aside-collapsed .wrapper {
    backface-visibility: hidden; }
    .csstransforms3d .aside-collapsed .wrapper .section-container,
    .csstransforms3d .aside-collapsed .wrapper .footer-container {
      margin-left: 0;
      transform: translate3d(0, 0, 0);
      transition: transform .3s ease; }
    .csstransforms3d .aside-collapsed .wrapper .aside-container {
      margin-left: 0;
      transform: translate3d(-70px, 0, 0);
      transition: transform .3s ease; }
  .csstransforms3d .aside-collapsed.aside-toggled .wrapper .section-container,
  .csstransforms3d .aside-collapsed.aside-toggled .wrapper .footer-container {
    transform: translate3d(70px, 0, 0); }
  .csstransforms3d .aside-collapsed.aside-toggled .wrapper .aside-container {
    transform: translate3d(0, 0, 0); } }

.aside-collapsed {
  overflow-y: auto; }
  .aside-collapsed .wrapper .aside-container,
  .aside-collapsed .wrapper .aside-container .aside-inner {
    width: 70px; }
  .aside-collapsed .wrapper .aside-container .nav-floating {
    margin-left: 70px; }

@media (min-width: 768px) {
  .aside-collapsed .wrapper .section-container,
  .aside-collapsed .wrapper .footer-container {
    margin-left: 70px; } }

@media (max-width: 767.98px) {
  .aside-collapsed-text .wrapper .aside-container {
    margin-left: -90px; }
  .aside-collapsed-text.aside-toggled .wrapper .section-container,
  .aside-collapsed-text.aside-toggled .wrapper .footer-container {
    margin-left: 90px; }
  .aside-collapsed-text.aside-toggled .wrapper .aside-container {
    margin-left: 0; }
  .csstransforms3d .aside-collapsed-text .wrapper {
    backface-visibility: hidden; }
    .csstransforms3d .aside-collapsed-text .wrapper .section-container,
    .csstransforms3d .aside-collapsed-text .wrapper .footer-container {
      margin-left: 0;
      transform: translate3d(0, 0, 0);
      transition: transform .3s ease; }
    .csstransforms3d .aside-collapsed-text .wrapper .aside-container {
      margin-left: 0;
      transform: translate3d(-90px, 0, 0);
      transition: transform .3s ease; }
  .csstransforms3d .aside-collapsed-text.aside-toggled .wrapper .section-container,
  .csstransforms3d .aside-collapsed-text.aside-toggled .wrapper .footer-container {
    transform: translate3d(90px, 0, 0); }
  .csstransforms3d .aside-collapsed-text.aside-toggled .wrapper .aside-container {
    transform: translate3d(0, 0, 0); } }

.aside-collapsed-text {
  overflow-y: auto; }
  .aside-collapsed-text .wrapper .aside-container,
  .aside-collapsed-text .wrapper .aside-container .aside-inner {
    width: 90px; }
  .aside-collapsed-text .wrapper .aside-container .nav-floating {
    margin-left: 90px; }

@media (min-width: 768px) {
  .aside-collapsed-text .wrapper .section-container,
  .aside-collapsed-text .wrapper .footer-container {
    margin-left: 90px; } }

@media (max-width: 1140px) {
  .layout-fixed.aside-toggled, .layout-fixed.offsidebar-open {
    overflow-y: hidden; } }

.layout-fixed .wrapper {
  /* only applied to sidebar */ }
  .layout-fixed .wrapper .topnavbar-wrapper {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 121; }
  .layout-fixed .wrapper .aside-container,
  .layout-fixed .wrapper .offsidebar {
    position: fixed; }
  .layout-fixed .wrapper .aside-container {
    /* safari fix */
    height: 1px;
    min-height: 100%;
    /* ios blanks space fix */ }
    .layout-fixed .wrapper .aside-container .aside-inner {
      position: fixed;
      top: 0;
      bottom: 0; }
  .layout-fixed .wrapper .section-container {
    margin-top: 115px; }

/* IE10+ hack: safari fix breaks ie so we need to target ie only to restore */
_:-ms-lang(x),
.layout-fixed .wrapper .aside-container .aside-inner {
  position: static !important; }

@media (min-width: 992px) {
  .layout-boxed {
    overflow: auto !important; }
    .layout-boxed .wrapper {
      margin: 0 auto;
      overflow: hidden;
      box-shadow: 0 0 13px rgba(0, 0, 0, 0.25); }
      .layout-boxed .wrapper .offsidebar {
        position: absolute !important; }
      .layout-boxed .wrapper .aside-container {
        left: inherit; }
      .layout-boxed .wrapper,
      .layout-boxed .wrapper .topnavbar-wrapper {
        width: 970px; }
    .layout-boxed.layout-fixed .wrapper .aside-container .aside-inner {
      left: inherit; } }

@media (min-width: 1200px) {
  .layout-boxed .wrapper,
  .layout-boxed .wrapper .topnavbar-wrapper {
    width: 1140px; } }

.sidebar-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 220px;
  z-index: 112; }
  .aside-collapsed .sidebar-backdrop {
    left: 70px; }
  .aside-collapsed-text .sidebar-backdrop {
    left: 90px; }

/* ========================================================================
   Component: layout-extra
 ========================================================================== */
.hidden-footer .wrapper .footer-container {
  display: none; }

.hidden-footer .wrapper .section-container {
  margin-bottom: 0 !important; }

.layout-fs .wrapper .section-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 60px;
  top: 115px;
  height: auto;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overflow: hidden; }
  .layout-fs .wrapper .section-container .content-wrapper {
    width: 100%;
    height: 100%;
    padding: 0; }
    .layout-fs .wrapper .section-container .content-wrapper > * {
      width: 100%;
      height: 100%; }

.layout-fs.hidden-footer .wrapper .section-container {
  bottom: 0; }

.layout-h .wrapper .section-container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto; }
  .layout-h .wrapper .section-container .content-wrapper .content-heading {
    display: none; }

.layout-h .wrapper .section-container {
  margin-top: 0; }

.layout-h .wrapper .offsidebar {
  margin-top: 115px; }

.layout-h .wrapper .footer-container {
  margin: 0; }

.layout-h.layout-fixed .wrapper .section-container,
.layout-h.layout-fixed .wrapper .offsidebar {
  margin-top: 115px; }

.aside-float .wrapper {
  box-shadow: 0 0 0 #000; }
  .aside-float .wrapper .footer-container {
    border: 0; }
  .aside-float .wrapper .aside-container {
    padding: 15px 0;
    background: transparent; }
    .aside-float .wrapper .aside-container .aside-inner {
      height: 100%;
      top: 15px;
      bottom: 15px;
      left: inherit; }
    .aside-float .wrapper .aside-container .sidebar {
      border: 1px solid #e4eaec; }
    .aside-float .wrapper .aside-container .sidebar:after {
      display: none; }
  @media (min-width: 768px) {
    .aside-float .wrapper .section-container {
      padding-left: 15px; }
    .aside-float .wrapper .footer-container {
      left: 15px; } }
  .aside-float .wrapper .content-wrapper {
    border: 0; }
    .aside-float .wrapper .content-wrapper .content-heading {
      padding-top: 30px;
      border: 0;
      background-color: transparent; }
    .aside-float .wrapper .content-wrapper .unwrap {
      margin: 0 !important; }

.aside-float.aside-toggled .wrapper .aside-container {
  transition: delay(0.05s); }
  .aside-float.aside-toggled .wrapper .aside-container .aside-inner {
    margin-left: 15px; }

.aside-float.aside-toggled .wrapper .section-container {
  padding-left: 15px; }

.aside-float.aside-toggled .wrapper .footer-container {
  left: 15px; }

@media (min-width: 768px) {
  .aside-float.aside-collapsed .topnavbar .navbar-header {
    width: 100px; }
  .aside-float.aside-collapsed-text .topnavbar .navbar-header {
    width: 120px; }
  .aside-float.layout-fs .wrapper .section-container .content-wrapper {
    padding: 0 0 0 20px; }
  .aside-float .wrapper .aside-container .aside-inner {
    margin-left: 15px; } }

@media (min-width: 992px) {
  .aside-float.layout-boxed .wrapper .aside-container .aside-inner {
    margin-left: 0; }
  .aside-float.layout-boxed .wrapper .section-container {
    padding-left: 0; } }

.aside-float.aside-toggled.layout-fs .wrapper .section-container .content-wrapper {
  padding: 0 0 0 20px; }

/* ========================================================================
   Component: layout-animation.less
 ========================================================================== */
.wrapper .aside-container {
  transition: width .2s cubic-bezier(0.35, 0, 0.25, 1), translate .2s cubic-bezier(0.35, 0, 0.25, 1); }
  @media screen and (prefers-reduced-motion: reduce) {
    .wrapper .aside-container {
      transition: none; } }

.aside-inner,
.navbar-header,
.sidebar > .sidebar-nav > li {
  transition: width 0.2s cubic-bezier(0.35, 0, 0.25, 1); }

.wrapper .section-container {
  transition: margin-left 0.2s cubic-bezier(0.35, 0, 0.25, 1); }

.sidebar > .sidebar-nav .badge {
  animation: fadeInRight 1s;
  animation-fill-mode: both; }

.aside-collapsed .sidebar > .sidebar-nav .badge,
.aside-collapsed-text .sidebar > .sidebar-nav .badge {
  animation: fadeIn 1s; }

.sidebar .sidebar-nav > li > a {
  animation: fadeInLeft .5s; }

.sidebar > .sidebar-nav > .nav-heading,
.sidebar > .sidebar-nav > li > a > span,
.navbar-brand .brand-logo {
  animation: fadeIn 1s; }

.sidebar li > a,
.sidebar li > .nav-item,
.sidebar > .sidebar-nav > .nav-heading {
  white-space: nowrap; }

.aside-collapsed .user-block-picture,
.aside-collapsed-text .user-block-picture {
  transition: width 0.2s cubic-bezier(0.35, 0, 0.25, 1); }

.aside-collapsed .user-block,
.aside-collapsed-text .user-block {
  transition: padding 0.2s cubic-bezier(0.35, 0, 0.25, 1); }

/* ========================================================================
     Component: top-navbar
 ========================================================================== */
.topnavbar {
  -webkit-backface-visibility: hidden;
  /* fixes chrome jump */
  margin-bottom: 0;
  border-radius: 0;
  z-index: 1050;
  border: 0;
  padding: 0;
  min-height: 55px;
  background-color: #eeeeee;
  background-image: linear-gradient(to right, #eeeeee 0%, #eeeeee 100%);
  background-repeat: repeat-x; }

.topnavbar {
  position: relative; }
  .topnavbar .navbar-header {
    background-color: transparent; }
  .topnavbar .navbar-header {
    position: relative;
    z-index: 11;
    padding-left: 2rem; }
    @media (min-width: 768px) {
      .topnavbar .navbar-header {
        padding: 0; } }
    .topnavbar .navbar-header .navbar-brand {
      padding: 0; }
    .topnavbar .navbar-header .brand-logo > img,
    .topnavbar .navbar-header .brand-logo-collapsed > img {
      margin: 0 auto; }
    .topnavbar .navbar-header .brand-logo {
      display: block;
      padding: 5px;
      padding-left: 15px;
      padding-bottom: 10px;
      width: 220px; }
      @media (min-width: 768px) {
        .topnavbar .navbar-header .brand-logo {
          width: 245px; } }
    .topnavbar .navbar-header .brand-logo-collapsed {
      display: none;
      padding: 6px 6px; }
  .topnavbar .dropdown {
    position: static; }
    .topnavbar .dropdown .dropdown-menu {
      position: absolute;
      margin-top: 0;
      top: auto;
      left: 0;
      right: 0; }
  @media (min-width: 992px) {
    .topnavbar .dropdown {
      position: relative; }
      .topnavbar .dropdown .dropdown-menu {
        top: 54px;
        left: 0;
        right: auto; }
      .topnavbar .dropdown .dropdown-menu-right {
        right: 0;
        left: auto; } }
  .topnavbar .navbar-brand {
    color: #e31b23; }
  .topnavbar .navbar-nav .navbar-text {
    color: #e31b23;
    margin: 0; }
  .topnavbar .navbar-nav > .nav-item {
    margin-top: auto;
    margin-bottom: auto; }
  .topnavbar .navbar-nav > .nav-item > .nav-link {
    padding: 1.1rem .95rem;
    font-size: .85rem; }
  .topnavbar .navbar-nav > .nav-item > .nav-link,
  .topnavbar .navbar-nav > .nav-item.show > .nav-link {
    color: #e31b23; }
    .topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,
    .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,
    .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {
      color: #881015; }
  .topnavbar .navbar-nav > .nav-item.active > .nav-link, .topnavbar .navbar-nav > .nav-item.active > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.active > .nav-link:focus,
  .topnavbar .navbar-nav > .nav-item.show > .nav-link,
  .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,
  .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {
    background-color: transparent; }
  .topnavbar .navbar-nav > li > [data-toggle='navbar-search'] {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
    font-size: 16px;
    line-height: 55px;
    color: #fff;
    padding-top: 0;
    padding-bottom: 0;
    transition: color 0.3s ease; }
    @media screen and (prefers-reduced-motion: reduce) {
      .topnavbar .navbar-nav > li > [data-toggle='navbar-search'] {
        transition: none; } }
    @media (min-width: 768px) {
      .topnavbar .navbar-nav > li > [data-toggle='navbar-search'] {
        color: #e31b23; } }
  @media (max-width: 767.98px) {
    .topnavbar .navbar-text {
      margin: 10px; } }

.layout-h .topnavbar .navbar-header {
  display: flex;
  width: 100%;
  padding: 0;
  text-align: left; }
  @media (min-width: 992px) {
    .layout-h .topnavbar .navbar-header {
      width: auto; } }
  .layout-h .topnavbar .navbar-header .navbar-brand {
    min-height: 55px; }

.layout-h .topnavbar .navbar-toggler {
  border: 0;
  margin-left: auto; }
  .layout-h .topnavbar .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,<svg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'><path stroke='rgba(255, 255, 255, 0.75)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/></svg>"); }

@media (max-width: 991.98px) {
  .layout-h .topnavbar .dropdown-menu {
    left: 0 !important;
    right: 0 !important; } }

.layout-h .topnavbar .navbar-form {
  left: 0; }

@media (max-width: 767.98px) {
  .sidebar-toggle {
    position: absolute !important;
    top: 2px;
    left: 0;
    z-index: 3001; } }

.topnavbar .navbar-form {
  position: absolute;
  top: -100%;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  height: 55px;
  z-index: 9001;
  transition: all .3s;
  border: 0;
  border-bottom: 1px solid #e1e2e3; }
  .topnavbar .navbar-form .form-group {
    height: 100%;
    width: 100%; }
  .topnavbar .navbar-form .form-control {
    height: 100%;
    border: 0;
    border-radius: 0;
    width: 100%; }
  .topnavbar .navbar-form.open {
    top: 0; }
  .topnavbar .navbar-form .navbar-form-close {
    position: absolute;
    height: 30px;
    cursor: pointer;
    top: 50%;
    right: 0;
    margin-top: -15px;
    line-height: 30px;
    margin-right: 10px;
    color: #c1c2c3;
    font-size: 1.5em;
    pointer-events: auto; }

@media (min-width: 576px) {
  .topnavbar .navbar-form {
    left: 220px; } }

@media (min-width: 992px) {
  .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {
    box-shadow: 0 -3px 0 #dfdfdf inset;
    transition: all 0.2s; } }
  @media screen and (min-width: 992px) and (prefers-reduced-motion: reduce) {
    .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {
      transition: none; } }

@media (min-width: 768px) {
  .aside-collapsed .topnavbar .navbar-header .brand-logo {
    display: none; }
  .aside-collapsed .topnavbar .navbar-header .brand-logo-collapsed {
    display: block; }
  .aside-collapsed .topnavbar .navbar-header {
    width: 70px; }
  .aside-collapsed .topnavbar .navbar-form {
    left: 70px; } }

@media (min-width: 768px) {
  .aside-collapsed-text .topnavbar .navbar-header .brand-logo {
    display: none; }
  .aside-collapsed-text .topnavbar .navbar-header .brand-logo-collapsed {
    display: block; }
  .aside-collapsed-text .topnavbar .navbar-header {
    width: 90px; }
  .aside-collapsed-text .topnavbar .navbar-form {
    left: 90px; } }

/* ========================================================================
     Component: sidebar
 ========================================================================== */
.sidebar {
  height: 100%;
  padding-bottom: 20px;
  background-color: #fff;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  .sidebar:after {
    content: "";
    background: rgba(0, 0, 0, 0.15);
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1px;
    -webkit-transform: translateZ(0px); }
  .sidebar .nav-heading {
    padding: 12px 15px;
    color: #919DA8;
    font-size: 13px;
    letter-spacing: .035em;
    pointer-events: none;
    cursor: default; }

.sidebar-nav {
  position: relative;
  font-size: 14px;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }
  .sidebar-nav > .nav-heading:first-child {
    padding-top: 20px; }
  .sidebar-nav > li {
    display: block;
    border-left: 3px solid transparent;
    transition: border-left-color 0.4s ease; }
    @media screen and (prefers-reduced-motion: reduce) {
      .sidebar-nav > li {
        transition: none; } }
    .sidebar-nav > li > a,
    .sidebar-nav > li > .nav-item {
      position: relative;
      display: block;
      padding: 12px 24px;
      color: #515253;
      letter-spacing: .025em;
      font-weight: normal;
      cursor: pointer; }
      .sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover,
      .sidebar-nav > li > .nav-item:focus,
      .sidebar-nav > li > .nav-item:hover {
        text-decoration: none;
        outline: none;
        color: #e31b23; }
      .sidebar-nav > li > a > em,
      .sidebar-nav > li > .nav-item > em {
        width: 1.8em;
        display: inline-block;
        font-style: normal;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        color: inherits; }
    .sidebar-nav > li.active,
    .sidebar-nav > li.active > a,
    .sidebar-nav > li.active > .nav-item,
    .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open,
    .sidebar-nav > li.open > a,
    .sidebar-nav > li.open > .nav-item,
    .sidebar-nav > li.open .sidebar-nav {
      background-color: #fcfcfc;
      color: #e31b23; }
    .sidebar-nav > li.active > .nav-item > em,
    .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em,
    .sidebar-nav > li.open > a > em {
      color: #e31b23; }
    .sidebar-nav > li.active {
      border-left-color: #e31b23; }
  .sidebar-nav .badge {
    display: block; }

@media only screen and (min-width: 1025px) {
  .sidebar:not(.show-scrollbar) {
    margin-right: -17px;
    overflow-y: scroll; } }

.sidebar-subnav {
  background-color: #fff; }
  .sidebar-subnav > .sidebar-subnav-header {
    color: #515253;
    display: none;
    padding: 10px 20px;
    font-weight: bold; }
  .sidebar-subnav > li {
    border-left: 0 !important; }
    .sidebar-subnav > li > a,
    .sidebar-subnav > li > .nav-item {
      display: block;
      position: relative;
      padding: 10px 20px;
      padding-left: 53px;
      font-weight: normal;
      background-color: transparent !important;
      color: #515253; }
      .sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover,
      .sidebar-subnav > li > .nav-item:focus,
      .sidebar-subnav > li > .nav-item:hover {
        color: #e31b23; }
      .sidebar-subnav > li > a > em,
      .sidebar-subnav > li > .nav-item > em {
        display: inline-block;
        width: 1.8em;
        margin: 0 0 0 -2em; }
    .sidebar-subnav > li.active > a,
    .sidebar-subnav > li.active > .nav-item {
      color: #e31b23; }
      .sidebar-subnav > li.active > a:after,
      .sidebar-subnav > li.active > .nav-item:after {
        border-color: #e31b23;
        background-color: #e31b23; }
    .sidebar-subnav > li .sidebar-nav > li {
      padding-left: 5px; }
  .sidebar-subnav.nav-floating {
    border: 1px solid rgba(0, 0, 0, 0.15);
    margin-left: -1px; }
    .sidebar-subnav.nav-floating,
    .sidebar-subnav.nav-floating .collapse, .sidebar-subnav.nav-floating .sidebar-subnav {
      height: auto !important;
      display: block !important;
      visibility: visible !important; }
      .sidebar-subnav.nav-floating.opening,
      .sidebar-subnav.nav-floating .collapse.opening, .sidebar-subnav.nav-floating .sidebar-subnav.opening {
        animation: none !important; }
    .sidebar-subnav.nav-floating > .sidebar-subnav-header {
      display: block; }
    .sidebar-subnav.nav-floating li > a,
    .sidebar-subnav.nav-floating li > .nav-item {
      padding-left: 20px; }
      .sidebar-subnav.nav-floating li > a em,
      .sidebar-subnav.nav-floating li > .nav-item em {
        margin-left: 0; }

@media (min-width: 768px) {
  .sidebar > .sidebar-nav .badge {
    margin: 2px 0 0 0; } }

.aside-collapsed .sidebar,
.aside-collapsed-text .sidebar {
  overflow-x: hidden; }
  .aside-collapsed .sidebar > .sidebar-nav .sidebar-nav,
  .aside-collapsed .sidebar > .sidebar-nav > .nav-heading,
  .aside-collapsed .sidebar > .sidebar-nav > li > .nav-item > span,
  .aside-collapsed .sidebar > .sidebar-nav > li > a > span,
  .aside-collapsed-text .sidebar > .sidebar-nav .sidebar-nav,
  .aside-collapsed-text .sidebar > .sidebar-nav > .nav-heading,
  .aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item > span,
  .aside-collapsed-text .sidebar > .sidebar-nav > li > a > span {
    display: none !important; }
  .aside-collapsed .sidebar > .sidebar-nav > li,
  .aside-collapsed-text .sidebar > .sidebar-nav > li {
    width: 69px; }
    .aside-collapsed .sidebar > .sidebar-nav > li > a,
    .aside-collapsed .sidebar > .sidebar-nav > li > .nav-item,
    .aside-collapsed-text .sidebar > .sidebar-nav > li > a,
    .aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item {
      text-indent: -3px;
      padding: 20px 0;
      text-align: center; }
      .aside-collapsed .sidebar > .sidebar-nav > li > a > em,
      .aside-collapsed .sidebar > .sidebar-nav > li > .nav-item > em,
      .aside-collapsed-text .sidebar > .sidebar-nav > li > a > em,
      .aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item > em {
        font-size: 1.6em;
        width: auto; }
      .aside-collapsed .sidebar > .sidebar-nav > li > a:focus,
      .aside-collapsed .sidebar > .sidebar-nav > li > .nav-item:focus,
      .aside-collapsed-text .sidebar > .sidebar-nav > li > a:focus,
      .aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item:focus {
        background-color: transparent; }
        .aside-collapsed .sidebar > .sidebar-nav > li > a:focus > em,
        .aside-collapsed .sidebar > .sidebar-nav > li > .nav-item:focus > em,
        .aside-collapsed-text .sidebar > .sidebar-nav > li > a:focus > em,
        .aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item:focus > em {
          color: inherit; }
  .aside-collapsed .sidebar .sidebar-nav .badge,
  .aside-collapsed-text .sidebar .sidebar-nav .badge {
    position: absolute;
    top: 10px;
    right: 5px;
    text-indent: 0; }

.aside-collapsed-text .sidebar > .sidebar-nav > li > .nav-item > span,
.aside-collapsed-text .sidebar > .sidebar-nav > li > a > span {
  display: block !important;
  font-size: 12px; }

.aside-collapsed-text .sidebar > .sidebar-nav > li {
  width: 88px; }
  .aside-collapsed-text .sidebar > .sidebar-nav > li > a {
    padding: 14px 0; }
    .aside-collapsed-text .sidebar > .sidebar-nav > li > a > em {
      font-size: 1.4em; }

/* ========================================================================
     Component: offsidebar
 ========================================================================== */
.offsidebar {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 235px;
  margin-top: 55px;
  border-left: 1px solid #cccccc;
  background-color: #fff;
  color: #656565;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: -1; }
  .offsidebar > .list-group {
    min-height: 100%;
    overflow: hidden;
    -webkit-transform: translateZ(0px); }
  .offsidebar .progress {
    border: 0; }
  .offsidebar .tab-content {
    padding: 0;
    border: 0; }
  .offsidebar .nav-tabs {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
    .offsidebar .nav-tabs > .nav-item > .nav-link {
      background-color: transparent;
      border: 0;
      border-right: 1px solid rgba(0, 0, 0, 0.05);
      border-radius: 0;
      color: #909FA7; }
      .offsidebar .nav-tabs > .nav-item > .nav-link.active {
        color: #5d9cec; }
  @media (min-width: 768px) {
    .offsidebar {
      margin-top: 55px; } }

.offsidebar-open .offsidebar {
  overflow-y: auto;
  z-index: 116; }

@media (min-width: 768px) {
  .offsidebar-open {
    overflow-y: auto; } }

.offsidebar {
  right: -235px; }

.no-csstransforms3d .offsidebar-open .offsidebar {
  right: 0; }

/* Transformation ready devices*/
.csstransforms3d .offsidebar {
  right: 0;
  transform: translate3d(235px, 0, 0);
  transition: transform .3s ease, z-index 0s linear .3s; }

.csstransforms3d .offsidebar-open .offsidebar {
  transform: translate3d(0, 0, 0);
  transition: transform .3s ease; }

/* ========================================================================
     Component: user-block
 ========================================================================== */
.has-user-block {
  display: block;
  overflow: hidden;
  border: 0 !important; }

.user-block {
  position: relative;
  padding: 25px 0 10px;
  cursor: pointer; }
  .user-block::after {
    display: block;
    clear: both;
    content: ""; }
  .user-block > .user-block-picture {
    position: relative;
    width: 60px;
    margin: 0 auto; }
    .user-block > .user-block-picture > img {
      max-width: 100%;
      height: auto; }
  .user-block .user-block-info {
    padding-top: 15px;
    text-align: center;
    white-space: nowrap; }
    .user-block .user-block-info .user-block-name, .user-block .user-block-info .user-block-role {
      display: block; }
    .user-block .user-block-info .user-block-name {
      color: #7D848F; }
    .user-block .user-block-info .user-block-role {
      font-size: 12px;
      color: #aaa; }

.user-block-status {
  position: relative; }
  .user-block-status > .circle {
    position: absolute;
    bottom: 0;
    right: 0;
    border: 2px solid #fff; }

.aside-collapsed .user-block,
.aside-collapsed-text .user-block {
  padding: 15px 0 14px;
  margin: 0;
  text-align: center; }
  .aside-collapsed .user-block > .user-block-picture, .aside-collapsed-text .user-block > .user-block-picture {
    float: none;
    margin: 0  auto;
    width: 50px; }
    .aside-collapsed .user-block > .user-block-picture > .user-block-status, .aside-collapsed-text .user-block > .user-block-picture > .user-block-status {
      display: block; }
  .aside-collapsed .user-block .user-block-info, .aside-collapsed-text .user-block .user-block-info {
    display: none; }

.setting-color {
  padding: 0 5px; }
  .setting-color > label {
    display: block;
    position: relative;
    margin: 0 10px;
    border-radius: 3px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer; }
    .setting-color > label:first-child {
      margin-left: 0; }
    .setting-color > label:last-child {
      margin-right: 0; }
    .setting-color > label > .color {
      display: block;
      height: 18px; }
    .setting-color > label > .split {
      display: block; }
      .setting-color > label > .split::after {
        display: block;
        clear: both;
        content: ""; }
      .setting-color > label > .split > .color {
        display: block;
        height: 37.5px; }
        .setting-color > label > .split > .color:first-child {
          float: left;
          width: 70%; }
        .setting-color > label > .split > .color:last-child {
          float: right;
          width: 30%; }
    .setting-color > label > .icon-check {
      position: absolute;
      display: block;
      left: 50%;
      top: 50%;
      width: 20px;
      height: 20px;
      margin-top: -20px;
      margin-left: -10px;
      text-align: center;
      font-size: 1.33333333em;
      vertical-align: -15%;
      color: #fff;
      opacity: 0; }
    .setting-color > label > input[type="radio"] {
      position: absolute;
      opacity: 0;
      visibility: hidden; }
      .setting-color > label > input[type="radio"]:checked + .icon-check {
        opacity: 1 !important; }

/* ========================================================================
     Component: typo
 ========================================================================== */
body {
  font-family: "Source Sans Pro", sans-serif;
  color: #656565;
  font-size: 0.875rem; }

h1, h2, h3, h4 {
  font-weight: bold; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.65625rem; }

h1, .h1 {
  font-size: 2.25rem; }

h2, .h2 {
  font-size: 1.875rem; }

h3, .h3 {
  font-size: 1.5rem; }

h4, .h4 {
  font-size: 1.125rem; }

h5, .h5 {
  font-size: .875rem; }

h6, .h6 {
  font-size: 1rem; }

p {
  margin-bottom: .65rem; }

/* ========================================================================
     Component: bootstrap-reset
 ========================================================================== */
*:focus {
  outline: 0 !important; }

a {
  outline: none !important; }
  a.text-muted:hover, a.text-muted:focus {
    color: #748690; }

hr {
  border-top: 1px solid #e4eaec; }

[data-now] {
  display: inline-block; }

.badge {
  padding: 0.1875rem 0.4375rem;
  font-size: 0.75rem;
  border-radius: 0.625rem; }
  .badge.badge-warning {
    color: #fff !important; }
  .badge.badge-secondary {
    background-color: #3a3f51;
    color: #fff; }

.list-group {
  line-height: 1.3; }
  .list-group .list-group-item {
    padding: 10px;
    color: #555; }
    .list-group .list-group-item.active {
      color: #fff; }
      .list-group .list-group-item.active .badge {
        background-color: #fff;
        color: #5d9cec; }
    .card > .list-group .list-group-item {
      border: 0; }

.list-group + .card-footer {
  border-top: 0; }

.page-header {
  padding-bottom: 0.59375rem;
  margin: 2.625rem 0 1.3125rem;
  border-bottom: 1px solid #e4eaec; }

.card {
  border-color: transparent;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }
  .card .card-header {
    border-bottom: 0;
    padding: 0.625rem 0.9375rem;
    background-color: transparent; }
    .card .card-header .card-title {
      margin-bottom: 0;
      font-size: 1rem; }
    .card .card-header a {
      text-decoration: none !important; }
  .card .card-body {
    padding: 0.9375rem; }
  .card .card-footer {
    padding: 0.625rem 0.9375rem; }

.card-default {
  border-top-width: 3px;
  border-color: #cfdbe2; }
  .card-default .card-header {
    background-color: #fff; }

.well {
  border: 1px solid #dde6e9; }

.jumbotron {
  border: 1px solid #dde6e9;
  background-color: #fff; }
  @media (min-width: 768px) {
    .jumbotron {
      padding: 2rem 1rem; } }

.nav-tabs > .nav-item > .nav-link {
  font-weight: bold;
  color: #656565;
  background-color: #edf1f2;
  margin: 0;
  border: 1px solid #dde6e9;
  border-radius: 0;
  padding: 10px 20px; }
  .nav-tabs > .nav-item > .nav-link.active {
    background-color: #fff; }
    .nav-tabs > .nav-item > .nav-link.active, .nav-tabs > .nav-item > .nav-link.active:hover, .nav-tabs > .nav-item > .nav-link.active:focus {
      color: inherit;
      border-bottom-color: #fff; }

.tab-content {
  padding: 10px 20px;
  border-style: solid;
  border-width: 0 1px 1px 1px;
  border-color: #dde6e9; }
  .nav-pills + .tab-content {
    border: 0;
    padding: 0; }
  .p-0 .tab-content {
    padding: 0 !important; }

.btn {
  border-radius: 3px;
  font-size: 13px;
  -webkit-appearance: none;
  outline: none !important;
  transition: all 0.1s; }
  @media screen and (prefers-reduced-motion: reduce) {
    .btn {
      transition: none; } }
  .btn.btn-link {
    box-shadow: none;
    border: 0; }
  .input-group .btn {
    font-size: 14px;
    border-color: #dde6e9; }
  .input-group .form-control-sm + .input-group-btn .btn {
    font-size: 0.8125rem;
    padding: 0.3125rem 0.625rem;
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }

.btn.btn-warning {
  color: #fff; }

.btn.btn-outline-warning:hover, .btn.btn-outline-warning:focus, .btn.btn-outline-warning:active {
  color: #fff; }

.btn-secondary, .calendar-app .fc-button {
  background-color: #fff;
  border-color: #eaeaea;
  color: #333; }
  .btn-secondary:hover, .calendar-app .fc-button:hover {
    background-color: #f5f5f5; }
  .btn-secondary:not(:disabled):not(.disabled):active, .calendar-app .fc-button:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .calendar-app .fc-button:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle,
  .calendar-app .show > .dropdown-toggle.fc-button {
    background-color: #f5f5f5;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }

.btn-outline-secondary {
  border-color: #eaeaea !important;
  color: #333; }
  .btn-outline-secondary:hover {
    color: #333;
    background-color: #f5f5f5 !important; }
  .btn-outline-secondary:focus {
    box-shadow: 0 0 0 0.2rem rgba(234, 234, 234, 0.5); }

span.btn {
  -webkit-appearance: none !important; }

.form-control {
  box-shadow: 0 0 0 #000 !important;
  font-size: 0.875rem; }
  .form-control:focus {
    border-color: #66afe9; }

.form-control-sm,
select.form-control-sm {
  font-size: .75rem;
  height: 31px; }

.custom-select {
  -webkit-appearance: none; }

.custom-control-label::before {
  top: 0.19rem;
  border: 1px solid #dde6e9; }

fieldset {
  padding-bottom: 20px;
  border-bottom: 1px dashed #eee;
  margin-bottom: 20px; }
  fieldset.last-child, fieldset:last-child {
    border-bottom: 0; }
  fieldset .form-group {
    margin-bottom: 0; }

.input-group-text {
  font-size: .875rem; }

@media (max-width: 767.98px) {
  input[type="text"],
  input[type="email"],
  input[type="search"],
  input[type="password"] {
    -webkit-appearance: none; } }

.table-responsive {
  overflow-y: hidden; }

.table > thead > tr > th {
  border-bottom-width: 0; }

.table > tbody + tbody {
  border-bottom-width: 1px; }

.table .form-control {
  max-width: 100%; }

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 1px; }

.progress {
  border-radius: 0.2rem;
  border: 1px solid #e9ecef;
  background-color: #fff; }

.popover {
  box-shadow: 0 0 0 #000;
  border-color: #eee;
  border-bottom: 2px solid #e4eaec;
  border-radius: 0.2rem; }
  .popover .popover-title {
    border: 0; }

.nav.nav-pills .active > a {
  background-color: #5d9cec; }

.dropdown-menu {
  border-radius: 0.2rem;
  font-size: 14px;
  padding: 0.3125rem 0;
  box-shadow: rgba(0, 0, 0, 0.176) 0px 6px 12px;
  border-color: #e1e1e1; }
  .dropdown-menu .dropdown-item {
    line-height: 1.52857143;
    padding: 0.1875rem 1.25rem; }

.dropdown-header {
  color: #a1a2a3; }

.navbar-top .navbar-nav > .active > a {
  color: #999; }
  .navbar-top .navbar-nav > .active > a:hover, .navbar-top .navbar-nav > .active > a:focus {
    color: #d1d2d3; }

.navbar-default .navbar-nav .open .dropdown-menu > li > a {
  color: #666; }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #222; }

.carousel .carousel-indicators {
  bottom: 0; }

.carousel .carousel-control.left, .carousel .carousel-control.right {
  background-image: none; }

.carousel .carousel-control em {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px; }

.alert-primary {
  color: #fff;
  background-color: #5d9cec;
  border-color: #5d9cec; }
  .alert-primary hr {
    border-top-color: #468ee9; }
  .alert-primary .alert-link {
    color: #e6e6e6; }

.alert-secondary {
  color: #fff;
  background-color: #fff;
  border-color: #fff; }
  .alert-secondary hr {
    border-top-color: #f2f2f2; }
  .alert-secondary .alert-link {
    color: #e6e6e6; }

.alert-success {
  color: #fff;
  background-color: #27c24c;
  border-color: #27c24c; }
  .alert-success hr {
    border-top-color: #23ad44; }
  .alert-success .alert-link {
    color: #e6e6e6; }

.alert-info {
  color: #fff;
  background-color: #23b7e5;
  border-color: #23b7e5; }
  .alert-info hr {
    border-top-color: #19a9d5; }
  .alert-info .alert-link {
    color: #e6e6e6; }

.alert-warning {
  color: #fff;
  background-color: #ff902b;
  border-color: #ff902b; }
  .alert-warning hr {
    border-top-color: #ff8312; }
  .alert-warning .alert-link {
    color: #e6e6e6; }

.alert-danger {
  color: #fff;
  background-color: #f05050;
  border-color: #f05050; }
  .alert-danger hr {
    border-top-color: #ee3939; }
  .alert-danger .alert-link {
    color: #e6e6e6; }

.topnavbar,
.navbar,
.navbar .dropdown-menu {
  filter: none !important; }

/* ========================================================================
     Component: bootstrap-custom
 ========================================================================== */
.container-sm {
  max-width: 540px;
  width: auto; }

.container-md {
  max-width: 720px;
  width: auto; }

.container-lg {
  max-width: 960px;
  width: auto; }

.row-flush {
  margin: 0; }
  .row-flush > .col,
  .row-flush > [class*="col-"] {
    padding-left: 0;
    padding-right: 0; }

.breadcrumb {
  font-weight: normal;
  border-radius: 0;
  color: #909FA7;
  padding: 10px 20px; }

.content-heading .breadcrumb {
  font-size: 0.8125rem;
  margin-bottom: 0; }

.content-heading + .breadcrumb {
  margin: -25px -25px 20px -20px;
  background-color: #fafbfc;
  border-top: 1px solid #cfdbe2;
  border-bottom: 1px solid #cfdbe2; }

.progress-sm {
  height: 15px; }

.progress-xs {
  height: 8px; }

.badge-inverse {
  color: #fff;
  background-color: #131e26; }
  .badge-inverse[href]:hover, .badge-inverse[href]:focus {
    color: #fff;
    text-decoration: none;
    background-color: #020304; }

.badge-green {
  color: #fff;
  background-color: #37bc9b; }
  .badge-green[href]:hover, .badge-green[href]:focus {
    color: #fff;
    text-decoration: none;
    background-color: #2b957a; }

.badge-pink {
  color: #fff;
  background-color: #f532e5; }
  .badge-pink[href]:hover, .badge-pink[href]:focus {
    color: #fff;
    text-decoration: none;
    background-color: #e90bd6; }

.badge-purple {
  color: #fff;
  background-color: #7266ba; }
  .badge-purple[href]:hover, .badge-purple[href]:focus {
    color: #fff;
    text-decoration: none;
    background-color: #564aa3; }

.alert-purple {
  color: #fff;
  background-color: #7266ba;
  border-color: #7266ba; }
  .alert-purple hr {
    border-top-color: #6254b2; }
  .alert-purple .alert-link {
    color: #e6e6e6; }

.alert-green {
  color: #fff;
  background-color: #37bc9b;
  border-color: #37bc9b; }
  .alert-green hr {
    border-top-color: #31a88b; }
  .alert-green .alert-link {
    color: #e6e6e6; }

.alert-pink {
  color: #fff;
  background-color: #f532e5;
  border-color: #f532e5; }
  .alert-pink hr {
    border-top-color: #f41ae2; }
  .alert-pink .alert-link {
    color: #e6e6e6; }

.alert-inverse {
  color: #fff;
  background-color: #131e26;
  border-color: #131e26; }
  .alert-inverse hr {
    border-top-color: #0b1115; }
  .alert-inverse .alert-link {
    color: #e6e6e6; }

.form-control-rounded {
  border-radius: 100px; }

/* ========================================================================
     Component: button-extra
 ========================================================================== */
.btn-inverse {
  color: #fff;
  background-color: #131e26;
  border-color: #131e26; }
  .btn-inverse:hover {
    color: #fff;
    background-color: #060a0d;
    border-color: #020304; }
  .btn-inverse:focus, .btn-inverse.focus {
    box-shadow: 0 0 0 0.2rem rgba(19, 30, 38, 0.5); }
  .btn-inverse.disabled, .btn-inverse:disabled {
    color: #fff;
    background-color: #131e26;
    border-color: #131e26; }
  .btn-inverse:not(:disabled):not(.disabled):active, .btn-inverse:not(:disabled):not(.disabled).active,
  .show > .btn-inverse.dropdown-toggle {
    color: #fff;
    background-color: #020304;
    border-color: black; }
    .btn-inverse:not(:disabled):not(.disabled):active:focus, .btn-inverse:not(:disabled):not(.disabled).active:focus,
    .show > .btn-inverse.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(19, 30, 38, 0.5); }

.btn-green {
  color: #fff;
  background-color: #37bc9b;
  border-color: #37bc9b; }
  .btn-green:hover {
    color: #fff;
    background-color: #2e9e83;
    border-color: #2b957a; }
  .btn-green:focus, .btn-green.focus {
    box-shadow: 0 0 0 0.2rem rgba(55, 188, 155, 0.5); }
  .btn-green.disabled, .btn-green:disabled {
    color: #fff;
    background-color: #37bc9b;
    border-color: #37bc9b; }
  .btn-green:not(:disabled):not(.disabled):active, .btn-green:not(:disabled):not(.disabled).active,
  .show > .btn-green.dropdown-toggle {
    color: #fff;
    background-color: #2b957a;
    border-color: #298b72; }
    .btn-green:not(:disabled):not(.disabled):active:focus, .btn-green:not(:disabled):not(.disabled).active:focus,
    .show > .btn-green.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(55, 188, 155, 0.5); }

.btn-purple {
  color: #fff;
  background-color: #7266ba;
  border-color: #7266ba; }
  .btn-purple:hover {
    color: #fff;
    background-color: #5b4eac;
    border-color: #564aa3; }
  .btn-purple:focus, .btn-purple.focus {
    box-shadow: 0 0 0 0.2rem rgba(114, 102, 186, 0.5); }
  .btn-purple.disabled, .btn-purple:disabled {
    color: #fff;
    background-color: #7266ba;
    border-color: #7266ba; }
  .btn-purple:not(:disabled):not(.disabled):active, .btn-purple:not(:disabled):not(.disabled).active,
  .show > .btn-purple.dropdown-toggle {
    color: #fff;
    background-color: #564aa3;
    border-color: #52469b; }
    .btn-purple:not(:disabled):not(.disabled):active:focus, .btn-purple:not(:disabled):not(.disabled).active:focus,
    .show > .btn-purple.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(114, 102, 186, 0.5); }

.btn-pink {
  color: #fff;
  background-color: #f532e5;
  border-color: #f532e5; }
  .btn-pink:hover {
    color: #fff;
    background-color: #f30ee0;
    border-color: #e90bd6; }
  .btn-pink:focus, .btn-pink.focus {
    box-shadow: 0 0 0 0.2rem rgba(245, 50, 229, 0.5); }
  .btn-pink.disabled, .btn-pink:disabled {
    color: #fff;
    background-color: #f532e5;
    border-color: #f532e5; }
  .btn-pink:not(:disabled):not(.disabled):active, .btn-pink:not(:disabled):not(.disabled).active,
  .show > .btn-pink.dropdown-toggle {
    color: #fff;
    background-color: #e90bd6;
    border-color: #dc0bcb; }
    .btn-pink:not(:disabled):not(.disabled):active:focus, .btn-pink:not(:disabled):not(.disabled).active:focus,
    .show > .btn-pink.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(245, 50, 229, 0.5); }

.btn-flat {
  border-bottom-width: 1px;
  border-radius: 0;
  box-shadow: 0 0 0 #000; }

.btn-xs {
  padding: 0.0625rem 0.3125rem;
  font-size: 0.8125rem;
  line-height: 1.5; }

.btn-xl {
  padding: 20px 16px;
  font-size: 18px; }

.btn-square {
  border-radius: 0; }

.btn-pill-left, .btn-oval {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  padding-left: 18px; }

.btn-pill-right, .btn-oval {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  padding-right: 18px; }

.btn-labeled {
  padding-top: 0;
  padding-bottom: 0; }

.btn-label {
  position: relative;
  background: transparent;
  background: rgba(0, 0, 0, 0.05);
  display: inline-block;
  padding: 0.375rem 1rem;
  left: -1rem;
  border-radius: 0.25rem 0 0 0.25rem; }
  .btn-label.btn-label-right {
    left: auto;
    right: -1rem;
    border-radius: 0 0.25rem 0.25rem 0; }

.btn-lg .btn-label {
  padding: 0.625rem 1.25rem;
  left: -1.25rem;
  border-radius: 0.375rem 0 0 0.375rem; }
  .btn-lg .btn-label.btn-label-right {
    left: auto;
    right: -1.25rem;
    border-radius: 0 0.375rem 0.375rem 0; }

.btn-sm .btn-label, .calendar-app .fc-button .btn-label {
  padding: 0.3125rem 0.625rem;
  left: -0.625rem;
  border-radius: 0.2rem 0 0 0.2rem; }
  .btn-sm .btn-label.btn-label-right, .calendar-app .fc-button .btn-label.btn-label-right {
    left: auto;
    right: -0.625rem;
    border-radius: 0 0.2rem 0.2rem 0; }

.btn-xs .btn-label {
  padding: 1px 5px;
  left: -5px;
  border-radius: 0.2rem 0 0 0.2rem; }
  .btn-xs .btn-label.btn-label-right {
    left: auto;
    right: -5px;
    border-radius: 0 0.2rem 0.2rem 0; }

.btn-fw {
  min-width: 80px; }
  .btn-fw.btn-sm, .calendar-app .btn-fw.fc-button {
    min-width: 40px; }
  .btn-fw.btn-md {
    min-width: 60px; }
  .btn-fw.btn-lg {
    min-width: 140px; }

.btn-circle {
  width: 35px;
  height: 35px;
  text-align: center;
  font-size: 12px;
  line-height: 35px;
  border-radius: 500px;
  padding: 0;
  border: 0; }
  .btn-circle > * {
    line-height: inherit !important; }
  .btn-circle.btn-lg {
    width: 50px;
    height: 50px;
    font-size: 18px;
    line-height: 50px; }

.btn-outline-inverse {
  color: #131e26;
  background-color: transparent;
  background-image: none;
  border-color: #131e26; }
  .btn-outline-inverse:hover {
    color: #fff;
    background-color: #131e26;
    border-color: #131e26; }
  .btn-outline-inverse:focus, .btn-outline-inverse.focus {
    box-shadow: 0 0 0 0.2rem rgba(19, 30, 38, 0.5); }
  .btn-outline-inverse.disabled, .btn-outline-inverse:disabled {
    color: #131e26;
    background-color: transparent; }
  .btn-outline-inverse:not(:disabled):not(.disabled):active, .btn-outline-inverse:not(:disabled):not(.disabled).active,
  .show > .btn-outline-inverse.dropdown-toggle {
    color: #fff;
    background-color: #131e26;
    border-color: #131e26; }
    .btn-outline-inverse:not(:disabled):not(.disabled):active:focus, .btn-outline-inverse:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-inverse.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(19, 30, 38, 0.5); }

.btn-outline-green {
  color: #37bc9b;
  background-color: transparent;
  background-image: none;
  border-color: #37bc9b; }
  .btn-outline-green:hover {
    color: #fff;
    background-color: #37bc9b;
    border-color: #37bc9b; }
  .btn-outline-green:focus, .btn-outline-green.focus {
    box-shadow: 0 0 0 0.2rem rgba(55, 188, 155, 0.5); }
  .btn-outline-green.disabled, .btn-outline-green:disabled {
    color: #37bc9b;
    background-color: transparent; }
  .btn-outline-green:not(:disabled):not(.disabled):active, .btn-outline-green:not(:disabled):not(.disabled).active,
  .show > .btn-outline-green.dropdown-toggle {
    color: #fff;
    background-color: #37bc9b;
    border-color: #37bc9b; }
    .btn-outline-green:not(:disabled):not(.disabled):active:focus, .btn-outline-green:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-green.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(55, 188, 155, 0.5); }

.btn-outline-purple {
  color: #7266ba;
  background-color: transparent;
  background-image: none;
  border-color: #7266ba; }
  .btn-outline-purple:hover {
    color: #fff;
    background-color: #7266ba;
    border-color: #7266ba; }
  .btn-outline-purple:focus, .btn-outline-purple.focus {
    box-shadow: 0 0 0 0.2rem rgba(114, 102, 186, 0.5); }
  .btn-outline-purple.disabled, .btn-outline-purple:disabled {
    color: #7266ba;
    background-color: transparent; }
  .btn-outline-purple:not(:disabled):not(.disabled):active, .btn-outline-purple:not(:disabled):not(.disabled).active,
  .show > .btn-outline-purple.dropdown-toggle {
    color: #fff;
    background-color: #7266ba;
    border-color: #7266ba; }
    .btn-outline-purple:not(:disabled):not(.disabled):active:focus, .btn-outline-purple:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-purple.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(114, 102, 186, 0.5); }

.btn-outline-pink {
  color: #f532e5;
  background-color: transparent;
  background-image: none;
  border-color: #f532e5; }
  .btn-outline-pink:hover {
    color: #fff;
    background-color: #f532e5;
    border-color: #f532e5; }
  .btn-outline-pink:focus, .btn-outline-pink.focus {
    box-shadow: 0 0 0 0.2rem rgba(245, 50, 229, 0.5); }
  .btn-outline-pink.disabled, .btn-outline-pink:disabled {
    color: #f532e5;
    background-color: transparent; }
  .btn-outline-pink:not(:disabled):not(.disabled):active, .btn-outline-pink:not(:disabled):not(.disabled).active,
  .show > .btn-outline-pink.dropdown-toggle {
    color: #fff;
    background-color: #f532e5;
    border-color: #f532e5; }
    .btn-outline-pink:not(:disabled):not(.disabled):active:focus, .btn-outline-pink:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-pink.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(245, 50, 229, 0.5); }

/* ========================================================================
     Component: placeholder
 ========================================================================== */
.box-placeholder {
  margin-bottom: 15px;
  padding: 20px;
  border: 1px dashed #ddd;
  background: #fafafa;
  color: #444; }

.box-placeholder > :last-child {
  margin-bottom: 0; }

.box-placeholder-lg {
  padding-top: 80px;
  padding-bottom: 80px; }

/* ========================================================================
     Component: cards
 ========================================================================== */
.card {
  margin-bottom: 1.25rem; }

.card .table {
  margin-bottom: 0; }
  .card .table > thead > tr > th {
    border-top: 0; }

.card.card-transparent {
  border: 0;
  background-color: transparent;
  box-shadow: 0 0 0 #000; }
  .card.card-transparent .card-header,
  .card.card-transparent .card-body {
    background-color: transparent;
    padding-left: 0;
    padding-right: 0; }

.card-flat {
  margin: 0 !important;
  border: 0; }

.card-columns-2 {
  column-count: 1; }
  @media (min-width: 768px) {
    .card-columns-2 {
      column-count: 2; } }

.card-header > a[data-tool] {
  display: inline-block;
  color: #fff;
  width: 2em;
  text-align: center; }

.card-default .card-header > a[data-tool] {
  color: #c1c2c3; }

.card-header > .badge.float-right {
  margin-top: 3px; }
  .card-header > .badge.float-right + .badge.float-right {
    margin-right: 10px; }

.card-footer .pagination {
  margin: 0; }

.card-footer .radial-bar {
  margin-bottom: 0; }

.card-footer p {
  margin-bottom: 0; }

/* ========================================================================
     Component: circles
 ========================================================================== */
.circle {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 500px;
  margin: 0 .5em;
  background-color: #ddd;
  vertical-align: baseline;
  border: 2px solid transparent; }
  .circle.text-left {
    margin-left: 0; }
  .circle.text-right {
    margin-right: 0; }

.circle-sm {
  width: 5px;
  height: 5px; }

.circle-lg {
  width: 11px;
  height: 11px; }

.circle-xl {
  width: 18px;
  height: 18px; }

/* ========================================================================
     Component: dropdown-extras
 ========================================================================== */
.dropdown-list .dropdown-item {
  padding: 0; }

.dropdown-list > .dropdown-menu {
  padding: 0;
  min-width: 220px; }

.dropdown-list .list-group {
  margin: 0; }

.dropdown-list .list-group-item {
  border-radius: 0;
  border-left: 0;
  border-right: 0; }
  .dropdown-list .list-group-item:first-child {
    border-top: 0; }
  .dropdown-list .list-group-item:last-child {
    border-bottom: 0; }

.dropdown > a {
  position: relative; }
  .dropdown > a > .badge {
    position: absolute;
    top: 10px;
    right: 0;
    padding: 2px 5px; }

.dropdown-menu-right-forced {
  right: 0 !important;
  left: auto !important; }

.dropdown-toggle-nocaret:after {
  display: none; }

/* ========================================================================
     Component: half-float
 ========================================================================== */
.half-float {
  position: relative;
  margin-bottom: 69px; }
  .half-float .half-float-bottom,
  .half-float .half-float-top {
    position: absolute;
    left: 50%;
    bottom: -64px;
    width: 128px;
    height: 128px;
    margin-left: -64px;
    z-index: 2; }
  .half-float .half-float-top {
    bottom: auto;
    top: -64px; }

/* ========================================================================
     Component: animate
 ========================================================================== */
@-webkit-keyframes fadeOutUpShort {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

@keyframes fadeOutUpShort {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    -ms-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

.fadeOutUpShort {
  -webkit-animation-name: fadeOutUpShort;
  animation-name: fadeOutUpShort; }

@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    -ms-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; } }

.fadeInUpShort {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

@-webkit-keyframes zoomInShort {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.95, 0.95, 0.95);
    transform: scale3d(0.95, 0.95, 0.95); }
  50% {
    opacity: 1; } }

@keyframes zoomInShort {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.95, 0.95, 0.95);
    -ms-transform: scale3d(0.95, 0.95, 0.95);
    transform: scale3d(0.95, 0.95, 0.95); }
  50% {
    opacity: 1; } }

.zoomInShort {
  -webkit-animation-name: zoomInShort;
  animation-name: zoomInShort; }

@-webkit-keyframes zoomBack {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5); }
  100% {
    opacity: 0; } }

@keyframes zoomBack {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    -ms-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5); }
  100% {
    opacity: 0; } }

.zoomBack {
  -webkit-animation-name: zoomBack;
  animation-name: zoomBack; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-20px, 0, 0);
    -ms-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/* ========================================================================
     Component: slim-scroll
 ========================================================================== */
[data-scrollable] {
  display: block; }

.slimScrollBar {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.35) !important;
  border: 0 !important;
  border-radius: 1px !important; }

.slimScrollRail {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.15) !important;
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0; }

/* ========================================================================
     Component: inputs
 ========================================================================== */
/**
 * Custom form elements
 *    - Checkbox
 *    - Radios
 *    - Switch
 *    - Note editor
 */
.c-checkbox,
.c-radio {
  margin-right: 4px; }
  .c-checkbox *,
  .c-radio * {
    cursor: pointer; }
  .c-checkbox input,
  .c-radio input {
    opacity: 0;
    position: absolute;
    margin-left: 0 !important; }
  .c-checkbox span,
  .c-radio span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid #ccc;
    margin-right: 5px;
    text-align: center; }
    .c-checkbox span:before,
    .c-radio span:before {
      margin-left: 1px; }
  .c-checkbox:hover span,
  .c-radio:hover span {
    border-color: #5d9cec; }
  .form-inline .c-checkbox span, .form-inline
  .c-radio span {
    margin-left: 0; }
  .c-checkbox.c-checkbox-rounded span, .c-checkbox.c-radio-rounded span,
  .c-radio.c-checkbox-rounded span,
  .c-radio.c-radio-rounded span {
    border-radius: 500px; }

/* override for radio */
.c-radio span {
  border-radius: 500px; }

/* the icon */
.c-checkbox span:before,
.c-radio span:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  text-align: center !important;
  font-size: 12px;
  line-height: 18px;
  vertical-align: middle; }

/* Checked state */
.c-checkbox,
.c-radio {
  /* override for radio */
  /* Disable state */
  /* override for radio */ }
  .c-checkbox input[type=checkbox]:checked + span:before,
  .c-checkbox input[type=radio]:checked + span:before,
  .c-radio input[type=checkbox]:checked + span:before,
  .c-radio input[type=radio]:checked + span:before {
    color: #fff;
    opacity: 1;
    transition: color .3s ease-out; }
  .c-checkbox input[type=checkbox]:checked + span,
  .c-checkbox input[type=radio]:checked + span,
  .c-radio input[type=checkbox]:checked + span,
  .c-radio input[type=radio]:checked + span {
    border-color: #5d9cec;
    background-color: #5d9cec; }
  .c-checkbox input[type=radio]:checked + span,
  .c-radio input[type=radio]:checked + span {
    background-color: #fff; }
    .c-checkbox input[type=radio]:checked + span:before,
    .c-radio input[type=radio]:checked + span:before {
      color: #5d9cec; }
  .c-checkbox input[type=checkbox]:disabled + span,
  .c-checkbox input[type=radio]:disabled + span,
  .c-radio input[type=checkbox]:disabled + span,
  .c-radio input[type=radio]:disabled + span {
    border-color: #ddd !important;
    background-color: #ddd !important; }
  .c-checkbox input[type=radio]:disabled + span,
  .c-radio input[type=radio]:disabled + span {
    background-color: #fff !important; }
    .c-checkbox input[type=radio]:disabled + span:before,
    .c-radio input[type=radio]:disabled + span:before {
      color: #ddd; }

.c-radio.c-radio-nofont {
  /* override for radio */
  /* Disable state */
  /* override for radio */ }
  .c-radio.c-radio-nofont span:before {
    content: "";
    width: 10px;
    height: 10px;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -5px;
    border-radius: 500px; }
  .c-radio.c-radio-nofont input[type=radio]:checked + span:before {
    color: #fff;
    opacity: 1;
    transition: color .3s ease-out; }
  .c-radio.c-radio-nofont input[type=radio]:checked + span {
    border-color: #5d9cec;
    background-color: #5d9cec; }
  .c-radio.c-radio-nofont input[type=radio]:checked + span {
    background-color: #fff; }
    .c-radio.c-radio-nofont input[type=radio]:checked + span:before {
      background-color: #5d9cec; }
  .c-radio.c-radio-nofont input[type=radio]:disabled + span {
    border-color: #ddd !important;
    background-color: #ddd !important; }
  .c-radio.c-radio-nofont input[type=radio]:disabled + span {
    background-color: #fff !important; }
    .c-radio.c-radio-nofont input[type=radio]:disabled + span:before {
      background-color: #ddd; }

.switch .form-control {
  padding-top: 7px;
  margin-bottom: 0; }

.switch * {
  cursor: pointer; }

.switch input {
  opacity: 0;
  position: absolute;
  z-index: -1; }

.switch {
  display: flex;
  align-items: center;
  direction: row; }
  .switch span {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 100px;
    transition: all .5s;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1) inset; }
  .switch span:after {
    content: "";
    position: absolute;
    background-color: #fff;
    top: 0;
    left: 0;
    height: 18px;
    width: 18px;
    border: 1px solid #ddd;
    border-radius: 400px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
    -webkit-transition: all .2s; }
  .switch.switch-lg span {
    width: 50px;
    height: 25px; }
  .switch.switch-lg span:after {
    height: 23px;
    width: 23px; }
  .switch.switch-sm span {
    width: 30px;
    height: 15px; }
  .switch.switch-sm span:after {
    height: 13px;
    width: 13px; }

.switch input:checked + span {
  background-color: #5d9cec;
  border-color: #5d9cec;
  transition: all .5s; }

.switch input:checked + span:after {
  left: 50%;
  transition: all .2s; }

.switch input:disabled + span {
  background-color: #f1f1f1;
  cursor: not-allowed; }

.note-editor {
  background-image: -webkit-linear-gradient(#eee 0.1em, transparent 0.1em);
  background-image: linear-gradient(#eee 0.1em, transparent 0.1em);
  background-size: 100% 20px;
  background-color: #fff;
  line-height: 20px;
  margin-top: 5px;
  padding: 0;
  padding-bottom: 1px;
  border: none; }
  .note-editor.note-editor-margin {
    background-image: -webkit-linear-gradient(0deg, transparent 49px, #ffe0c4 49px, #ffe0c4 51px, transparent 51px), -webkit-linear-gradient(#eee 0.1em, transparent 0.1em);
    background-image: linear-gradient(90deg, transparent 49px, #ffe0c4 49px, #ffe0c4 51px, transparent 51px), linear-gradient(#eee 0.1em, transparent 0.1em);
    padding-left: 55px; }

/* ========================================================================
         Component: utils
 ========================================================================== */
.b0 {
  border-width: 0 !important; }

.bl0 {
  border-left-width: 0 !important; }

.br0 {
  border-right-width: 0 !important; }

.bt0 {
  border-top-width: 0 !important; }

.bb0 {
  border-bottom-width: 0 !important; }

.br, .b, .ba {
  border-right: 1px solid rgba(0, 0, 0, 0.12); }

.bl, .b, .ba {
  border-left: 1px solid rgba(0, 0, 0, 0.12); }

.bt, .b, .ba {
  border-top: 1px solid rgba(0, 0, 0, 0.12); }

.bb, .b, .ba {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12); }

.text-primary {
  color: #5d9cec !important; }

.text-success {
  color: #27c24c !important; }

.text-info {
  color: #23b7e5 !important; }

.text-warning {
  color: #ff902b !important; }

.text-danger {
  color: #f05050 !important; }

.text-white {
  color: #fff !important; }

.text-inverse {
  color: #131e26 !important; }

.text-alpha {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-pink {
  color: #f532e5 !important; }

.text-purple {
  color: #7266ba !important; }

.text-dark {
  color: #3a3f51 !important; }

.text-alpha-inverse {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-green {
  color: #37bc9b !important; }

.text-yellow {
  color: #fad732 !important; }

.text-gray-darker {
  color: #232735 !important; }

.text-gray-dark {
  color: #3a3f51 !important; }

.text-gray {
  color: #dde6e9 !important; }

.text-gray-light {
  color: #e4eaec !important; }

.text-gray-lighter {
  color: #edf1f2 !important; }

.text-inherit {
  color: inherit !important; }

.text-sm {
  font-size: 0.74375rem; }

.text-md {
  font-size: 1.6625rem; }

.text-lg {
  font-size: 2.625rem; }

.text-nowrap {
  white-space: nowrap; }

.text-thin {
  font-weight: 100 !important; }

.text-normal {
  font-weight: normal !important; }

.text-bold {
  font-weight: bold !important; }

.inline {
  display: inline-block !important; }

.block-center {
  margin: 0 auto; }

.bg-primary {
  background-color: #5d9cec;
  color: #fff !important; }

.bg-primary-light {
  background-color: #8bb8f1;
  color: #fff !important; }

.bg-primary-dark {
  background-color: #2f80e7;
  color: #fff !important; }

.bg-primary small {
  color: inherit; }

.bg-success {
  background-color: #27c24c;
  color: #fff !important; }

.bg-success-light {
  background-color: #43d967;
  color: #fff !important; }

.bg-success-dark {
  background-color: #1e983b;
  color: #fff !important; }

.bg-success small {
  color: inherit; }

.bg-info {
  background-color: #23b7e5;
  color: #fff !important; }

.bg-info-light {
  background-color: #51c6ea;
  color: #fff !important; }

.bg-info-dark {
  background-color: #1797be;
  color: #fff !important; }

.bg-info small {
  color: inherit; }

.bg-warning {
  background-color: #ff902b;
  color: #fff !important; }

.bg-warning-light {
  background-color: #ffab5e;
  color: #fff !important; }

.bg-warning-dark {
  background-color: #f77600;
  color: #fff !important; }

.bg-warning small {
  color: inherit; }

.bg-danger {
  background-color: #f05050;
  color: #fff !important; }

.bg-danger-light {
  background-color: #f47f7f;
  color: #fff !important; }

.bg-danger-dark {
  background-color: #ec2121;
  color: #fff !important; }

.bg-danger small {
  color: inherit; }

.bg-green {
  background-color: #37bc9b;
  color: #fff !important; }

.bg-green-light {
  background-color: #58ceb1;
  color: #fff !important; }

.bg-green-dark {
  background-color: #2b957a;
  color: #fff !important; }

.bg-green small {
  color: inherit; }

.bg-pink {
  background-color: #f532e5;
  color: #fff !important; }

.bg-pink-light {
  background-color: #f763eb;
  color: #fff !important; }

.bg-pink-dark {
  background-color: #e90bd6;
  color: #fff !important; }

.bg-pink small {
  color: inherit; }

.bg-purple {
  background-color: #7266ba;
  color: #fff !important; }

.bg-purple-light {
  background-color: #9289ca;
  color: #fff !important; }

.bg-purple-dark {
  background-color: #564aa3;
  color: #fff !important; }

.bg-purple small {
  color: inherit; }

.bg-inverse {
  background-color: #131e26;
  color: #fff !important; }

.bg-inverse-light {
  background-color: #243948;
  color: #fff !important; }

.bg-inverse-dark {
  background-color: #020304;
  color: #fff !important; }

.bg-inverse small {
  color: inherit; }

.bg-yellow {
  background-color: #fad732;
  color: #fff !important; }

.bg-yellow-light {
  background-color: #fbe164;
  color: #fff !important; }

.bg-yellow-dark {
  background-color: #f3ca06;
  color: #fff !important; }

.bg-yellow small {
  color: inherit; }

.bg-white {
  background-color: #fff;
  color: inherit !important; }

.bg-gray-darker {
  background-color: #232735;
  color: #fff !important; }

.bg-gray-dark {
  background-color: #3a3f51;
  color: #fff !important; }

.bg-gray {
  background-color: #dde6e9;
  color: #656565 !important; }

.bg-gray-light {
  background-color: #e4eaec;
  color: #656565 !important; }

.bg-gray-lighter {
  background-color: #edf1f2;
  color: #656565 !important; }

.bg-transparent {
  background-color: transparent !important; }

.bg-cover {
  background-size: cover; }

.thumb8 {
  width: 8px !important;
  height: 8px !important; }

.thumb16 {
  width: 16px !important;
  height: 16px !important; }

.thumb24 {
  width: 24px !important;
  height: 24px !important; }

.thumb32 {
  width: 32px !important;
  height: 32px !important; }

.thumb48 {
  width: 48px !important;
  height: 48px !important; }

.thumb64 {
  width: 64px !important;
  height: 64px !important; }

.thumb80 {
  width: 80px !important;
  height: 80px !important; }

.thumb96 {
  width: 96px !important;
  height: 96px !important; }

.thumb128 {
  width: 128px !important;
  height: 128px !important; }

.align-middle {
  vertical-align: middle; }

.align-top {
  vertical-align: top; }

.align-bottom {
  vertical-align: bottom; }

.bg-center {
  background-position: center center;
  background-size: cover; }

.list-icon em {
  font-size: 14px;
  width: 40px;
  vertical-align: middle;
  margin: 0;
  display: inline-block;
  text-align: center;
  transition: all 0.2s;
  line-height: 30px; }
  @media screen and (prefers-reduced-motion: reduce) {
    .list-icon em {
      transition: none; } }

.list-icon div:hover em {
  transform: scale(3, 3); }

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

.wd-xxs {
  width: 60px; }

.wd-xs {
  width: 90px; }

.wd-sm {
  width: 150px; }

.wd-sd {
  width: 200px; }

.wd-md {
  width: 240px; }

.wd-lg {
  width: 280px; }

.wd-xl {
  width: 320px; }

.wd-xxl {
  width: 360px; }

.wd-wide {
  width: 100%; }

.wd-auto {
  width: auto; }

.wd-zero {
  width: 0; }

.clickable {
  cursor: pointer; }

.abs-center-container {
  position: relative; }

.abs-center {
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }
  .abs-center.abs-fixed {
    position: fixed;
    z-index: 999; }
  .abs-center.abs-right {
    left: auto;
    right: 20px;
    text-align: right; }
  .abs-center.abs-left {
    right: auto;
    left: 20px;
    text-align: left; }

@media (max-height: 720px) {
  .abs-center {
    position: relative; } }

.link-unstyled {
  text-decoration: none !important;
  outline: none !important; }

.no-resize {
  resize: none;
  max-width: 100%;
  min-width: 100%; }

.ie-fix-flex {
  -ms-flex: 0 0 auto; }

/* ========================================================================
     Component: print
 ========================================================================== */
@media print {
  .sidebar,
  .topnavbar,
  .offsidebar,
  .btn {
    display: none !important;
    width: 0 !important;
    height: 0 !important; }
  .wrapper,
  .wrapper .section-container,
  .content-wrapper {
    margin: 0 !important;
    /* remove margin used for sidebar and expand the content */
    padding: 0 !important;
    width: 100% !important; }
  .content-wrapper {
    overflow: hidden !important; } }

/* ========================================================================
     Component: nestable
 ========================================================================== */
.dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  max-width: 600px;
  list-style: none;
  font-size: 13px;
  line-height: 20px; }

.dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none; }

.dd-list .dd-list {
  padding-left: 30px; }

.dd-collapsed .dd-list {
  display: none; }

.dd-item,
.dd-empty,
.dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  font-size: 13px;
  line-height: 20px; }

.dd-handle {
  display: block;
  margin: 5px 0;
  padding: 10px 10px;
  text-decoration: none;
  border: 1px solid #ebebeb;
  background: #fff;
  -webkit-border-radius: 3px;
  border-radius: 3px; }

.dd-handle:hover {
  background: #fff; }

.dd-item > button {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 30px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  font-weight: bold; }

.dd-item > button:before {
  content: '+';
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0; }

.dd-item > button[data-action="collapse"]:before {
  content: '-'; }

.dd-placeholder,
.dd-empty {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  background: #f2fbff;
  border: 1px dashed #b6bcbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box; }

.dd-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #e5e5e5;
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px; }

.dd-dragel {
  position: absolute;
  pointer-events: none;
  z-index: 9999; }

.dd-dragel > .dd-item .dd-handle {
  margin-top: 0; }

.dd-dragel .dd-handle {
  -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); }

.nestable-lists {
  display: block;
  clear: both;
  padding: 30px 0;
  width: 100%;
  border: 0;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd; }

@media only screen and (min-width: 700px) {
  .dd + .dd {
    margin-left: 2%; } }

.dd-hover > .dd-handle {
  background: #2ea8e5 !important; }

.dd3-content {
  display: block;
  margin: 5px 0;
  padding: 10px 10px 10px 50px;
  text-decoration: none;
  border: 1px solid #ebebeb;
  background: #fff;
  -webkit-border-radius: 3px;
  border-radius: 3px; }

.dd-dragel > .dd3-item > .dd3-content {
  margin: 0; }

.dd3-item > button {
  margin-left: 40px; }

.dd3-handle {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  cursor: pointer;
  width: 40px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 1px solid #ebebeb;
  background: #fff;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.dd3-handle:before {
  content: '≡';
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  text-align: center;
  text-indent: 0;
  color: #ccc;
  font-size: 20px;
  font-weight: normal; }

.dd3-handle:hover {
  background: #f7f7f7; }

/* ========================================================================
    Component: notify from uikit
 ========================================================================== */
.uk-notify {
  position: fixed;
  top: 50px;
  left: 50px;
  z-index: 1040;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 350px; }

.uk-notify-top-right,
.uk-notify-bottom-right {
  left: auto;
  right: 50px; }

.uk-notify-top-center,
.uk-notify-bottom-center {
  left: 50%;
  margin-left: -175px; }

.uk-notify-bottom-left,
.uk-notify-bottom-right,
.uk-notify-bottom-center {
  top: auto;
  bottom: 50px; }

@media (max-width: 575.98px) {
  .uk-notify {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0; } }

.uk-notify-message {
  position: relative;
  margin-bottom: 10px;
  padding: 15px;
  font-size: 16px;
  line-height: 22px;
  border-radius: 0.2rem;
  padding-right: 35px;
  cursor: pointer; }
  .uk-notify-message.alert.alert-normal {
    background: #444;
    color: #fff; }

.uk-notify-message > .close {
  visibility: hidden; }

.uk-notify-message:hover > .close {
  visibility: visible; }

/* ========================================================================
   Component: spinner
 ========================================================================== */
body .whirl {
  position: relative; }
  body .whirl:before {
    content: attr(data-spinner-text);
    display: block;
    background-color: #f0f0f0;
    opacity: 0.7; }
  body .whirl.solid {
    opacity: 1; }
  body .whirl:after {
    border-top-color: #5d9cec; }

body .whirl.blade:after {
  border-bottom-color: #5d9cec; }

body .whirl.double-up:after {
  border-right-color: #5d9cec;
  border-top-color: #5d9cec;
  border-left-color: #5d9cec;
  border-bottom-color: #5d9cec; }

body .whirl.duo:after {
  border-right-color: #5d9cec;
  border-left-color: #5d9cec;
  border-top-color: #7266ba;
  border-bottom-color: #7266ba; }

body .whirl.helicopter:after {
  background-color: #5d9cec; }

body .whirl.ringed:after {
  border-right-color: #23b7e5;
  border-top-color: #7266ba;
  border-left-color: #7266ba;
  border-bottom-color: #7266ba; }

body .whirl.traditional:after {
  border-right-color: #23b7e5;
  border-top-color: #23b7e5;
  border-left-color: #7266ba;
  border-bottom-color: #fad732; }

body .whirl.line:after {
  box-shadow: inset -10px 0px 0px rgba(93, 156, 236, 0.5); }

.no-cssanimations body .whirl:before {
  opacity: .9; }

.no-cssanimations body .whirl:after {
  content: "Loading...";
  width: 40px;
  height: 40px;
  margin: -20px 0 -20px;
  line-height: 40px;
  color: #000;
  opacity: 1;
  border: 0;
  box-shadow: 0 0 0 #000;
  background-color: transparent;
  text-align: center; }

body .ball-pulse > div,
body .ball-grid-pulse > div,
body .square-spin > div,
body .ball-pulse-rise > div,
body .ball-rotate > div,
body .ball-rotate > div:before,
body .ball-rotate > div:after,
body .cube-transition > div,
body .ball-zig-zag > div,
body .ball-zig-zag-deflect > div,
body .ball-triangle-path > div,
body .ball-scale > div,
body .line-scale > div,
body .line-scale-party > div,
body .ball-scale-multiple > div,
body .ball-pulse-sync > div,
body .ball-beat > div,
body .line-scale-pulse-out > div,
body .line-scale-pulse-out-rapid > div,
body .ball-spin-fade-loader > div,
body .line-spin-fade-loader > div,
body .triangle-skew-spin > div,
body .ball-grid-beat > div,
body .semi-circle-spin > div {
  background-color: #5d9cec; }

body .ball-clip-rotate-multiple {
  width: 1px; }
  body .ball-clip-rotate-multiple > div {
    border-color: #5d9cec transparent #5d9cec transparent; }
    body .ball-clip-rotate-multiple > div:last-child {
      border-color: transparent #5d9cec transparent #5d9cec; }

body .ball-clip-rotate > div {
  border-color: #5d9cec;
  border-bottom-color: transparent; }

body .ball-clip-rotate-pulse > div:first-child {
  background-color: #5d9cec;
  top: 5px;
  left: -8px; }

body .ball-clip-rotate-pulse > div:last-child {
  border-color: #5d9cec transparent #5d9cec transparent; }

body .square-spin > div,
body .ball-scale-ripple > div,
body .ball-scale-ripple-multiple > div {
  border-color: #5d9cec; }

body .pacman > div:first-of-type {
  border-top-color: #5d9cec;
  border-left-color: #5d9cec;
  border-bottom-color: #5d9cec; }

body .pacman > div:nth-child(2) {
  border-top-color: #5d9cec;
  border-left-color: #5d9cec;
  border-bottom-color: #5d9cec; }

body .pacman > div:nth-child(3),
body .pacman > div:nth-child(4),
body .pacman > div:nth-child(5),
body .pacman > div:nth-child(6) {
  background-color: #5d9cec; }

body .sk-rotating-plane.sk-spinner,
body .sk-double-bounce .sk-double-bounce1,
body .sk-double-bounce .sk-double-bounce2,
body .sk-wave .sk-rect,
body .sk-wandering-cubes .sk-cube1,
body .sk-wandering-cubes .sk-cube2,
body .sk-chasing-dots .sk-dot1,
body .sk-chasing-dots .sk-dot2,
body .sk-three-bounce div,
body .sk-circle .sk-child:before,
body .sk-cube-grid .sk-cube,
body .sk-fading-circle .sk-circle:before,
body .sk-spinner-pulse.sk-spinner,
body .sk-rotating-plane {
  background-color: #5d9cec !important; }

body .sk-wordpress .sk-inner-circle {
  background-color: #fff; }

body .sk-wave .sk-rect {
  float: left;
  margin-right: 1px; }

/* just for loaders.css demo */
.loader-demo {
  height: 150px;
  padding-top: 50px;
  text-align: center; }
  .loader-demo > div {
    display: inline-block; }
  .loader-demo.loader-demo-sk {
    padding-top: 0; }

/* ========================================================================
     Component: portlets
 ========================================================================== */
[data-toggle="portlet"] {
  min-height: 30px; }
  [data-toggle="portlet"].portlet-handler,
  [data-toggle="portlet"] .portlet-handler {
    cursor: move; }

.portlets-wrapper {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  overflow: auto; }

.portlet.box-placeholder {
  padding: 0; }

/* ========================================================================
     Component: radial-bar
 ========================================================================== */
/* -------------------------------------
 * Bar container
 * ------------------------------------- */
.radial-bar {
  position: relative;
  display: inline-block;
  font-size: 16px;
  border-radius: 50%;
  border: 2px solid #fafafa;
  background-color: transparent;
  margin-bottom: 20px;
  box-sizing: content-box;
  width: 80px;
  height: 80px;
  font-size: 18px; }
  .radial-bar:after,
  .radial-bar > img {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    text-align: center;
    font-weight: bold;
    color: #a1a2a3; }
  .radial-bar:after {
    content: attr(data-label);
    background-color: #fff;
    z-index: 101; }
  .radial-bar > img {
    z-index: 102; }
  .radial-bar:after,
  .radial-bar > img {
    width: 56px;
    height: 56px;
    margin-left: 12px;
    margin-top: 12px;
    line-height: 56px; }
  .radial-bar.radial-bar-0 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-5 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-10 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-15 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-20 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-25 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-30 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-35 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-40 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-45 {
    background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-50 {
    background-image: linear-gradient(-90deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-55 {
    background-image: linear-gradient(-72deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-60 {
    background-image: linear-gradient(-54deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-65 {
    background-image: linear-gradient(-36deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-70 {
    background-image: linear-gradient(-18deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-75 {
    background-image: linear-gradient(0deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-80 {
    background-image: linear-gradient(18deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-85 {
    background-image: linear-gradient(36deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-90 {
    background-image: linear-gradient(54deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-95 {
    background-image: linear-gradient(72deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }
  .radial-bar.radial-bar-100 {
    background-image: linear-gradient(90deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-0 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-5 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-10 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-15 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-20 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-25 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-30 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-35 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-40 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-45 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-50 {
  background-image: linear-gradient(-90deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-55 {
  background-image: linear-gradient(-72deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-60 {
  background-image: linear-gradient(-54deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-65 {
  background-image: linear-gradient(-36deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-70 {
  background-image: linear-gradient(-18deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-75 {
  background-image: linear-gradient(0deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-80 {
  background-image: linear-gradient(18deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-85 {
  background-image: linear-gradient(36deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-90 {
  background-image: linear-gradient(54deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-95 {
  background-image: linear-gradient(72deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-primary.radial-bar-100 {
  background-image: linear-gradient(90deg, #5d9cec 50%, transparent 50%, transparent), linear-gradient(270deg, #5d9cec 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-0 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-5 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-10 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-15 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-20 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-25 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-30 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-35 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-40 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-45 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-50 {
  background-image: linear-gradient(-90deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-55 {
  background-image: linear-gradient(-72deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-60 {
  background-image: linear-gradient(-54deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-65 {
  background-image: linear-gradient(-36deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-70 {
  background-image: linear-gradient(-18deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-75 {
  background-image: linear-gradient(0deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-80 {
  background-image: linear-gradient(18deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-85 {
  background-image: linear-gradient(36deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-90 {
  background-image: linear-gradient(54deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-95 {
  background-image: linear-gradient(72deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-success.radial-bar-100 {
  background-image: linear-gradient(90deg, #27c24c 50%, transparent 50%, transparent), linear-gradient(270deg, #27c24c 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-0 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-5 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-10 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-15 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-20 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-25 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-30 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-35 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-40 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-45 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-50 {
  background-image: linear-gradient(-90deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-55 {
  background-image: linear-gradient(-72deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-60 {
  background-image: linear-gradient(-54deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-65 {
  background-image: linear-gradient(-36deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-70 {
  background-image: linear-gradient(-18deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-75 {
  background-image: linear-gradient(0deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-80 {
  background-image: linear-gradient(18deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-85 {
  background-image: linear-gradient(36deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-90 {
  background-image: linear-gradient(54deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-95 {
  background-image: linear-gradient(72deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-info.radial-bar-100 {
  background-image: linear-gradient(90deg, #23b7e5 50%, transparent 50%, transparent), linear-gradient(270deg, #23b7e5 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-0 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-5 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-10 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-15 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-20 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-25 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-30 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-35 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-40 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-45 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-50 {
  background-image: linear-gradient(-90deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-55 {
  background-image: linear-gradient(-72deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-60 {
  background-image: linear-gradient(-54deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-65 {
  background-image: linear-gradient(-36deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-70 {
  background-image: linear-gradient(-18deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-75 {
  background-image: linear-gradient(0deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-80 {
  background-image: linear-gradient(18deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-85 {
  background-image: linear-gradient(36deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-90 {
  background-image: linear-gradient(54deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-95 {
  background-image: linear-gradient(72deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-warning.radial-bar-100 {
  background-image: linear-gradient(90deg, #ff902b 50%, transparent 50%, transparent), linear-gradient(270deg, #ff902b 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-0 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(90deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-5 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(108deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-10 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(126deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-15 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(144deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-20 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(162deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-25 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(180deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-30 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(198deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-35 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(216deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-40 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(234deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-45 {
  background-image: linear-gradient(90deg, #fafafa 50%, transparent 50%, transparent), linear-gradient(252deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-50 {
  background-image: linear-gradient(-90deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-55 {
  background-image: linear-gradient(-72deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-60 {
  background-image: linear-gradient(-54deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-65 {
  background-image: linear-gradient(-36deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-70 {
  background-image: linear-gradient(-18deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-75 {
  background-image: linear-gradient(0deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-80 {
  background-image: linear-gradient(18deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-85 {
  background-image: linear-gradient(36deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-90 {
  background-image: linear-gradient(54deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-95 {
  background-image: linear-gradient(72deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-danger.radial-bar-100 {
  background-image: linear-gradient(90deg, #f05050 50%, transparent 50%, transparent), linear-gradient(270deg, #f05050 50%, #fafafa 50%, #fafafa); }

.radial-bar-lg {
  width: 100px;
  height: 100px;
  font-size: 22px; }
  .radial-bar-lg:after,
  .radial-bar-lg > img {
    width: 70px;
    height: 70px;
    margin-left: 15px;
    margin-top: 15px;
    line-height: 70px; }

.radial-bar-sm {
  width: 50px;
  height: 50px;
  font-size: 12px; }
  .radial-bar-sm:after,
  .radial-bar-sm > img {
    width: 35px;
    height: 35px;
    margin-left: 7.5px;
    margin-top: 7.5px;
    line-height: 35px; }

.radial-bar-xs {
  width: 30px;
  height: 30px;
  font-size: 8px; }
  .radial-bar-xs:after,
  .radial-bar-xs > img {
    width: 21px;
    height: 21px;
    margin-left: 4.5px;
    margin-top: 4.5px;
    line-height: 21px; }

x:-o-prefocus,
.radial-bar {
  background-clip: content-box; }

/* ========================================================================
     Component: chart-flot
 ======================================================================== */
.flot-chart {
  display: block;
  width: 100%;
  height: 250px; }
  .flot-chart .legend > table tr td {
    padding: 3px; }
  .flot-chart .legend > table tr td:first-child {
    padding-left: 3px; }
  .flot-chart .legend > table tr td:last-child {
    padding-right: 3px; }
  .flot-chart .legend > table tr + tr td {
    padding-top: 0; }
  .flot-chart .legend > div:first-child {
    border-color: rgba(0, 0, 0, 0.1) !important; }
  .flot-chart .legend .legendColorBox > div,
  .flot-chart .legend .legendColorBox > div > div {
    border-radius: 400px; }

.flot-chart-content {
  width: 100%;
  height: 100%; }

.flot-pie-label {
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  color: #fff; }

#flotTip {
  position: relative;
  padding: 5px;
  font-size: 12px !important;
  border-radius: 2px !important;
  border-color: transparent !important;
  background-color: rgba(0, 0, 0, 0.75) !important;
  color: #f1f1f1;
  z-index: 5; }

/* ========================================================================
   Component: chart-easypie
 ========================================================================== */
.easypie-chart {
  display: inline-block;
  position: relative;
  padding: 0 6px; }
  .easypie-chart span {
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    margin-left: -50%;
    height: 30px;
    margin-top: -15px;
    font-size: 20px; }
  .easypie-chart canvas {
    max-width: 100%; }
  .easypie-chart.easypie-chart-lg span {
    font-size: 40px;
    margin-top: -25px;
    line-height: 40px; }
  .easypie-chart.easypie-chart-md span {
    font-size: 30px;
    margin-top: -25px;
    line-height: 40px; }

/* ========================================================================
     Component: form-validation
 ========================================================================== */
.parsley-error {
  border-color: #f05050 !important; }

.parsley-required,
.parsley-type,
.parsley-equalto {
  color: #f05050; }

.parsley-errors-list {
  display: none;
  margin: 0;
  padding: 0; }
  .parsley-errors-list.filled {
    display: block; }
  .parsley-errors-list > li {
    font-size: 12px;
    list-style: none;
    color: #f05050; }

.input-group.with-focus .form-control {
  transition: none; }
  .input-group.with-focus .form-control:focus + .input-group-append > .input-group-text {
    border-color: #66afe9; }
  .input-group.with-focus .form-control.is-invalid + .input-group-append > .input-group-text {
    border-color: #f05050; }
  .input-group.with-focus .form-control.is-valid + .input-group-append > .input-group-text {
    border-color: #27c24c; }

/* ========================================================================
     Component: form-tags
 ========================================================================== */
/* bootstrap tag input */
.bootstrap-tagsinput {
  box-shadow: none;
  padding: 8px 7px;
  width: 100%;
  border-color: #dde6e9;
  height: auto;
  min-height: 2.1875rem; }
  .bootstrap-tagsinput .label-info {
    background-color: #23b7e5 !important;
    display: inline;
    padding: .2rem .6rem .3rem;
    font-size: 0.625rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem; }

.bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
  box-shadow: 0 0 0 #000; }

.bootstrap-tagsinput .tag {
  color: #fff; }

/* ========================================================================
     Component: form-datepicker
 ========================================================================== */
.datepicker {
  padding: .5rem; }
  .datepicker th {
    font-size: 0.875rem !important; }

.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover,
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-image: none; }

.datepicker table tr td span.active:hover, .datepicker table tr td span.active:hover:hover, .datepicker table tr td span.active.disabled:hover, .datepicker table tr td span.active.disabled:hover:hover, .datepicker table tr td span.active:active, .datepicker table tr td span.active:hover:active, .datepicker table tr td span.active.disabled:active, .datepicker table tr td span.active.disabled:hover:active, .datepicker table tr td span.active.active, .datepicker table tr td span.active:hover.active, .datepicker table tr td span.active.disabled.active, .datepicker table tr td span.active.disabled:hover.active, .datepicker table tr td span.active.disabled, .datepicker table tr td span.active:hover.disabled, .datepicker table tr td span.active.disabled.disabled, .datepicker table tr td span.active.disabled:hover.disabled, .datepicker table tr td span.active[disabled], .datepicker table tr td span.active:hover[disabled], .datepicker table tr td span.active.disabled[disabled], .datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #5d9cec; }

.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
  background-color: #5d9cec !important;
  background-image: none;
  box-shadow: none;
  text-shadow: none; }

.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background-color: #e4eaec; }

.datepicker-inline {
  border: 0.125rem solid #e4eaec; }

.datepicker table tr td.active, .datepicker table tr td.active:hover, .datepicker table tr td.active.disabled, .datepicker table tr td.active.disabled:hover {
  background-color: #5d9cec !important;
  background-image: none;
  box-shadow: none; }

/* ========================================================================
     Component: form-wizard
 ========================================================================== */
.wizard,
.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden; }

.wizard a,
.tabcontrol a {
  outline: 0; }

.wizard ul,
.tabcontrol ul {
  list-style: none !important;
  padding: 0;
  margin: 0; }

.wizard ul > li,
.tabcontrol ul > li {
  display: block;
  padding: 0; }

.wizard > .steps .current-info,
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em; }

.wizard > .content > .title,
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em; }

.wizard > .steps {
  position: relative;
  display: block;
  width: 100%; }
  .wizard > .steps .number {
    font-size: 1.429em; }
  .wizard > .steps > ul > li {
    width: 25%; }

.wizard > .content {
  background: #fff;
  display: block;
  margin: 0.5em;
  min-height: 300px;
  overflow: hidden;
  position: relative;
  width: auto;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px; }
  .wizard > .content > .body {
    float: left;
    position: absolute;
    width: 100%;
    height: 95%;
    padding: 2.5% 0; }
    .wizard > .content > .body ul {
      list-style: disc !important; }
      .wizard > .content > .body ul > li {
        display: list-item; }
    .wizard > .content > .body > iframe {
      border: 0 none;
      width: 100%;
      height: 100%; }
    .wizard > .content > .body input {
      display: block; }
    .wizard > .content > .body input.error {
      background: #fbe3e4;
      border: 1px solid #fbc2c4;
      color: #8a1f11; }
    .wizard > .content > .body label {
      display: inline-block;
      margin-bottom: 0.5em; }
    .wizard > .content > .body label.error {
      color: #f05050;
      margin-left: 1.5em;
      padding: 0; }
    .wizard > .content > .body .checkbox label.error {
      display: block !important; }

.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%; }
  .wizard > .actions > ul {
    display: inline-block;
    text-align: right; }
    .wizard > .actions > ul > li {
      margin: 0 0.5em; }

.wizard.vertical > .steps {
  display: inline;
  float: left;
  width: 30%; }
  .wizard.vertical > .steps > ul > li {
    float: none;
    width: 100%; }

.wizard.vertical > .content {
  display: inline;
  float: left;
  margin: 0 2.5% 0.5em 2.5%;
  width: 65%; }

.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%; }
  .wizard.vertical > .actions > ul > li {
    margin: 0 0 0 1em; }

.wizard > .steps > ul > li,
.wizard > .actions > ul > li {
  float: left; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em 1em;
  text-decoration: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 0;
  font-weight: bold;
  color: #656565; }
  .wizard > .steps a > small,
  .wizard > .steps a:hover > small,
  .wizard > .steps a:active > small {
    font-weight: normal;
    color: #909FA7; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  background: #fcfcfc;
  color: #656565;
  cursor: default; }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background: #5d9cec;
  color: #fff;
  cursor: default; }
  .wizard > .steps .current a > small,
  .wizard > .steps .current a:hover > small,
  .wizard > .steps .current a:active > small {
    color: #fff; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  background: #fcfcfc;
  color: #656565; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  background: #ff3111;
  color: #fff; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  display: inline-block;
  padding: 6px 16px;
  font-size: 13px;
  border-radius: 0.2rem;
  text-decoration: none;
  color: #fff;
  background-color: #5d9cec;
  border-color: #5d9cec; }
  .wizard > .actions a:hover,
  .wizard > .actions a:hover:hover,
  .wizard > .actions a:active:hover {
    color: #fff;
    background-color: #3b87e8;
    border-color: #2f80e7; }
  .wizard > .actions a:focus, .wizard > .actions a.focus,
  .wizard > .actions a:hover:focus,
  .wizard > .actions a:hover.focus,
  .wizard > .actions a:active:focus,
  .wizard > .actions a:active.focus {
    box-shadow: 0 0 0 0.2rem rgba(93, 156, 236, 0.5); }
  .wizard > .actions a.disabled, .wizard > .actions a:disabled,
  .wizard > .actions a:hover.disabled,
  .wizard > .actions a:hover:disabled,
  .wizard > .actions a:active.disabled,
  .wizard > .actions a:active:disabled {
    color: #fff;
    background-color: #5d9cec;
    border-color: #5d9cec; }
  .wizard > .actions a:not(:disabled):not(.disabled):active, .wizard > .actions a:not(:disabled):not(.disabled).active,
  .show > .wizard > .actions a.dropdown-toggle,
  .wizard > .actions a:hover:not(:disabled):not(.disabled):active,
  .wizard > .actions a:hover:not(:disabled):not(.disabled).active,
  .show >
  .wizard > .actions a:hover.dropdown-toggle,
  .wizard > .actions a:active:not(:disabled):not(.disabled):active,
  .wizard > .actions a:active:not(:disabled):not(.disabled).active,
  .show >
  .wizard > .actions a:active.dropdown-toggle {
    color: #fff;
    background-color: #2f80e7;
    border-color: #2479e5; }
    .wizard > .actions a:not(:disabled):not(.disabled):active:focus, .wizard > .actions a:not(:disabled):not(.disabled).active:focus,
    .show > .wizard > .actions a.dropdown-toggle:focus,
    .wizard > .actions a:hover:not(:disabled):not(.disabled):active:focus,
    .wizard > .actions a:hover:not(:disabled):not(.disabled).active:focus,
    .show >
    .wizard > .actions a:hover.dropdown-toggle:focus,
    .wizard > .actions a:active:not(:disabled):not(.disabled):active:focus,
    .wizard > .actions a:active:not(:disabled):not(.disabled).active:focus,
    .show >
    .wizard > .actions a:active.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(93, 156, 236, 0.5); }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  color: inherit !important;
  background-color: #edf1f2 !important;
  box-shadow: 0 0 0 #000 !important; }

.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%; }
  .tabcontrol > .steps > ul {
    position: relative;
    margin: 6px 0 0 0;
    top: 1px;
    z-index: 1; }
    .tabcontrol > .steps > ul > li {
      float: left;
      margin: 5px 2px 0 0;
      padding: 1px;
      -webkit-border-top-left-radius: 5px;
      -webkit-border-top-right-radius: 5px;
      -moz-border-radius-topleft: 5px;
      -moz-border-radius-topright: 5px;
      border-top-left-radius: 5px;
      border-top-right-radius: 5px; }
      .tabcontrol > .steps > ul > li > a {
        color: #5f5f5f;
        display: inline-block;
        border: 0 none;
        margin: 0;
        padding: 10px 30px;
        text-decoration: none; }
      .tabcontrol > .steps > ul > li > a:hover {
        text-decoration: none; }
    .tabcontrol > .steps > ul > li:hover {
      background: #edecec;
      border: 1px solid #bbb;
      padding: 0; }
    .tabcontrol > .steps > ul > li.current {
      background: #fff;
      border: 1px solid #bbb;
      border-bottom: 0 none;
      padding: 0 0 1px 0;
      margin-top: 0; }
      .tabcontrol > .steps > ul > li.current > a {
        padding: 15px 30px 10px 30px; }

.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 300px;
  overflow: hidden;
  border-top: 1px solid #bbb;
  padding-top: 20px; }
  .tabcontrol > .content > .body {
    float: left;
    position: absolute;
    width: 95%;
    height: 95%;
    padding: 2.5%; }
    .tabcontrol > .content > .body ul {
      list-style: disc !important; }
      .tabcontrol > .content > .body ul > li {
        display: list-item; }

/* ========================================================================
     Component: form-imgcrop
 ========================================================================== */
.img-container,
.img-preview {
  background-color: #f7f7f7;
  overflow: hidden;
  width: 100%;
  text-align: center; }

.img-container {
  min-height: 200px;
  max-height: 340px;
  margin-bottom: 20px; }

.docs-preview {
  margin-right: -15px;
  margin-bottom: 10px; }

.img-preview {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px; }

.img-preview > img {
  max-width: 100%; }

.preview-lg {
  width: 263px;
  height: 148px; }

.preview-md {
  width: 139px;
  height: 78px; }

.preview-sm {
  width: 69px;
  height: 39px; }

.preview-xs {
  width: 35px;
  height: 20px;
  margin-right: 0; }

.cropper-container img {
  display: block;
  width: 100%;
  min-width: 0 !important;
  max-width: none !important;
  height: 100%;
  min-height: 0 !important;
  max-height: none !important;
  image-orientation: 0deg !important; }

/* ========================================================================
     Component: dropzone
 ========================================================================== */
.dropzone {
  border: 0; }
  .dropzone .dz-default.dz-message {
    font-size: 35px; }
  .dropzone .dz-preview.dz-image-preview .dz-image {
    border-radius: 1px; }
  .dropzone .dz-preview.dz-image-preview .dz-details {
    position: relative;
    line-height: 1;
    padding: 6px 4px;
    margin: 0;
    opacity: 1;
    font-size: 14px; }
  .dropzone .dz-preview .dz-image img {
    transition: transform .2s ease; }
  .dropzone .dz-preview:hover .dz-image img {
    -webkit-filter: none;
    filter: none;
    transform: scale(2);
    transition: transform .5s ease; }
  .dropzone .dz-preview.dz-file-preview .dz-image {
    border-radius: 1px;
    background-image: none;
    background-color: #edf1f2; }
  .dropzone .dz-filename {
    display: none; }
  .dropzone .dz-preview .dz-remove {
    color: #909FA7;
    font-size: 12px; }
    .dropzone .dz-preview .dz-remove:hover {
      color: #f05050;
      text-decoration: none; }
  .dropzone .dz-preview .dz-error-message {
    top: 130px;
    border-radius: 2px;
    transition: all .2s ease; }
    .dropzone .dz-preview .dz-error-message:after {
      display: none; }
  .dropzone .dz-preview.dz-error:hover .dz-error-message {
    top: 100px; }

/* ========================================================================
    Component: plugins
    - Use this stylesheet to include single css styles for plugins
 ========================================================================== */
body .slider-handle,
body .slider-track,
body .slider-selection {
  background-image: none;
  box-shadow: 0 0 0 #000; }

body .slider-handle {
  background-color: #fff;
  border: 1px solid #5d9cec;
  opacity: 1; }

body .slider-track {
  background-color: #fff;
  border: 1px solid #5d9cec; }

body .slider-selection {
  background-color: #5d9cec; }

body .slider .tooltip.top .tooltip-arrow {
  border-top-color: #2c3037; }

body .slider .tooltip.right .tooltip-arrow {
  border-right-color: #2c3037; }

body .slider .tooltip-inner {
  background-color: #2c3037; }

body .slider .tooltip.in {
  opacity: 1; }

body .slider-fw .slider {
  width: 100%; }

body .chosen-container {
  width: 100% !important;
  max-width: 100%; }

body .chosen-container-multi .chosen-choices {
  display: block;
  width: 100%;
  height: 2.1875rem;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.52857;
  color: #495057;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dde6e9;
  border-radius: 0.25rem;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  font-size: 0.875rem;
  height: 35px; }
  @media screen and (prefers-reduced-motion: reduce) {
    body .chosen-container-multi .chosen-choices {
      transition: none; } }
  body .chosen-container-multi .chosen-choices:focus {
    color: #495057;
    background-color: #fff;
    border-color: #66afe9;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  body .chosen-container-multi .chosen-choices[disabled], body .chosen-container-multi .chosen-choices[readonly],
  fieldset[disabled] body .chosen-container-multi .chosen-choices {
    cursor: not-allowed;
    background-color: #edf1f2;
    opacity: 1; }

body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  height: auto;
  padding: 0; }

body .chosen-container-multi .chosen-choices li.search-choice {
  margin: 0 5px 3px 0;
  background-color: #f5f6f7;
  border: 1px solid #e7e9ec;
  background-image: none; }

body .chosen-container .chosen-results li.highlighted {
  background-color: #a1a2a3;
  background-image: none; }

body .chosen-container .chosen-drop {
  border-color: #ddd; }

body .chosen-container .chosen-results li.group-result {
  color: #747576;
  letter-spacing: 0.02em; }

body .chosen-container-single .chosen-single,
body .chosen-container-active.chosen-with-drop .chosen-single {
  display: block;
  width: 100%;
  height: 2.1875rem;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.52857;
  color: #495057;
  background-color: #fff;
  background-image: none;
  border: 1px solid #dde6e9;
  border-radius: 0.25rem;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  font-size: 0.875rem;
  height: 35px;
  box-shadow: 0 0 0 #000; }
  @media screen and (prefers-reduced-motion: reduce) {
    body .chosen-container-single .chosen-single,
    body .chosen-container-active.chosen-with-drop .chosen-single {
      transition: none; } }
  body .chosen-container-single .chosen-single:focus,
  body .chosen-container-active.chosen-with-drop .chosen-single:focus {
    color: #495057;
    background-color: #fff;
    border-color: #66afe9;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  body .chosen-container-single .chosen-single[disabled], body .chosen-container-single .chosen-single[readonly],
  fieldset[disabled] body .chosen-container-single .chosen-single,
  body .chosen-container-active.chosen-with-drop .chosen-single[disabled],
  body .chosen-container-active.chosen-with-drop .chosen-single[readonly],
  fieldset[disabled]
  body .chosen-container-active.chosen-with-drop .chosen-single {
    cursor: not-allowed;
    background-color: #edf1f2;
    opacity: 1; }

body .chosen-search-input {
  border: 0; }

body .chosen-container-active .chosen-single,
body .chosen-container-active .chosen-choices {
  border: 1px solid #66afe9;
  box-shadow: 0 0 0 #000; }

body .chosen-container-single .chosen-drop {
  margin-top: -3px; }

body .chosen-container-single .chosen-single div {
  top: 6px;
  right: 5px; }

body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  color: #b7bac9; }

body .bootstrap-filestyle {
  max-width: 380px; }

body .select2-container {
  max-width: 100%; }

body .select2-container--bootstrap4 .select2-selection--single {
  height: 35px !important; }
  body .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered,
  body .select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder {
    line-height: 35px !important; }

body .select2-container--bootstrap4 .select2-selection,
body .select2-container--bootstrap4.select2-container--focus .select2-selection {
  border: 1px solid #dde6e9;
  box-shadow: 0 0 0 #000 !important; }

body .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered {
  padding: 4px 5px; }

body .select2-dropdown {
  max-height: 300px;
  overflow-y: scroll; }

body .select2-container--bootstrap4 .select2-selection__clear {
  margin-top: .65em; }

/* ========================================================================
     Component: datatable
 ========================================================================== */
.dataTables_wrapper {
  clear: both; }

table.dataTable {
  border-collapse: collapse !important; }

.dataTables_filter {
  text-align: center !important; }
  @media (min-width: 768px) {
    .dataTables_filter {
      float: right;
      text-align: right !important; } }
  .dataTables_filter label > em {
    color: inherit; }
  .dataTables_filter input {
    border: 1px solid rgba(160, 160, 160, 0.25);
    margin-left: 10px;
    padding: 0.25rem .5rem;
    color: inherit; }

.dataTables_length {
  text-align: center; }
  @media (min-width: 768px) {
    .dataTables_length {
      float: left; } }
  .dataTables_length select {
    border: 1px solid rgba(160, 160, 160, 0.25);
    margin-right: 10px;
    padding: 0.25rem .5rem;
    color: inherit;
    width: 80px !important; }

.dt-buttons {
  display: flex;
  justify-content: center;
  margin-bottom: .5rem; }
  @media (min-width: 768px) {
    .dt-buttons {
      margin-bottom: 0;
      justify-content: start;
      float: right; } }

.dataTables_info {
  text-align: center;
  padding-top: .75rem; }
  @media (min-width: 768px) {
    .dataTables_info {
      float: left; } }

.dataTables_wrapper .dataTables_paginate {
  display: flex;
  justify-content: center; }
  @media (min-width: 992px) {
    .dataTables_wrapper .dataTables_paginate {
      justify-content: flex-end; } }

.dataTables_wrapper .dataTables_paginate .paginate_button > a {
  box-shadow: 0 0 0 #000 !important; }

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled > a {
  color: #dde6e9; }

div.dt-button-info {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 400px;
  margin-top: -100px;
  margin-left: -200px;
  background-color: white;
  border: 2px solid #dde6e9;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
  border-radius: 3px;
  text-align: center;
  z-index: 2100; }
  div.dt-button-info h2 {
    padding: 0.5em;
    margin: 0;
    font-weight: normal;
    border-bottom: 1px solid #ddd;
    background-color: #f3f3f3; }
    div.dt-button-info h2:before {
      content: "\f00c";
      font-family: "Font Awesome 5 Free";
      color: #27c24c;
      margin-right: 8px; }
  div.dt-button-info > div {
    padding: 1em; }

table.dataTable th.focus, table.dataTable td.focus {
  outline: 3px solid #5d9cec;
  outline-offset: -1px; }

table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before, table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
  color: #3a3f51;
  border: 0;
  box-shadow: 0 0 0 #000;
  background-color: transparent; }

/* ========================================================================
     Component: table-extras
 ========================================================================== */
.table > thead > tr > th {
  padding: 14px 8px;
  color: #888; }

.table > tbody > tr > td {
  vertical-align: middle; }
  .table > tbody > tr > td > .media img {
    width: 36px;
    height: 36px;
    margin: 0 auto; }

.table .checkbox {
  margin: 0 auto;
  width: 20px; }

.table .progress {
  margin-bottom: 0; }

.table .radial-bar {
  margin-bottom: 0;
  margin: 0 auto; }

.jqstooltip {
  box-sizing: content-box; }

#table-ext-1 th:nth-child(1) {
  width: 3%; }

#table-ext-1 th:nth-child(2) {
  width: 5%; }

#table-ext-1 th:nth-child(7) {
  width: 5%; }

#table-ext-1 th:nth-child(9) {
  width: 5%; }

#table-ext-2 th:nth-child(1) {
  width: 5%; }

#table-ext-2 th:nth-child(3) {
  width: 10%; }

/* ========================================================================
     Component: Bootgrid
 ========================================================================== */
.bootgrid-header .search {
  width: 100%;
  max-width: 140px; }
  @media (min-width: 768px) {
    .bootgrid-header .search {
      max-width: 240px; } }
  .bootgrid-header .search .input-group-addon {
    display: flex;
    align-items: center;
    margin-right: 1rem; }
  .bootgrid-header .search.form-group {
    float: left; }

.bootgrid-header .dropdown {
  color: inherit; }
  .bootgrid-header .dropdown .dropdown-menu {
    transform: translate3d(0, 0, 0) !important;
    top: 10% !important;
    right: 0 !important;
    left: auto !important; }
  .bootgrid-header .dropdown .dropdown-item:hover {
    background-color: #5d9cec !important;
    color: #fff !important; }
  .bootgrid-header .dropdown .dropdown-item > a {
    color: inherit; }
  .bootgrid-header .dropdown .active > .dropdown-item {
    color: #fff; }

.bootgrid-table th > .column-header-anchor {
  color: inherit; }

.bootgrid-table th:hover, .bootgrid-table th:active {
  background-color: rgba(221, 230, 233, 0.12); }

.bootgrid-table td.loading, .bootgrid-table td.no-results {
  background-color: transparent;
  color: inherit; }

.bootgrid-footer > .row {
  align-items: center; }

.bootgrid-footer .pagination {
  justify-content: center; }

.bootgrid-footer .infoBar {
  margin-top: 1rem;
  text-align: center; }

@media (min-width: 768px) {
  .bootgrid-footer .pagination {
    justify-content: start; }
  .bootgrid-footer .infoBar {
    margin-top: 0;
    text-align: right; } }

.bootgrid .table > thead > tr > td.active, .bootgrid .table > tbody > tr > td.active, .bootgrid .table > tfoot > tr > td.active, .bootgrid .table > thead > tr > th.active, .bootgrid .table > tbody > tr > th.active, .bootgrid .table > tfoot > tr > th.active, .bootgrid .table > thead > tr.active > td, .bootgrid .table > tbody > tr.active > td, .bootgrid .table > tfoot > tr.active > td, .bootgrid .table > thead > tr.active > th, .bootgrid .table > tbody > tr.active > th, .bootgrid .table > tfoot > tr.active > th {
  background-color: #e4eaec; }

/* ========================================================================
     Component: gmap
 ========================================================================== */
.gmap {
  height: 300px; }
  .gmap.gmap-sm {
    height: 150px; }

/* ========================================================================
     Component: vector-map
 ========================================================================== */
body .jvectormap-label {
  position: absolute;
  display: none;
  border: solid 1px #313232;
  border-radius: 2px;
  background: #313232;
  color: white;
  padding: 3px 6px;
  opacity: 0.9;
  z-index: 1100; }

body .jvectormap-zoomin, body .jvectormap-zoomout {
  position: absolute;
  left: 10px;
  width: 22px;
  height: 22px;
  border-radius: 2px;
  background: #515253;
  padding: 5px;
  color: white;
  cursor: pointer;
  line-height: 10px;
  text-align: center; }

body .jvectormap-zoomin {
  top: 10px; }

body .jvectormap-zoomout {
  top: 30px; }

/* ========================================================================
     Component: timeline
 ========================================================================== */
.timeline,
.timeline-alt {
  list-style: none;
  padding: 0 0 20px;
  position: relative;
  z-index: 0; }
  .timeline:before,
  .timeline-alt:before {
    position: absolute;
    top: 0;
    bottom: 0;
    content: " ";
    width: 1px;
    background-color: #d1d2d3;
    left: 18px; }
  .timeline .timeline-end,
  .timeline-alt .timeline-end {
    float: none;
    clear: both; }
  .timeline .popover.left > .arrow:after,
  .timeline-alt .popover.left > .arrow:after {
    border-left-color: #fff; }
  .timeline .popover.right > .arrow:after,
  .timeline-alt .popover.right > .arrow:after {
    border-right-color: #fff; }
  .timeline .popover.left > .popover-title + .arrow:after,
  .timeline-alt .popover.left > .popover-title + .arrow:after {
    border-left-color: #fff; }
  .timeline .popover.right > .popover-title + .arrow:after,
  .timeline-alt .popover.right > .popover-title + .arrow:after {
    border-right-color: #fff; }
  .timeline > li,
  .timeline-alt > li {
    margin-bottom: 20px; }
    .timeline > li::after,
    .timeline-alt > li::after {
      display: block;
      clear: both;
      content: ""; }
    .timeline > li.timeline-separator,
    .timeline-alt > li.timeline-separator {
      position: relative;
      float: none;
      clear: both;
      margin: 0 auto;
      padding: 40px 0; }
      .timeline > li.timeline-separator:first-child,
      .timeline-alt > li.timeline-separator:first-child {
        padding-top: 0; }
      .timeline > li.timeline-separator:before,
      .timeline-alt > li.timeline-separator:before {
        content: attr(data-datetime);
        display: inline-block;
        width: 120px;
        text-align: center;
        padding: 0 20px;
        line-height: 30px;
        background-color: #b6c5da;
        color: #fff; }
  .timeline > li > .timeline-card,
  .timeline-alt > li > .timeline-card {
    margin-left: 60px; }
    .timeline > li > .timeline-card .popover,
    .timeline-alt > li > .timeline-card .popover {
      position: relative;
      display: block;
      margin: 0;
      width: 100%;
      max-width: none; }
      .timeline > li > .timeline-card .popover .arrow,
      .timeline-alt > li > .timeline-card .popover .arrow {
        top: 18px;
        display: none; }
      .timeline > li > .timeline-card .popover .popover-content .popover-title,
      .timeline-alt > li > .timeline-card .popover .popover-content .popover-title {
        background-color: transparent;
        border: 0;
        padding-left: 0;
        padding-top: 0; }
  .timeline > li > .timeline-date,
  .timeline-alt > li > .timeline-date {
    margin: -20px 0 0;
    display: block;
    height: 20px;
    line-height: 20px;
    font-size: 13px; }
    .timeline > li > .timeline-date > time:after,
    .timeline-alt > li > .timeline-date > time:after {
      content: attr(datetime); }
  .timeline > li > .timeline-badge,
  .timeline-alt > li > .timeline-badge {
    position: absolute;
    left: 0;
    width: 36px;
    height: 36px;
    border-radius: 500px;
    line-height: 36px;
    font-size: 1em;
    text-align: center;
    color: #fff;
    background-color: #999;
    z-index: 100; }
    .timeline > li > .timeline-badge.primary,
    .timeline-alt > li > .timeline-badge.primary {
      background-color: #5d9cec; }
    .timeline > li > .timeline-badge.success,
    .timeline-alt > li > .timeline-badge.success {
      background-color: #27c24c; }
    .timeline > li > .timeline-badge.warning,
    .timeline-alt > li > .timeline-badge.warning {
      background-color: #ff902b; }
    .timeline > li > .timeline-badge.danger,
    .timeline-alt > li > .timeline-badge.danger {
      background-color: #f05050; }
    .timeline > li > .timeline-badge.info,
    .timeline-alt > li > .timeline-badge.info {
      background-color: #23b7e5; }
    .timeline > li > .timeline-badge.inverse,
    .timeline-alt > li > .timeline-badge.inverse {
      background-color: #131e26; }
    .timeline > li > .timeline-badge.green,
    .timeline-alt > li > .timeline-badge.green {
      background-color: #37bc9b; }
    .timeline > li > .timeline-badge.pink,
    .timeline-alt > li > .timeline-badge.pink {
      background-color: #f532e5; }
    .timeline > li > .timeline-badge.purple,
    .timeline-alt > li > .timeline-badge.purple {
      background-color: #7266ba; }
    .timeline > li > .timeline-badge.dark,
    .timeline-alt > li > .timeline-badge.dark {
      background-color: #3a3f51; }
    .timeline > li > .timeline-badge.yellow,
    .timeline-alt > li > .timeline-badge.yellow {
      background-color: #fad732; }

.timeline-alt .popover .arrow {
  display: block !important; }

.timeline-title {
  margin-top: 0;
  color: inherit; }

.timeline-body > p,
.timeline-body > ul {
  margin-bottom: 0; }

.timeline-body > p + p {
  margin-top: 5px; }

@media (min-width: 992px) {
  .timeline:before {
    left: 50%;
    margin-left: 18px; }
  .timeline > li {
    float: left;
    clear: left;
    width: 45%; }
    .timeline > li.timeline-inverted {
      float: right;
      clear: right;
      margin-top: 50px; }
  .timeline > li.timeline-separator {
    text-align: center; }
    .timeline > li.timeline-separator:before {
      margin-left: 36px; }
  .timeline > li > .timeline-badge {
    left: 50%;
    margin-left: 0; }
  .timeline > li > .timeline-date {
    float: none;
    position: absolute;
    width: 40%;
    left: 50%;
    top: 18px;
    margin-left: 54px;
    margin-top: -10px; }
  .timeline > li > .timeline-card {
    margin: 0; }
    .timeline > li > .timeline-card:before {
      border-left-width: 15px;
      border-right-width: 0;
      top: 26px;
      right: -15px;
      left: auto; }
    .timeline > li > .timeline-card:after {
      border-left-width: 14px;
      border-right-width: 0;
      top: 27px;
      right: -14px;
      left: auto; }
    .timeline > li > .timeline-card .popover .arrow {
      display: block; }
  .timeline > li.timeline-inverted > .timeline-card {
    padding-left: 36px; }
  .timeline > li.timeline-inverted .timeline-date {
    left: auto;
    right: 50%;
    width: auto;
    margin-left: 0;
    margin-right: 36px; } }

/* ========================================================================
     Component: todo
 ========================================================================== */
.todo .todo-item-list {
  position: relative; }

.todo .todo-item .todo-edit {
  display: none;
  cursor: pointer; }

.todo .todo-item:hover .todo-edit {
  display: inline; }

.todo .todo-item.todo-complete .todo-edit {
  display: none; }

.todo .close {
  font-size: 1rem; }

.todo textarea {
  resize: none;
  max-width: 100%;
  min-width: 100%; }

.todo .todo-complete {
  background: #edf1f2;
  opacity: .6;
  color: #232735; }
  .todo .todo-complete .todo-title {
    text-decoration: line-through; }

/* ========================================================================
     Component: calendar
 ========================================================================== */
.calendar-app .fc-button {
  height: auto;
  background-image: none;
  padding: 5px 10px; }
  .calendar-app .fc-button:active, .calendar-app .fc-button.active, .calendar-app .fc-button.fc-state-active {
    outline: 0;
    background-image: none; }

.calendar-app .fc-button .fc-icon {
  margin: 0 .1em;
  font-size: inherit;
  font-family: "Font Awesome 5 Free" !important;
  vertical-align: baseline;
  color: #555;
  line-height: 1.5; }
  .calendar-app .fc-button .fc-icon:after {
    display: none; }

.calendar-app .fc-state-highlight,
.calendar-app .fc-day:hover {
  background-color: #f7f8f9; }

.calendar-app .fc-day-number {
  font-size: 18px;
  font-weight: bold;
  color: #a1a2a3; }

.calendar-app .fc-event {
  color: #fff !important; }

.calendar-app .fc-view {
  overflow: visible; }

.calendar-app .external-events {
  margin: 0; }
  .calendar-app .external-events > div {
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 6px 10px;
    color: #fff;
    font-size: 11px;
    border-radius: 2px;
    cursor: move; }
  .calendar-app .external-events:empty {
    content: "EMRTPUY"; }

.calendar-app .external-event-color-selector .circle.selected {
  border: 3px solid rgba(255, 255, 255, 0.5); }

/* ========================================================================
     Component: mailbox
 ========================================================================== */
.mb-boxes {
  overflow: hidden; }
  .mb-boxes .nav > li > a {
    font-weight: 600;
    color: #3a3f51;
    margin: 5px 0;
    transition: background-color 0.3s ease; }
    @media screen and (prefers-reduced-motion: reduce) {
      .mb-boxes .nav > li > a {
        transition: none; } }
    .mb-boxes .nav > li > a:hover, .mb-boxes .nav > li > a:focus {
      background-color: #C0D0D3; }
  .mb-boxes .nav > li.active > a {
    background-color: #5d9cec !important;
    color: #fff; }
  @media (min-width: 992px) {
    .mb-boxes {
      height: auto !important;
      visibility: visible !important;
      display: block; } }

@media (min-width: 992px) {
  .mb-compose-button {
    display: block;
    width: 100%; }
  .mb-toggle-button {
    display: none; } }

.mb-mails > tbody > tr > td {
  border-top-color: transparent;
  cursor: pointer; }

.mb-mails .mb-mail-active {
  background-color: #f7f8f9 !important; }

.mb-mails .mb-mail-avatar {
  float: left;
  margin-right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 3px; }

.mb-mails .mb-mail-date {
  display: block;
  float: right;
  color: #909FA7;
  font-size: 12px;
  font-weight: bold; }

.mb-mails .mb-mail-from {
  font-size: 14px;
  font-weight: 600;
  line-height: 1; }

.mb-mails .mb-mail-meta {
  overflow: hidden; }

.mb-mails .mb-mail-subject {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 6px; }

.mb-mails .mb-mail-preview {
  clear: both;
  margin-top: 10px;
  color: #909FA7;
  margin-top: 2px; }

.mb-mails .mb-attachment {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #e4eaec; }

.mb-view > tbody > tr > td {
  cursor: auto; }

.mb-view .mb-mail-to-list > a {
  margin-right: 5px;
  color: #909FA7; }

/* ========================================================================
   Component: Plan table
 ========================================================================== */
.plan {
  background-color: #edf1f2;
  overflow: auto;
  border-radius: 0.25rem;
  padding-bottom: 30px; }
  .plan .plan-header {
    background-color: #23b7e5;
    color: #fff;
    margin: 0;
    padding: 20px 10px;
    text-align: center; }
  .plan .plan-price {
    background: #fff;
    padding: 16px 8px;
    text-align: center; }
    .plan .plan-price h2 {
      margin: 0; }
  .plan .plan-period {
    font-size: 16px; }
  .plan hr {
    display: block;
    margin: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    height: 0; }
  .plan .plan-description {
    padding: 0 24px;
    text-align: center; }
  .plan .plan-features {
    list-style-type: none;
    padding-left: 0;
    margin-top: 25px;
    margin-bottom: 25px;
    text-align: left; }
    .plan .plan-features > li {
      padding: 8px 24px; }
      .plan .plan-features > li > em {
        color: #23b7e5;
        margin-right: 7px; }
      .plan .plan-features > li:last-child {
        padding-bottom: 0; }
  .plan .plan-feature-disable {
    color: #f05050 !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJib290c3RyYXAvX2Z1bmN0aW9ucy5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9faG92ZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWRnZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2FsZXJ0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jYXJldC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mbG9hdC5zY3NzIiwiYXBwL2NvbW1vbi92YXJpYWJsZXMuc2NzcyIsImFwcC9sYXlvdXQvbGF5b3V0LnNjc3MiLCJhcHAvbGF5b3V0L2xheW91dC1leHRyYS5zY3NzIiwiYXBwL2xheW91dC9sYXlvdXQtYW5pbWF0aW9uLnNjc3MiLCJhcHAvbGF5b3V0L3RvcC1uYXZiYXIuc2NzcyIsImFwcC9sYXlvdXQvc2lkZWJhci5zY3NzIiwiYXBwL2xheW91dC9vZmZzaWRlYmFyLnNjc3MiLCJhcHAvbGF5b3V0L3VzZXItYmxvY2suc2NzcyIsImFwcC9sYXlvdXQvc2V0dGluZ3Muc2NzcyIsImFwcC9jb21tb24vdHlwby5zY3NzIiwiYXBwL2NvbW1vbi9ib290c3RyYXAtcmVzZXQuc2NzcyIsImFwcC9jb21tb24vYm9vdHN0cmFwLWN1c3RvbS5zY3NzIiwiYXBwL2NvbW1vbi9idXR0b24tZXh0cmEuc2NzcyIsImFwcC9jb21tb24vcGxhY2Vob2xkZXIuc2NzcyIsImFwcC9jb21tb24vY2FyZHMuc2NzcyIsImFwcC9jb21tb24vY2lyY2xlcy5zY3NzIiwiYXBwL2NvbW1vbi9kcm9wZG93bi1leHRyYS5zY3NzIiwiYXBwL2NvbW1vbi9oYWxmLWZsb2F0LnNjc3MiLCJhcHAvY29tbW9uL2FuaW1hdGUuc2NzcyIsImFwcC9jb21tb24vc2xpbS1zY3JvbGwuc2NzcyIsImFwcC9jb21tb24vaW5wdXRzLnNjc3MiLCJhcHAvY29tbW9uL3V0aWxzLnNjc3MiLCJhcHAvY29tbW9uL3ByaW50LnNjc3MiLCJhcHAvZWxlbWVudHMvbmVzdGFibGUuc2NzcyIsImFwcC9lbGVtZW50cy9ub3RpZnkuc2NzcyIsImFwcC9lbGVtZW50cy9zcGlubmVyLnNjc3MiLCJhcHAvZWxlbWVudHMvcG9ydGxldHMuc2NzcyIsImFwcC9jaGFydHMvcmFkaWFsLWJhci5zY3NzIiwiYXBwL2NoYXJ0cy9jaGFydC1mbG90LnNjc3MiLCJhcHAvY2hhcnRzL2NoYXJ0LWVhc3lwaWUuc2NzcyIsImFwcC9mb3Jtcy9mb3JtLXZhbGlkYXRpb24uc2NzcyIsImFwcC9mb3Jtcy9mb3JtLXRhZ3Muc2NzcyIsImFwcC9mb3Jtcy9mb3JtLWRhdGVwaWNrZXIuc2NzcyIsImFwcC9mb3Jtcy9mb3JtLXdpemFyZC5zY3NzIiwiYXBwL2Zvcm1zL2Zvcm0taW1nY3JvcC5zY3NzIiwiYXBwL2Zvcm1zL2Ryb3B6b25lLnNjc3MiLCJhcHAvZm9ybXMvcGx1Z2lucy5zY3NzIiwiYXBwL3RhYmxlcy9kYXRhdGFibGUuc2NzcyIsImFwcC90YWJsZXMvdGFibGUtZXh0cmFzLnNjc3MiLCJhcHAvdGFibGVzL2Jvb3RncmlkLnNjc3MiLCJhcHAvbWFwcy9nbWFwLnNjc3MiLCJhcHAvbWFwcy92ZWN0b3ItbWFwLnNjc3MiLCJhcHAvZXh0cmFzL3RpbWVsaW5lLnNjc3MiLCJhcHAvZXh0cmFzL3RvZG8uc2NzcyIsImFwcC9leHRyYXMvY2FsZW5kYXIuc2NzcyIsImFwcC9leHRyYXMvbWFpbGJveC5zY3NzIiwiYXBwL2V4dHJhcy9wbGFucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKlxyXG4gKiBBbmdsZSAtIEJvb3RzdHJhcCBBZG1pbiBUZW1wbGF0ZVxyXG4gKlxyXG4gKiBWZXJzaW9uOiA0LjJcclxuICogQXV0aG9yOiBAdGhlbWljb25fY29cclxuICogV2Vic2l0ZTogaHR0cDovL3RoZW1pY29uLmNvXHJcbiAqIExpY2Vuc2U6IGh0dHBzOi8vd3JhcGJvb3RzdHJhcC5jb20vaGVscC9saWNlbnNlc1xyXG4gKlxyXG4gKi9cclxuXHJcbi8vIEJvb3RzdHJhcFxyXG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Z1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiYm9vdHN0cmFwL21peGluc1wiO1xyXG4vLyBWYXJpYWJsZXNcclxuQGltcG9ydCBcImFwcC9jb21tb24vdmFyaWFibGVzXCI7XHJcbi8vIExheW91dFxyXG5AaW1wb3J0IFwiYXBwL2xheW91dC9sYXlvdXRcIjtcclxuQGltcG9ydCBcImFwcC9sYXlvdXQvbGF5b3V0LWV4dHJhXCI7XHJcbkBpbXBvcnQgXCJhcHAvbGF5b3V0L2xheW91dC1hbmltYXRpb25cIjtcclxuQGltcG9ydCBcImFwcC9sYXlvdXQvdG9wLW5hdmJhclwiO1xyXG5AaW1wb3J0IFwiYXBwL2xheW91dC9zaWRlYmFyXCI7XHJcbkBpbXBvcnQgXCJhcHAvbGF5b3V0L29mZnNpZGViYXJcIjtcclxuQGltcG9ydCBcImFwcC9sYXlvdXQvdXNlci1ibG9ja1wiO1xyXG5AaW1wb3J0IFwiYXBwL2xheW91dC9zZXR0aW5nc1wiO1xyXG4vLyBDb21tb25cclxuQGltcG9ydCBcImFwcC9jb21tb24vdHlwb1wiO1xyXG5AaW1wb3J0IFwiYXBwL2NvbW1vbi9ib290c3RyYXAtcmVzZXRcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vYm9vdHN0cmFwLWN1c3RvbVwiO1xyXG5AaW1wb3J0IFwiYXBwL2NvbW1vbi9idXR0b24tZXh0cmFcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vcGxhY2Vob2xkZXJcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vY2FyZHNcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vY2lyY2xlc1wiO1xyXG5AaW1wb3J0IFwiYXBwL2NvbW1vbi9kcm9wZG93bi1leHRyYVwiO1xyXG5AaW1wb3J0IFwiYXBwL2NvbW1vbi9oYWxmLWZsb2F0XCI7XHJcbkBpbXBvcnQgXCJhcHAvY29tbW9uL2FuaW1hdGVcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vc2xpbS1zY3JvbGxcIjtcclxuQGltcG9ydCBcImFwcC9jb21tb24vaW5wdXRzXCI7XHJcbkBpbXBvcnQgXCJhcHAvY29tbW9uL3V0aWxzXCI7XHJcbkBpbXBvcnQgXCJhcHAvY29tbW9uL3ByaW50XCI7XHJcbi8vIEVsZW1lbnRzXHJcbkBpbXBvcnQgXCJhcHAvZWxlbWVudHMvbmVzdGFibGVcIjtcclxuQGltcG9ydCBcImFwcC9lbGVtZW50cy9ub3RpZnlcIjtcclxuQGltcG9ydCBcImFwcC9lbGVtZW50cy9zcGlubmVyXCI7XHJcbkBpbXBvcnQgXCJhcHAvZWxlbWVudHMvcG9ydGxldHNcIjtcclxuLy8gQ2hhcnRzXHJcbkBpbXBvcnQgXCJhcHAvY2hhcnRzL3JhZGlhbC1iYXJcIjtcclxuQGltcG9ydCBcImFwcC9jaGFydHMvY2hhcnQtZmxvdFwiO1xyXG5AaW1wb3J0IFwiYXBwL2NoYXJ0cy9jaGFydC1lYXN5cGllXCI7XHJcbi8vIEZvcm0gZWxlbWVudHNcclxuQGltcG9ydCBcImFwcC9mb3Jtcy9mb3JtLXZhbGlkYXRpb25cIjtcclxuQGltcG9ydCBcImFwcC9mb3Jtcy9mb3JtLXRhZ3NcIjtcclxuQGltcG9ydCBcImFwcC9mb3Jtcy9mb3JtLWRhdGVwaWNrZXJcIjtcclxuQGltcG9ydCBcImFwcC9mb3Jtcy9mb3JtLXdpemFyZFwiO1xyXG5AaW1wb3J0IFwiYXBwL2Zvcm1zL2Zvcm0taW1nY3JvcFwiO1xyXG5AaW1wb3J0IFwiYXBwL2Zvcm1zL2Ryb3B6b25lXCI7XHJcbkBpbXBvcnQgXCJhcHAvZm9ybXMvcGx1Z2luc1wiO1xyXG4vLyBUYWJsZXNcclxuQGltcG9ydCBcImFwcC90YWJsZXMvZGF0YXRhYmxlXCI7XHJcbkBpbXBvcnQgXCJhcHAvdGFibGVzL3RhYmxlLWV4dHJhc1wiO1xyXG5AaW1wb3J0IFwiYXBwL3RhYmxlcy9ib290Z3JpZFwiO1xyXG4vLyBNYXBzXHJcbkBpbXBvcnQgXCJhcHAvbWFwcy9nbWFwXCI7XHJcbkBpbXBvcnQgXCJhcHAvbWFwcy92ZWN0b3ItbWFwXCI7XHJcbi8vIEV4dHJhc1xyXG5AaW1wb3J0IFwiYXBwL2V4dHJhcy90aW1lbGluZVwiO1xyXG5AaW1wb3J0IFwiYXBwL2V4dHJhcy90b2RvXCI7XHJcbkBpbXBvcnQgXCJhcHAvZXh0cmFzL2NhbGVuZGFyXCI7XHJcbkBpbXBvcnQgXCJhcHAvZXh0cmFzL21haWxib3hcIjtcclxuQGltcG9ydCBcImFwcC9leHRyYXMvcGxhbnNcIjtcclxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xyXG4vL1xyXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxyXG5cclxuLy8gQXNjZW5kaW5nXHJcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXHJcbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcclxuICAkcHJldi1rZXk6IG51bGw7XHJcbiAgJHByZXYtbnVtOiBudWxsO1xyXG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XHJcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xyXG4gICAgICAvLyBEbyBub3RoaW5nXHJcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xyXG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xyXG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XHJcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xyXG4gICAgfVxyXG4gICAgJHByZXYta2V5OiAka2V5O1xyXG4gICAgJHByZXYtbnVtOiAkbnVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU3RhcnRzIGF0IHplcm9cclxuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cclxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCkge1xyXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XHJcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XHJcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcclxuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXHJcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXHJcbi8vXHJcbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2VcclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcclxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xyXG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICBAaWYgJGluZGV4IHtcclxuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuLy8gQ29sb3IgY29udHJhc3RcclxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IpIHtcclxuICAkcjogcmVkKCRjb2xvcik7XHJcbiAgJGc6IGdyZWVuKCRjb2xvcik7XHJcbiAgJGI6IGJsdWUoJGNvbG9yKTtcclxuXHJcbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xyXG5cclxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xyXG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gJHlpcS10ZXh0LWxpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XHJcbn1cclxuXHJcbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxyXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcclxuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcclxuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xyXG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XHJcblxyXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XHJcbn1cclxuIiwiLy8gVmFyaWFibGVzXHJcbi8vXHJcbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxyXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cclxuXHJcblxyXG4vL1xyXG4vLyBDb2xvciBzeXN0ZW1cclxuLy9cclxuXHJcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcclxuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xyXG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XHJcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcclxuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XHJcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcclxuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XHJcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcclxuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJGdyYXlzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxyXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxyXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxyXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxyXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxyXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxyXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxyXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxyXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXHJcbiAgKSxcclxuICAkZ3JheXNcclxuKTtcclxuXHJcblxyXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcclxuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XHJcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcclxuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XHJcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xyXG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcclxuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XHJcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcclxuXHJcbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kY29sb3JzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxyXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxyXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXHJcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXHJcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxyXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcclxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcclxuICApLFxyXG4gICRjb2xvcnNcclxuKTtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcclxuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xyXG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcclxuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XHJcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XHJcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxyXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXHJcbiAgKSxcclxuICAkdGhlbWUtY29sb3JzXHJcbik7XHJcblxyXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXHJcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxyXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xyXG5cclxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXHJcbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XHJcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBPcHRpb25zXHJcbi8vXHJcbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cclxuXHJcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XHJcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcclxuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFNwYWNpbmdcclxuLy9cclxuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxyXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXHJcbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXHJcblxyXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xyXG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgMDogMCxcclxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcclxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxyXG4gICAgMzogJHNwYWNlcixcclxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcclxuICAgIDU6ICgkc3BhY2VyICogMylcclxuICApLFxyXG4gICRzcGFjZXJzXHJcbik7XHJcblxyXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXHJcbiRzaXplczogKCkgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRzaXplczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDI1OiAyNSUsXHJcbiAgICA1MDogNTAlLFxyXG4gICAgNzU6IDc1JSxcclxuICAgIDEwMDogMTAwJSxcclxuICAgIGF1dG86IGF1dG9cclxuICApLFxyXG4gICRzaXplc1xyXG4pO1xyXG5cclxuLy8gQm9keVxyXG4vL1xyXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG5cclxuLy8gTGlua3NcclxuLy9cclxuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxyXG5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcclxuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYXJhZ3JhcGhzXHJcbi8vXHJcbi8vIFN0eWxlIHAgZWxlbWVudC5cclxuXHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEdyaWQgYnJlYWtwb2ludHNcclxuLy9cclxuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXHJcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDAsXHJcbiAgc206IDU3NnB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogOTkycHgsXHJcbiAgeGw6IDEyMDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XHJcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xyXG5cclxuXHJcbi8vIEdyaWQgY29udGFpbmVyc1xyXG4vL1xyXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxyXG5cclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXHJcbiAgc206IDU0MHB4LFxyXG4gIG1kOiA3MjBweCxcclxuICBsZzogOTYwcHgsXHJcbiAgeGw6IDExNDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcclxuXHJcblxyXG4vLyBHcmlkIGNvbHVtbnNcclxuLy9cclxuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXHJcblxyXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcclxuXHJcbi8vIENvbXBvbmVudHNcclxuLy9cclxuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxyXG5cclxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcblxyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xyXG5cclxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XHJcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcclxuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xyXG5cclxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XHJcblxyXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xyXG5cclxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcclxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBGb250c1xyXG4vL1xyXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuXHJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXHJcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xyXG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xyXG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcclxuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG5cclxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG5cclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XHJcblxyXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcclxuXHJcbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcclxuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XHJcblxyXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFRhYmxlc1xyXG4vL1xyXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXHJcblxyXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcclxuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xyXG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCRncmF5LTkwMCwgNy41JSkgIWRlZmF1bHQ7XHJcbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xyXG5cclxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuLy9cclxuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEJ1dHRvbnNcclxuLy9cclxuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXHJcblxyXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcclxuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcclxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XHJcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcclxuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XHJcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XHJcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XHJcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xyXG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXHJcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcclxuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xyXG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcclxuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dC1oZWlnaHQtaW5uZXItc206ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1zbSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtaGVpZ2h0LWlubmVyLWxnOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtbGcgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDIpICFkZWZhdWx0O1xyXG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcblxyXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XHJcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcclxuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICBub25lICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxyXG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXHJcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoIHJnYmEoJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yLCAuNSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xyXG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcblxyXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xyXG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XHJcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcclxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcclxuXHJcbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xyXG5cclxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xyXG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XHJcbiRjdXN0b20tZmlsZS10ZXh0OiAoXHJcbiAgZW46IFwiQnJvd3NlXCJcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBGb3JtIHZhbGlkYXRpb25cclxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XHJcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIERyb3Bkb3duc1xyXG4vL1xyXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXHJcblxyXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG4vL1xyXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcclxuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxyXG5cclxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcclxuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcclxuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcclxuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcclxuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcclxuXHJcbi8vIE5hdnNcclxuXHJcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcblxyXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xyXG5cclxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuXHJcbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcclxuXHJcbi8vIE5hdmJhclxyXG5cclxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcclxuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcclxuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXHJcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcclxuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcclxuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XHJcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcclxuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XHJcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBQYWdpbmF0aW9uXHJcblxyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBDYXJkc1xyXG5cclxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xyXG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xyXG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcclxuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcclxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcclxuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gVG9vbHRpcHNcclxuXHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcclxuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xyXG5cclxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQb3BvdmVyc1xyXG5cclxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBCYWRnZXNcclxuXHJcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xyXG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XHJcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cclxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxyXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBNb2RhbHNcclxuXHJcbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xyXG5cclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XHJcblxyXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEFsZXJ0c1xyXG4vL1xyXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cclxuXHJcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xyXG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcclxuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQcm9ncmVzcyBiYXJzXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogLjc1KSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcclxuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xyXG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcclxuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gRmlndXJlc1xyXG5cclxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xyXG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xyXG5cclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xyXG5cclxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gQ2Fyb3VzZWxcclxuXHJcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcclxuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgM3B4ICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgIDIwcHggIWRlZmF1bHQ7XHJcblxyXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xyXG5cclxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxyXG5cclxuXHJcbi8vIENsb3NlXHJcblxyXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XHJcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XHJcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8gQ29kZVxyXG5cclxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XHJcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xyXG5cclxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XHJcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xyXG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG5cclxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xyXG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQcmludGluZ1xyXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcclxuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcclxuIiwiLy8gVG9nZ2xlc1xyXG4vL1xyXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cclxuXHJcbi8vIFV0aWxpdGllc1xyXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcclxuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcclxuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XHJcblxyXG4vLyAvLyBDb21wb25lbnRzXHJcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcclxuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcclxuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xyXG5cclxuLy8gLy8gU2tpbnNcclxuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcclxuXHJcbi8vIC8vIExheW91dFxyXG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcclxuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXHJcbi8vXHJcbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xyXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xyXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXHJcbi8vXHJcbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXHJcbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cclxuLy9cclxuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcclxuXHJcbkBtaXhpbiBob3ZlciB7XHJcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XHJcbn1cclxuXHJcbkBtaXhpbiBob3Zlci1mb2N1cyB7XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcclxuICAmLFxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyxcclxuICAmOmFjdGl2ZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiLy8gSW1hZ2UgTWl4aW5zXHJcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxyXG4vLyAtIFJldGluYSBpbWFnZVxyXG5cclxuXHJcbi8vIFJlc3BvbnNpdmUgaW1hZ2VcclxuLy9cclxuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cclxuXHJcbkBtaXhpbiBpbWctZmx1aWQge1xyXG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXHJcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuXHJcbi8vIFJldGluYSBpbWFnZVxyXG4vL1xyXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXHJcblxyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXHJcbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcclxuXHJcbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcclxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cclxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXHJcbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcclxuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAmW2hyZWZdIHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xyXG5cclxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxyXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcclxufVxyXG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xyXG4vL1xyXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXHJcbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXHJcblxyXG5AbWl4aW4gc3Itb25seSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxyXG4vL1xyXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXHJcbi8vXHJcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcclxuXHJcbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XHJcbiAgJjphY3RpdmUsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGNsaXA6IGF1dG87XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXHJcblxyXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxyXG4gIHRleHQtYWxpZ246IHN0YXJ0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLWJsb2NrLW5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgbGluZS1icmVhazogYXV0bztcclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcclxuXHJcbi8vIFR5cG9ncmFwaHlcclxuXHJcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIGEjeyRwYXJlbnR9IHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XHJcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xyXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcclxuICBmb250OiAwLzAgYTtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG5cclxuICBAaWYgKCRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XHJcbiAgICBAd2FybiBcIlRoZSBgdGV4dC1oaWRlKClgIG1peGluIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjQuMS4wLiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gdjUuXCI7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRleHQgdHJ1bmNhdGVcclxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xyXG5cclxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxyXG5cclxuLy8gVmlzaWJpbGl0eVxyXG5cclxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xyXG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xyXG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcclxuXHJcbiAgaHIge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcclxuICB9XHJcblxyXG4gIC5hbGVydC1saW5rIHtcclxuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBCdXR0b24gdmFyaWFudHNcclxuLy9cclxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxyXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcclxuXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcclxuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcclxuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XHJcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXIge1xyXG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XHJcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLFxyXG4gICYuZm9jdXMge1xyXG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxyXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmOmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgfVxyXG5cclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcclxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxyXG4gICAgfVxyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxyXG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyxcclxuICAmLmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcclxuICB9XHJcblxyXG4gICYuZGlzYWJsZWQsXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcclxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcclxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcclxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIHNpemVzXHJcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XHJcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICB9IEBlbHNlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcclxuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMDtcclxuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZXQtdXAge1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xyXG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldC1yaWdodCB7XHJcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogMDtcclxuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcclxufVxyXG5cclxuQG1peGluIGNhcmV0LWxlZnQge1xyXG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcclxuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XHJcbiAgQGlmICRlbmFibGUtY2FyZXQge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtd2lkdGggKiAuODU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XHJcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXA7XHJcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC13aWR0aCAqIC44NTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6ZW1wdHk6OmFmdGVyIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFBhZ2luYXRpb25cclxuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xyXG4gIC5wYWdlLWxpbmsge1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICB9XHJcblxyXG4gIC5wYWdlLWl0ZW0ge1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIExpc3RzXHJcblxyXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcclxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbiIsIi8vIExpc3QgR3JvdXBzXHJcblxyXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XHJcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xyXG4vL1xyXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcclxuXHJcbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcclxuICBoZWlnaHQ6IDA7XHJcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XHJcbn1cclxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXHJcbi8vXHJcbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXHJcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXHJcbi8vXHJcbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxyXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxyXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXHJcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cclxuLy9cclxuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXHJcbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcclxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xyXG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvcikge1xyXG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxyXG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcclxuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xyXG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJHRvb2x0aXAtb3BhY2l0eSk7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0tY29udHJvbCxcclxuICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jb250cm9sLWZpbGUge1xyXG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXHJcbiAgICAmLmlzLSN7JHN0YXRlfSB7XHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybS1jaGVjay1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxyXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcclxuICAgICYuaXMtI3skc3RhdGV9IHtcclxuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGN1c3RvbSBmaWxlXHJcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcclxuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxyXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xyXG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHsgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcclxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRhYmxlc1xyXG5cclxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcclxuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxyXG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXHJcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XHJcbiAgICAmLFxyXG4gICAgPiB0aCxcclxuICAgID4gdGQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcclxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cclxuICAudGFibGUtaG92ZXIge1xyXG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xyXG5cclxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xyXG4gICAgICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgID4gdGQsXHJcbiAgICAgICAgPiB0aCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XHJcblxyXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXHJcblxyXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcclxuICAjeyRwYXJlbnR9IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBhI3skcGFyZW50fSxcclxuICBidXR0b24jeyRwYXJlbnR9IHtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcclxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XHJcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIH1cclxufVxyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XHJcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcclxuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAmOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICB9XHJcbn1cclxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxyXG4vL1xyXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cclxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cclxuXHJcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xyXG4gICVncmlkLWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbCN7JGluZml4fSxcclxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XHJcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xyXG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xyXG4gICAgICAuY29sI3skaW5maXh9IHtcclxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cclxuXHJcbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxyXG5cclxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxyXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcclxuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxyXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy8gR3JpZCBzeXN0ZW1cclxuLy9cclxuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxyXG5cclxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcblxyXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XHJcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1yb3coKSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcclxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXHJcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXHJcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XHJcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XHJcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXHJcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXHJcbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XHJcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XHJcbn1cclxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XHJcblxyXG5AbWl4aW4gZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZmxvYXQtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBmbG9hdC1ub25lIHtcclxuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIlxyXG4vLyBDdXRvbXMgR3JheSBjb2xvcnMgZm9yIHRoZW1lXHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICMyMzI3MzU7XHJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICMzYTNmNTE7XHJcbiRncmF5OiAgICAgICAgICAgICAgICAgICNkZGU2ZTk7XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICNlNGVhZWM7XHJcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICNlZGYxZjI7XHJcblxyXG4vLyBDdXN0b20gYnJhbmQgY29sb3JzIGZvciB0aGVtZVxyXG4kaW52ZXJzZTogICAgICAgICAgICAgICAjMTMxZTI2O1xyXG4kcHVycGxlOiAgICAgICAgICAgICAgICAjNzI2NmJhO1xyXG4kcGluazogICAgICAgICAgICAgICAgICAjZjUzMmU1O1xyXG4keWVsbG93OiAgICAgICAgICAgICAgICAjZmFkNzMyO1xyXG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjMzdiYzliO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICAgICAgICAgIzVkOWNlYztcclxuJHNlY29uZGFyeTogICAgICAgICAgICAgI2ZmZjtcclxuJHN1Y2Nlc3M6ICAgICAgICAgICAgICAgIzI3YzI0YztcclxuJGluZm86ICAgICAgICAgICAgICAgICAgIzIzYjdlNTtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuJGRldmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA2MHB4O1xyXG5cclxuLy8gQnV0dG9uIHNlY29uZGFyeSByZWRlZmluaXRpb24gc3R5bGUgZm9yIHRoZW1lXHJcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgICNlYWVhZWE7XHJcblxyXG4vLyBUb3AgQm9yZGVyIGNvbG9yIGZvciBjdXN0b20gZGVmYXVsdCBjYXJkcyAoLmNhcmQtZGVmYXVsdClcclxuJGNhcmQtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAjY2ZkYmUyO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBVdGlsaXRpZXMgdmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRleHQtYWxwaGE6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiR0ZXh0LWFscGhhLWludmVyc2U6ICAgIHJnYmEoMCwwLDAsLjUpO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgMXJlbTtcclxuJHRleHQtc206ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NDM3NTtcclxuJHRleHQtbWQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS42NjI1O1xyXG4kdGV4dC1sZzogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjYyNTtcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbiR3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbiR3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbiR3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG4kd2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuJHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbiR3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG4kd2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuJHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbiR3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbiR3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcbiR3ZC16ZXJvOiAgICAgICAgICAgICAgIDA7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEJvb3RzdHJhcCA0IFZhcmlhYmxlcyBPdmVycmlkZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbG9yIHN5c3RlbVxyXG5cclxuJGNvbG9yczogKFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgICdpbnZlcnNlJzogICAgJGludmVyc2UsXHJcblxyXG4gICAgJ3ByaW1hcnktbGlnaHQnOiAkcHJpbWFyeS1saWdodCxcclxuICAgICdwcmltYXJ5LWRhcmsnOiAgJHByaW1hcnktZGFyayxcclxuICAgICdzdWNjZXNzLWxpZ2h0JzogJHN1Y2Nlc3MtbGlnaHQsXHJcbiAgICAnc3VjY2Vzcy1kYXJrJzogICRzdWNjZXNzLWRhcmssXHJcbiAgICAnaW5mby1saWdodCc6ICAgICRpbmZvLWxpZ2h0LFxyXG4gICAgJ2luZm8tZGFyayc6ICAgICAkaW5mby1kYXJrLFxyXG4gICAgJ3dhcm5pbmctbGlnaHQnOiAkd2FybmluZy1saWdodCxcclxuICAgICd3YXJuaW5nLWRhcmsnOiAgJHdhcm5pbmctZGFyayxcclxuICAgICdkYW5nZXItbGlnaHQnOiAgJGRhbmdlci1saWdodCxcclxuICAgICdkYW5nZXItZGFyayc6ICAgJGRhbmdlci1kYXJrLFxyXG4gICAgJ2dyZWVuLWxpZ2h0JzogICAkZ3JlZW4tbGlnaHQsXHJcbiAgICAnZ3JlZW4tZGFyayc6ICAgICRncmVlbi1kYXJrLFxyXG4gICAgJ3BpbmstbGlnaHQnOiAgICAkcGluay1saWdodCxcclxuICAgICdwaW5rLWRhcmsnOiAgICAgJHBpbmstZGFyayxcclxuICAgICdwdXJwbGUtbGlnaHQnOiAgJHB1cnBsZS1saWdodCxcclxuICAgICdwdXJwbGUtZGFyayc6ICAgJHB1cnBsZS1kYXJrLFxyXG4gICAgJ2ludmVyc2UtbGlnaHQnOiAkaW52ZXJzZS1saWdodCxcclxuICAgICdpbnZlcnNlLWRhcmsnOiAgJGludmVyc2UtZGFyayxcclxuICAgICd5ZWxsb3ctbGlnaHQnOiAgJHllbGxvdy1saWdodCxcclxuICAgICd5ZWxsb3ctZGFyayc6ICAgJHllbGxvdy1kYXJrLFxyXG4pO1xyXG5cclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXJcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgIzY1NjU2NTtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjM3NXJlbTtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTI4NTcxNDI5O1xyXG5cclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4xO1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzkwOUZBNztcclxuXHJcbi8vIFRhYmxlc1xyXG5cclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgI2ZhZmJmYztcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgI2ZhZmJmYztcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICNlZWU7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMzEyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjYyNXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC42MjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDEuMjVyZW07XHJcblxyXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAyLjE4NzVyZW07IC8vIDM1cHhcclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgIzY2YWZlOTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNiN2JhYzk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vXHJcbi8vIE1haW4gbGF5b3V0XHJcbi8vIFRoaXMgZmlsZSBjb250cm9scyB0aGUgcHJlc2VudGF0aW9uIG9mIGFsbCBjb21wb25lbnRzXHJcbi8vICAud3JhcHBlclxyXG4vLyAgICAgLnNlY3Rpb24tY29udGFpbmVyXHJcbi8vICAgICAgIC5jb250ZW50LXdyYXBwZXJcclxuLy8gICAgIC5hc2lkZS1jb250YWluZXJcclxuLy9cclxuLy8gSWYgbW9kaWZpZWQgb3IgcmVtb3ZlZCBtYWtlIHN1cmUgdG8gY2hlY2sgdGhlIHZhcmlhYmxlXHJcbi8vIHNoYXJlZCB3aXRoIG90aGVyIGNvbXBvbmVudHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYXNpZGUtd2Q6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMjBweDtcclxuJGFzaWRlLXdkLWNvbGxhcHNlZDogICAgICAgICAgICAgICAgICAgICAgNzBweDtcclxuJGFzaWRlLXdkLWNvbGxhcHNlZC10ZXh0OiAgICAgICAgICAgICAgICAgOTBweDtcclxuJGFzaWRlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbiRjb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnO1xyXG4kY29udGVudC1oZWFkaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kY29udGVudC1oZWFkaW5nLWJvcmRlcjogICAgICAgICAgICAgICAgICAjY2ZkYmUyO1xyXG4kY29udGVudC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4O1xyXG5cclxuJGZvb3Rlci1oZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjBweDtcclxuXHJcbiRuYXZiYXItaGc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRuYXZiYXItaGVpZ2h0ICsgJGRldmJhci1oZWlnaHQ7XHJcblxyXG4kYm94ZWQtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHg7XHJcbiR6LWluZGV4LW1haW4tc2VjdGlvbjogICAgICAgICAgICAgICAgICAgIDExMTtcclxuXHJcbmh0bWwge1xyXG4gICAgLyogJHJlcGxhY2UgcnRsICovXHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgIGhlaWdodDogMTAwJTsgLy8gaHR0cDovL3VwZGF0ZXMuaHRtbDVyb2Nrcy5jb20vMjAxMy8xMi8zMDBtcy10YXAtZGVsYXktZ29uZS1hd2F5XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDsgLy8gZm9yY2Ugc2FtZSBmb250IHNpemUgYWNycm9zIGFsbCBkZXZpY2VcclxufVxyXG5cclxuaHRtbCxcclxuYm9keSB7XHJcbiAgICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIE1haW4gd3JhcHBlclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ud3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAmLm5nLWxlYXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbnMgdGhlIG1haW4gc2lkZWJhclxyXG4gICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogJGFzaWRlLXdkO1xyXG5cclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtbWFpbi1zZWN0aW9uICsgNTsgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbih2aXNpYmlsaXR5IDBzIGxpbmVhciAuM3MpO1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNpZGUtYmc7XHJcblxyXG4gICAgICAgIC5hc2lkZS1pbm5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYXNpZGUtd2Q7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2LWZsb2F0aW5nIHtcclxuXHJcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBoYW5kbGVkIGZyb20gZGlyZWN0aXZlXHJcbiAgICAgICAgICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYXNpZGUtd2Q7XHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW4tc2VjdGlvbiAqIDEwO1xyXG5cclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbnMgdGhlIG1haW4gY29udGVudFxyXG4gICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW4tc2VjdGlvbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1iZztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9vdGVyLWhnICFpbXBvcnRhbnQ7IC8vIGVuc3VyZSBhIHNwYWNlIGZvciB0aGUgZm9vdGVyXHJcbiAgICB9IC8vIFBhZ2UgRm9vdGVyXHJcbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGhlaWdodDogJGZvb3Rlci1oZztcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktbGlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1tYWluLXNlY3Rpb24gLSAyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZGFsLW9wZW4gLndyYXBwZXIge1xyXG4gICAgei1pbmRleDogMDtcclxufVxyXG5cclxuLy8gUGFnZSBtYWluIGNvbnRlbnRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7IC8vIHN0eWxpbmcgdG8gdmlzdWFsbHkgd3JhcCB0aGUgY29tcG9uZW50XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTUpO1xyXG4gICAgbWFyZ2luLXRvcDogLTFweDtcclxuXHJcbiAgICAudW53cmFwIHtcclxuICAgICAgICBtYXJnaW46IC0xNXB4OyAvLyBleHBhbmQgb3ZlciB3cmFwcGVyIHBhZGRpbmdcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTIwcHg7IC8vIGV4cGFuZCBvdmVyIHdyYXBwZXIgcGFkZGluZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcclxuICAgICAgICBjb2xvcjogIzkyOTI5MjtcclxuICAgICAgICBtYXJnaW46IC0xNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWhlYWRpbmctYmc7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb250ZW50LWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVyLFxyXG4gICAgLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRjb250ZW50LXBhZGRpbmc7IC8vb3ZlcmZsb3c6IGF1dG87IC8vIHJlcXVpcmVkIGZvciBwb3J0bGV0c1xyXG4gICAgICAgIC5jb250ZW50LWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC0kY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBidXR0b24sXHJcbiAgICAgICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEZXNrdG9wIGxheW91dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblxyXG4gICAgYm9keSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlciB7XHJcblxyXG4gICAgICAgIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAuYXNpZGUtaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6ICRuYXZiYXItaGc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lcixcclxuICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYXNpZGUtd2Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyB3aXRoIGp1c3QgYSBtYXJnaW4gd2UgY2FuIG1ha2UgdGhlXHJcbiAgICAgICAgICAgIC8vIHJpZ2h0IHNpZGViYXIgYWx3YXlzIHZpc2libGVcclxuICAgICAgICAgICAgJi5oYXMtc2lkZWJhci1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhc2lkZS13ZCArIDIwO1xyXG4gICAgICAgICAgICAgICAgKy5vZmZzaWRlYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBc2lkZSB0b2dnbGVkIGxheW91dFxyXG4vLyBPbiBtb2JpbGUgYWN0cyBsaWtlIG9mZmNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kYXNpZGUtd2Q7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFzaWRlLXRvZ2dsZWQge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFzaWRlLXdkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jc3N0cmFuc2Zvcm1zM2Qge1xyXG5cclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhc2lkZS13ZCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFzaWRlLXdkLCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRvZ2dsZSBhbmQgY29sbGFwc2VkIGJlaGF2aW9yIG92ZXJyaWRlc1xyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuXHJcbiAgICAuYXNpZGUtY29sbGFwc2VkIC53cmFwcGVyIHtcclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kYXNpZGUtd2QtY29sbGFwc2VkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYXNpZGUtY29sbGFwc2VkLmFzaWRlLXRvZ2dsZWQge1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFzaWRlLXdkLWNvbGxhcHNlZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNzc3RyYW5zZm9ybXMzZCB7XHJcblxyXG4gICAgICAgIC5hc2lkZS1jb2xsYXBzZWQgLndyYXBwZXIge1xyXG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lcixcclxuICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYXNpZGUtd2QtY29sbGFwc2VkLCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFzaWRlLWNvbGxhcHNlZC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFzaWRlLXdkLWNvbGxhcHNlZCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBc2lkZSBjb2xsYXBzZWQgbGF5b3V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQXNpZGUgc3RhdHVzIHRvZ2dsZWQgdmlhIEpTXHJcbi5hc2lkZS1jb2xsYXBzZWQge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJixcclxuICAgICAgICAgICAgLmFzaWRlLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkYXNpZGUtd2QtY29sbGFwc2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYXYtZmxvYXRpbmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1hcmdpbiBvbmx5IGV4aXN0cyBhYm92ZSB0YWJsZXRcclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLy8gQXNpZGUgc3RhdHVzIHRvZ2dsZWQgdmlhIEpTXHJcbiAgICAuYXNpZGUtY29sbGFwc2VkIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lcixcclxuICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBDb2xsYXBzZWQgdmFyaWF0aW9uIHdpdGggdGV4dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcblxyXG4gICAgLmFzaWRlLWNvbGxhcHNlZC10ZXh0IC53cmFwcGVyIHtcclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kYXNpZGUtd2QtY29sbGFwc2VkLXRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hc2lkZS1jb2xsYXBzZWQtdGV4dC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lcixcclxuICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNzc3RyYW5zZm9ybXMzZCB7XHJcblxyXG4gICAgICAgIC5hc2lkZS1jb2xsYXBzZWQtdGV4dCAud3JhcHBlciB7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hc2lkZS1jb2xsYXBzZWQtdGV4dC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyLFxyXG4gICAgICAgICAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFzaWRlLXdkLWNvbGxhcHNlZC10ZXh0LCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEFzaWRlIGNvbGxhcHNlZCBsYXlvdXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBBc2lkZSBzdGF0dXMgdG9nZ2xlZCB2aWEgSlNcclxuLmFzaWRlLWNvbGxhcHNlZC10ZXh0IHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICYsXHJcbiAgICAgICAgICAgIC5hc2lkZS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGFzaWRlLXdkLWNvbGxhcHNlZC10ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYXYtZmxvYXRpbmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWFyZ2luIG9ubHkgZXhpc3RzIGFib3ZlIHRhYmxldFxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAvLyBBc2lkZSBzdGF0dXMgdG9nZ2xlZCB2aWEgSlNcclxuICAgIC5hc2lkZS1jb2xsYXBzZWQtdGV4dCB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAuc2VjdGlvbi1jb250YWluZXIsXHJcbiAgICAgICAgICAgIC5mb290ZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYXNpZGUtd2QtY29sbGFwc2VkLXRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGVuZCBjb2xsYXBzZWQgdmFyaWF0aW9uIHdpdGggdGV4dFxyXG4vLyBtaXhpbiB0byByZW1vdmUgdHJhbnNmb3JtYXRpb25zXHJcbkBtaXhpbiBkaXNhYmxlLXRyYW5zZm9ybSgpIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAtb3BlcmEtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLy8gRml4ZWQgbGF5b3V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5sYXlvdXQtZml4ZWQge1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYm94ZWQtbWF4LXdpZHRoKSB7XHJcbiAgICAgICAgJi5hc2lkZS10b2dnbGVkLFxyXG4gICAgICAgICYub2Zmc2lkZWJhci1vcGVuIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgLnRvcG5hdmJhci13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC1tYWluLXNlY3Rpb24gKyAxMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFzaWRlLWNvbnRhaW5lcixcclxuICAgICAgICAub2Zmc2lkZWJhciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogb25seSBhcHBsaWVkIHRvIHNpZGViYXIgKi9cclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLyogc2FmYXJpIGZpeCAqL1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgLyogaW9zIGJsYW5rcyBzcGFjZSBmaXggKi9cclxuICAgICAgICAgICAgLmFzaWRlLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWhnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIElFMTArIGhhY2s6IHNhZmFyaSBmaXggYnJlYWtzIGllIHNvIHdlIG5lZWQgdG8gdGFyZ2V0IGllIG9ubHkgdG8gcmVzdG9yZSAqL1xyXG5cclxuXzotbXMtbGFuZyh4KSxcclxuLmxheW91dC1maXhlZCAud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIC5hc2lkZS1pbm5lciB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIEJveGVkIGxheW91dCAob25seSBmb3IgZGVza3RvcHMpXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5sYXlvdXQtYm94ZWQge1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIC53cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxM3B4IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuXHJcbiAgICAgICAgICAgIC5vZmZzaWRlYmFyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJixcclxuICAgICAgICAgICAgJiAudG9wbmF2YmFyLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDk3MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxheW91dC1maXhlZCB7XHJcbiAgICAgICAgICAgIC53cmFwcGVyIC5hc2lkZS1jb250YWluZXIgLmFzaWRlLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IC8vIG1heCBzaXplIGZvciBsYXJnZSBkZXZpY2VzXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgICAmLFxyXG4gICAgICAgICAgICAmIC50b3BuYXZiYXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGJveGVkLW1heC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSAvLyBib3hlZFxyXG5cclxuLy8gU2lkZWJhciBiYWNrZHJvcFxyXG4uc2lkZWJhci1iYWNrZHJvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6ICRhc2lkZS13ZDtcclxuICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW4tc2VjdGlvbiArIDE7XHJcbiAgICAuYXNpZGUtY29sbGFwc2VkICYge1xyXG4gICAgICAgIGxlZnQ6ICRhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICAuYXNpZGUtY29sbGFwc2VkLXRleHQgJiB7XHJcbiAgICAgICAgbGVmdDogJGFzaWRlLXdkLWNvbGxhcHNlZC10ZXh0XHJcbiAgICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBsYXlvdXQtZXh0cmFcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBIaWRlIGZvb3RlciBhbmQgZXhwYW5kIGNvbnRlbnQgdG8gdGhlIGJvdHRvbVxyXG4uaGlkZGVuLWZvb3RlciB7XHJcbiAgICAud3JhcHBlciAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMYXlvdXQgZnVsbCBzaXplXHJcbi5sYXlvdXQtZnMge1xyXG4gICAgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAkZm9vdGVyLWhnO1xyXG4gICAgICAgIHRvcDogJG5hdmJhci1oZztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhzKSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaGlkZGVuLWZvb3RlciB7XHJcbiAgICAgICAgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTGF5b3V0IEhvcml6b250YWwgTmF2XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5sYXlvdXQtaCB7XHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vZmZzaWRlYmFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJG5hdmJhci1oZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sYXlvdXQtZml4ZWQgLndyYXBwZXIge1xyXG4gICAgICAgIC5zZWN0aW9uLWNvbnRhaW5lcixcclxuICAgICAgICAub2Zmc2lkZWJhciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRuYXZiYXItaGc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQXNpZGUgZmxvYXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGZsb2F0LXNwYWNlOiAxNXB4O1xyXG4uYXNpZGUtZmxvYXQge1xyXG5cclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyByZW1vdmVzXHJcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZmxvYXQtc3BhY2UgMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIC5hc2lkZS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0b3A6ICRmbG9hdC1zcGFjZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogJGZsb2F0LXNwYWNlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2lkZWJhciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2lkZWJhcjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGZsb2F0LXNwYWNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb290ZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICRmbG9hdC1zcGFjZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnVud3JhcCB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNhYmxlcyB1bndyYXBcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYXNpZGUtdG9nZ2xlZCAud3JhcHBlciB7XHJcbiAgICAgICAgLy8gc21hbGwgZGVsYXkgdG8gYWRkIHNvbWUgZWZmZWN0IHRvIHNpZGViYXIgc2xpZGVcclxuICAgICAgICAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogZGVsYXkoMC4wNXMpO1xyXG4gICAgICAgICAgICAuYXNpZGUtaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmbG9hdC1zcGFjZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRmbG9hdC1zcGFjZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiAkZmxvYXQtc3BhY2U7XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyBhZGFwdCBoZWFkZXIgbG9nb1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICYuYXNpZGUtY29sbGFwc2VkIC50b3BuYXZiYXIgLm5hdmJhci1oZWFkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogJGFzaWRlLXdkLWNvbGxhcHNlZCArICgkZmxvYXQtc3BhY2UgKiAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hc2lkZS1jb2xsYXBzZWQtdGV4dCAudG9wbmF2YmFyIC5uYXZiYXItaGVhZGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dCArICgkZmxvYXQtc3BhY2UgKiAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXlvdXQtZnMge1xyXG4gICAgICAgICAgICAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53cmFwcGVyIC5hc2lkZS1jb250YWluZXIgLmFzaWRlLWlubmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmbG9hdC1zcGFjZTtcclxuICAgICAgICB9XHJcbiAgICB9IC8vIGJveGVkIGJlaGF2aW9yXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgJi5sYXlvdXQtYm94ZWQge1xyXG4gICAgICAgICAgICAud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIC5hc2lkZS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyB0b2dnbGUgc3RhdGVcclxuICAgICYuYXNpZGUtdG9nZ2xlZCB7XHJcbiAgICAgICAgJi5sYXlvdXQtZnMge1xyXG4gICAgICAgICAgICAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dC1hbmltYXRpb24ubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigje1wid2lkdGggLjJzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSwgdHJhbnNsYXRlIC4ycyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSlcIn0pO1xyXG59XHJcblxyXG4uYXNpZGUtaW5uZXIsXHJcbi5uYXZiYXItaGVhZGVyLFxyXG4uc2lkZWJhcj4uc2lkZWJhci1uYXY+bGkge1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTtcclxufVxyXG5cclxuLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IC4ycyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XHJcbn1cclxuXHJcbi5zaWRlYmFyPi5zaWRlYmFyLW5hdiAuYmFkZ2Uge1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAxcztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbn1cclxuXHJcbi5hc2lkZS1jb2xsYXBzZWQgLnNpZGViYXI+LnNpZGViYXItbmF2IC5iYWRnZSxcclxuLmFzaWRlLWNvbGxhcHNlZC10ZXh0IC5zaWRlYmFyPi5zaWRlYmFyLW5hdiAuYmFkZ2Uge1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMXM7XHJcbn1cclxuXHJcbi5zaWRlYmFyIC5zaWRlYmFyLW5hdj5saT5hIHtcclxuICAgIGFuaW1hdGlvbjogZmFkZUluTGVmdCAuNXM7XHJcbn1cclxuXHJcbi5zaWRlYmFyPi5zaWRlYmFyLW5hdj4ubmF2LWhlYWRpbmcsXHJcbi5zaWRlYmFyPi5zaWRlYmFyLW5hdj5saT5hPnNwYW4sXHJcbi5uYXZiYXItYnJhbmQgLmJyYW5kLWxvZ28ge1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMXM7XHJcbn1cclxuXHJcbi5zaWRlYmFyIGxpPmEsXHJcbi5zaWRlYmFyIGxpPi5uYXYtaXRlbSxcclxuLnNpZGViYXI+LnNpZGViYXItbmF2Pi5uYXYtaGVhZGluZyB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uYXNpZGUtY29sbGFwc2VkLFxyXG4uYXNpZGUtY29sbGFwc2VkLXRleHQge1xyXG4gICAgLnVzZXItYmxvY2stcGljdHVyZSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTtcclxuICAgIH1cclxuICAgIC51c2VyLWJsb2NrIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9cclxuLy8gSG9yaXpvbnRhbCB0b3AgbmF2YmFyXHJcbi8vIGJhc2VkIG9uIHRoZSBib290c3RyYXAgbmF2YmFyIHN0eWxlcyBhbmQgbWFya3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRuYXYtaGVhZGVyLXdkOiAgICAgICAgICAgICAgICAgJGFzaWRlLXdkO1xyXG4kbmF2LWhlYWRlci13ZC10b2dnbGVkOiAgICAgICAgICRhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcblxyXG4kbmF2LWhlYWRlci13ZC10b2dnbGVkLXRleHQ6ICAgICRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dDtcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgI2VlZWVlZTtcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAjZWVlZWVlO1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbS1tb2JpbGU6ICAgICAgICAgICAjZTMxYjIzO1xyXG4kbmF2LXRvcC1pdGVtLW1vYmlsZS1hY3RpdmU6ICAgIGRhcmtlbigkbmF2LXRvcC1pdGVtLW1vYmlsZSwgMjAlKTtcclxuXHJcbiRuYXYtdG9wLWl0ZW0tZGVza3RvcDogICAgICAgICAgI2UzMWIyMztcclxuJG5hdi10b3AtaXRlbS1kZXNrdG9wLWFjdGl2ZTogICAkbmF2LXRvcC1pdGVtLW1vYmlsZS1hY3RpdmU7XHJcblxyXG5cclxuLy8gTmF2YmFyIHRvcCBsYXlvdXRcclxuLnRvcG5hdmJhciB7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4ZXMgY2hyb21lIGp1bXAgKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgei1pbmRleDogMTA1MDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTsgLy8gLy8gZG9udCcgYWxsb3cgc3RhY2tlZCBpY29uc1xyXG59XHJcblxyXG4vLyBOYXZiYXIgTW9iaWxlIEdlbmVyYWwgc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udG9wbmF2YmFyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAubmF2YmFyLWhlYWRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1oZWFkZXItYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1oZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxMTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9IC8vIFJlc2V0IGRlZmF1bHQgdG8gYWxsb3cgaGFuZGxlIHZpYSBkaWZmZXJlbnQgbG9nbyBzaXplXHJcbiAgICAgICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfSAvLyBEaWZmZXJlbnQgTG9nbyBzaXplIGRlcGVuZHMgb24gdGhlIG5hdmJhciBzdGF0ZVxyXG4gICAgICAgIC5icmFuZC1sb2dvLFxyXG4gICAgICAgIC5icmFuZC1sb2dvLWNvbGxhcHNlZCB7XHJcbiAgICAgICAgICAgID5pbWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJyYW5kLWxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnJhbmQtbG9nby1jb2xsYXBzZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIGFsbG93IGhlYWRlciB0byBiZSBwYXJlbnQgb2YgZHJvcGRvd25cclxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgLy8gY2xvc2UgdG8gaGVhZGVyXHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyBUb3AgbmF2YmFyIGRyb3Bkb3duIG9uIGRlc2t0b3BcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIC8vIHN0YW5kYXJkIGxlZnQgYWxpZ25tZW50XHJcbiAgICAgICAgICAgICAgICB0b3A6ICRuYXZiYXItaGVpZ2h0IC0gMTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgfSAvLyByZWRlZmluZWQgc2luY2Ugd2UgZG9uJ3QgdXNlZCBuYXZiYXItZXhwYW5kLSogY2xhc3NcclxuICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItYnJhbmQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWRlc2t0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1kZXNrdG9wO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdj4ubmF2LWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdj4ubmF2LWl0ZW0+Lm5hdi1saW5rIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjFyZW0gLjk1cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xyXG4gICAgfVxyXG4gICAgLm5hdmJhci1uYXY+Lm5hdi1pdGVtPi5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5zaG93Pi5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW0tZGVza3RvcDtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1kZXNrdG9wLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9IC8vIE5hdmJhciBsaW5rIGFjdGl2ZSBzdHlsZVxyXG4gICAgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmFjdGl2ZT4ubmF2LWxpbmssXHJcbiAgICAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uc2hvdz4ubmF2LWxpbmsge1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyB0aGUgYnV0dG9uIHRvIHRvZ2dsZSBzZWFyY2hcclxuICAgIC5uYXZiYXItbmF2PmxpPltkYXRhLXRvZ2dsZT0nbmF2YmFyLXNlYXJjaCddIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJG5hdmJhci1oZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuM3MgZWFzZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1kZXNrdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICAubmF2YmFyLXRleHQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQ3VzdG9taXplIGhlYWRlciBmb3IgaG9yaXpvbnRhbCBsYXlvdXRcclxuLmxheW91dC1oIHtcclxuICAgIC50b3BuYXZiYXIge1xyXG4gICAgICAgIC8vIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICAubmF2YmFyLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgICAgICAgICAgICAgICRidXR0b24tdG9nZ2xlci1pY29uLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCw8c3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBzdHJva2U9JyN7JGJ1dHRvbi10b2dnbGVyLWljb24tY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBtYWtlIG1lbnUgZnVsbCBzaXplXHJcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1mb3JtIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgLnNpZGViYXItdG9nZ2xlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDMwMDE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBOYXZiYXIgU2VhcmNoIEZvcm1cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi50b3BuYXZiYXIge1xyXG5cclxuICAgIC5uYXZiYXItZm9ybSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xyXG4gICAgICAgIHotaW5kZXg6IDkwMDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUyZTM7XHJcblxyXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub3BlbiB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9IC8vIHJlIGxvY2F0ZSBhbmQgY2VudGVyIGZlZWRiYWNrXHJcbiAgICAgICAgLm5hdmJhci1mb3JtLWNsb3NlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNjMWMyYzM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAvLyBtYWtlIGljb24gY2xpY2thYmxlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcclxuICAgICAgICAubmF2YmFyLWZvcm0ge1xyXG4gICAgICAgICAgICBsZWZ0OiAkbmF2LWhlYWRlci13ZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5hdmJhciBEZXNrdG9wIHN0eWxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cclxuICAgIC8vIE5hdmJhciB0b3Agc3R5bGVzXHJcbiAgICAudG9wbmF2YmFyIHtcclxuXHJcbiAgICAgICAgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLnNob3c+Lm5hdi1saW5rIHtcclxuICAgICAgICAgICAgJixcclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggMCBkYXJrZW4oJG5hdi10b3AtYmcsIDYlKSBpbnNldDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC4ycyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSAvLyAudG9wbmF2YmFyXHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC5hc2lkZS1jb2xsYXBzZWQge1xyXG4gICAgICAgIC50b3BuYXZiYXIge1xyXG4gICAgICAgICAgICAubmF2YmFyLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAuYnJhbmQtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5icmFuZC1sb2dvLWNvbGxhcHNlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uYXZiYXItaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkbmF2LWhlYWRlci13ZC10b2dnbGVkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubmF2YmFyLWZvcm0ge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogJG5hdi1oZWFkZXItd2QtdG9nZ2xlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSGVhZGVyIG9uIGFzaWRlIGNvbGxhcHNlZCB3aXRoIFRleHRcclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLmFzaWRlLWNvbGxhcHNlZC10ZXh0IHtcclxuICAgICAgICAudG9wbmF2YmFyIHtcclxuICAgICAgICAgICAgLm5hdmJhci1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgLmJyYW5kLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYnJhbmQtbG9nby1jb2xsYXBzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubmF2YmFyLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJG5hdi1oZWFkZXItd2QtdG9nZ2xlZC10ZXh0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubmF2YmFyLWZvcm0ge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogJG5hdi1oZWFkZXItd2QtdG9nZ2xlZC10ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgIzUxNTI1MztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICNlMzFiMjM7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICNlMzFiMjM7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4kc3VibWVudS1oZWFkZXItaGc6ICAgICAgICAgICAgICAgNDBweDsgICAvLyBTdWJtZW51IGhlYWRlciB3aGVuIGhvdmVyIGNvbGxhcHNlIHNpZGViYXJcclxuJHNpZGViYXItaXRlbS1ib3JkZXItd2Q6ICAgICAgICAgIDNweDtcclxuJHNjcm9sbGJhci13ZDogICAgICAgICAgICAgICAgICAgIDE3cHg7XHJcblxyXG4uc2lkZWJhciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvLyBkcmF3IGEgZGl2aWRlciBmb3IgdGhlIHNpZGViYXJcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMTUpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMzVlbTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEl0ZW1zXHJcbi8vIEZpcnN0IG1haW4gbGV2ZWxcclxuLnNpZGViYXItbmF2IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lOyAvLyBPbmx5IHRoZSBmaXJzdCBpdGVtIGluIHNpZGViYXJcclxuICAgID4ubmF2LWhlYWRpbmc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgID5saSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaWRlYmFyLWl0ZW0tYm9yZGVyLXdkIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWxlZnQtY29sb3IgMC40cyBlYXNlKTtcclxuXHJcbiAgICAgICAgPmEsXHJcbiAgICAgICAgPi5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDI1ZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfSAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPmVtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjhlbTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAmLm9wZW4ge1xyXG4gICAgICAgICAgICAmLFxyXG4gICAgICAgICAgICA+YSxcclxuICAgICAgICAgICAgPi5uYXYtaXRlbSxcclxuICAgICAgICAgICAgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4ubmF2LWl0ZW0+ZW0sXHJcbiAgICAgICAgICAgID5hPmVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhZGdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gSGlkZXMgdGhlIHNjcm9sbGJhciBvbmx5IG9uIGRlc2t0b3BzXHJcbiR0YWJsZXQtbGFuZHNjYXBlOiAxMDI1cHg7XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1sYW5kc2NhcGUpIHtcclxuICAgIC5zaWRlYmFyOm5vdCguc2hvdy1zY3JvbGxiYXIpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kc2Nyb2xsYmFyLXdkO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU3ViIExldmVsc1xyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgPi5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgID5saSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICA+YSxcclxuICAgICAgICA+Lm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUzcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfSAvLyBzdWJtZW51IGljb25zXHJcbiAgICAgICAgICAgID5lbSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS44ZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIC0yZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgPmEsXHJcbiAgICAgICAgICAgID4ubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IC8vIE5lc3RlZCBsZXZlbHNcclxuICAgICAgICAuc2lkZWJhci1uYXY+bGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9IC8vIGxpXHJcbiAgICAvLyBUaGlzIG9ubHkgaGFwcGVuZCB3aGVuIHNpZGViYXIgaXMgY29sbGFwc2VkIGFuZCB0aGUgc3VibWVudVxyXG4gICAgLy8gdmlzaWJpbGl0eSBpcyB0b2dnbGVkIHZpYSBqc1xyXG4gICAgJi5uYXYtZmxvYXRpbmcge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IC8vIHdlIHJlc3VzZSB0aGUgY29sbGFwc2UgZWxlbWVudCBzbyB3ZSBuZWVkIHRvIG92ZXJyaWRlXHJcbiAgICAgICAgJixcclxuICAgICAgICAuY29sbGFwc2UsIC5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICYub3BlbmluZyB7XHJcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+LnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH0gLy8gcmVkdWNlIHBhZGRpbmcgd2hlbiBpdGVtIGlzIG9uIHNpZGViYXIgY29sbGFwc2VkXHJcbiAgICAgICAgbGk+YSxcclxuICAgICAgICBsaT4ubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IC8vIHN1Ym1lbnUgaWNvbnNcclxuICAgICAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERlc2t0b3Agc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcblxyXG4gICAgLnNpZGViYXI+LnNpZGViYXItbmF2IHtcclxuXHJcbiAgICAgICAgLmJhZGdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IC8vIEBtZWRpYSBAZGVza3RvcFxyXG4vLyBDb2xsYXBzZWQgc3RhdGUgc3R5bGVzXHJcbi5hc2lkZS1jb2xsYXBzZWQsXHJcbi5hc2lkZS1jb2xsYXBzZWQtdGV4dCB7XHJcblxyXG4gICAgLnNpZGViYXIge1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgLy8gQXBwbGllcyB0byBmaXJzdCBsZXZlbCBpdGVtc1xyXG4gICAgICAgID4uc2lkZWJhci1uYXYge1xyXG5cclxuICAgICAgICAgICAgLnNpZGViYXItbmF2LFxyXG4gICAgICAgICAgICA+Lm5hdi1oZWFkaW5nLFxyXG4gICAgICAgICAgICA+bGk+Lm5hdi1pdGVtPnNwYW4sXHJcbiAgICAgICAgICAgID5saT5hPnNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+bGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRhc2lkZS13ZC1jb2xsYXBzZWQgLSAxO1xyXG4gICAgICAgICAgICAgICAgPmEsXHJcbiAgICAgICAgICAgICAgICA+Lm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLSRzaWRlYmFyLWl0ZW0tYm9yZGVyLXdkO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgPmVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTsgLy8gaW5jcmVhc2UgaWNvbnMgc2l6ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFjY2Vzc2liaWxpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5lbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gLy8gbGFiZWxzIGluIG1lbnUgaXRlbXNcclxuICAgICAgICAuc2lkZWJhci1uYXYge1xyXG4gICAgICAgICAgICAuYmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyAuc2lkZWJhclxyXG59IC8vIC5hc2lkZS1jb2xsYXBzZWQvdGV4dFxyXG4uYXNpZGUtY29sbGFwc2VkLXRleHQge1xyXG5cclxuICAgIC5zaWRlYmFyIHtcclxuICAgICAgICA+LnNpZGViYXItbmF2IHtcclxuXHJcbiAgICAgICAgICAgID5saT4ubmF2LWl0ZW0+c3BhbixcclxuICAgICAgICAgICAgPmxpPmE+c3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+bGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRhc2lkZS13ZC1jb2xsYXBzZWQtdGV4dCAtIDI7XHJcbiAgICAgICAgICAgICAgICA+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgID5lbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vXHJcbi8vIEEgc2lkZWJhciBpbiBvZmZjYW52YXMgbW9kZVxyXG4vLyBPcGVuIHN0YXR1cyB0b2dnbGVkIHZpYSBKU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyYXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG4kb2Zmc2lkZWJhci13ZDogICAgICAgICAgICRhc2lkZS13ZCArIDE1cHg7ICAgICAgLy8gbWF0Y2ggdGhlIHdpZHRoIHdpdGggdGhlIG1haW4gYXNpZGUgY29tcG9uZW50XHJcblxyXG4ub2Zmc2lkZWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAkb2Zmc2lkZWJhci13ZDtcclxuICAgIG1hcmdpbi10b3A6ICRuYXZiYXItaGVpZ2h0O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgPi5saXN0LWdyb3VwIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZ3Jlc3Mge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICAudGFiLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfSAvLyBjaGFuZ2Ugc3R5bGUgb2YgdGFiIGNvbXBvbmVudCBpbnNpZGUgb2Zmc2lkZWJhclxyXG4gICAgLm5hdi10YWJzIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDUpO1xyXG4gICAgICAgID4ubmF2LWl0ZW0+Lm5hdi1saW5rIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDUpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRuYXZiYXItaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHbG9iYWwgb3BlbiBzdGF0dXMgKGF0dGFjaCB0byBib2R5KVxyXG4ub2Zmc2lkZWJhci1vcGVuIHtcclxuICAgIC5vZmZzaWRlYmFyIHtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW4tc2VjdGlvbiArIDU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLy8gTm8gdHJhbmZvcm1hdGlvbiBkZXZpY2VzXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIHJpZ2h0OiAtJG9mZnNpZGViYXItd2Q7XHJcbn1cclxuXHJcbi5uby1jc3N0cmFuc2Zvcm1zM2Qge1xyXG4gICAgLm9mZnNpZGViYXItb3BlbiB7XHJcbiAgICAgICAgLm9mZnNpZGViYXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBUcmFuc2Zvcm1hdGlvbiByZWFkeSBkZXZpY2VzKi9cclxuXHJcbi5jc3N0cmFuc2Zvcm1zM2Qge1xyXG4gICAgLm9mZnNpZGViYXIge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoICgkb2Zmc2lkZWJhci13ZCksIDAsIDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgei1pbmRleCAwcyBsaW5lYXIgLjNzO1xyXG4gICAgfVxyXG4gICAgLm9mZnNpZGViYXItb3BlbiB7XHJcbiAgICAgICAgLm9mZnNpZGViYXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogdXNlci1ibG9ja1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIGZvciB1c2UgYXMgbmF2YmFyIGl0ZW1cclxuLmhhcy11c2VyLWJsb2NrIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgLy8gd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVzZXItYmxvY2sge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMjVweCAwIDEwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuICAgID4gLnVzZXItYmxvY2stcGljdHVyZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXItYmxvY2staW5mbyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgIC51c2VyLWJsb2NrLW5hbWUsIC51c2VyLWJsb2NrLXJvbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51c2VyLWJsb2NrLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogIzdEODQ4RjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51c2VyLWJsb2NrLXJvbGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4udXNlci1ibG9jay1zdGF0dXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgID4gLmNpcmNsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gQWRhcHQgdG8gY29sbGFwc2VkIG1vZGVcclxuLmFzaWRlLWNvbGxhcHNlZCwgLmFzaWRlLWNvbGxhcHNlZC10ZXh0IHtcclxuICAgIC51c2VyLWJsb2NrIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTRweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICA+IC51c2VyLWJsb2NrLXBpY3R1cmUge1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuXHJcbiAgICAgICAgICAgID4gLnVzZXItYmxvY2stc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVzZXItYmxvY2staW5mbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLy8gVXNlZCBmb3IgdGhlbWUgc3d0aWNoZXJcclxuLnNldHRpbmctY29sb3Ige1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcblxyXG4gICAgPmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMSk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAkYmFzZUhnOiAxNXB4O1xyXG4gICAgICAgID4uY29sb3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYmFzZUhnICogMS4yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPi5zcGxpdCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICA+LmNvbG9yIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYmFzZUhnICogMi41O1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IC8vIGljb24gY2hlY2tlZFxyXG4gICAgICAgID4uaWNvbi1jaGVjayB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjMzMzMzMzMzZW07XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgJjpjaGVja2VkKy5pY29uLWNoZWNrIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IHR5cG9cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AaW1wb3J0IHVybCgvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9U291cmNlK1NhbnMrUHJvOjMwMCw0MDAsNjAwLDQwMGl0YWxpYyk7XHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgLy8gMTRweFxyXG59XHJcblxyXG5oMSxoMixoMyxoNCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuaDEsaDIsaDMsaDQsaDUsaDYsXHJcbi5oMSwuaDIsLmgzLC5oNCwuaDUsLmg2IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNjU2MjVyZW07XHJcbn1cclxuXHJcbmgxLC5oMSB7XHJcbiAgICBmb250LXNpemU6IDIuMjVyZW07IC8vIDM2cHhcclxufVxyXG5cclxuaDIsLmgyIHtcclxuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IC8vIDMwcHhcclxufVxyXG5cclxuaDMsLmgzIHtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtOyAvLyAyNHB4XHJcbn1cclxuXHJcbmg0LC5oNCB7XHJcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyAvLyAxOHB4XHJcbn1cclxuXHJcbmg1LC5oNSB7XHJcbiAgICBmb250LXNpemU6IC44NzVyZW07XHJcbn1cclxuXHJcbmg2LC5oNiB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjY1cmVtOyAvLyB+MTBweFxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogYm9vdHN0cmFwLXJlc2V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gVXNlIHRoaXMgZmlsZSB0byByZXNldCBzaW1wbGUgYm9vdHN0cmFwIHN0eWxlc1xyXG4vLyBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgY29yZSBmaWxlc1xyXG4vLyBNYWtlcyBlYXN5IHRvIHVwZGF0ZSBuZXcgZnJhbWV3b3JrIHZlcnNpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4qOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudFxyXG59XHJcblxyXG5hIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICYudGV4dC1tdXRlZCB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkdGV4dC1tdXRlZCwgMTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmhyIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcclxufVxyXG5cclxuLy8gY3VzdG9tIGVsZW1lbnRcclxuW2RhdGEtbm93XSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5iYWRnZSB7XHJcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC40Mzc1cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XHJcbiAgICAmLmJhZGdlLXdhcm5pbmcge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLmJhZGdlLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLmxpc3QtZ3JvdXAge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICM1NTU7XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgLmJhZGdlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQ+JiB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saXN0LWdyb3VwKy5jYXJkLWZvb3RlciB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4ucGFnZS1oZWFkZXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAuNTkzNzVyZW07XHJcbiAgICBtYXJnaW46IDIuNjI1cmVtIDAgMS4zMTI1cmVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAuY2FyZC1oZWFkZXIge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC5jYXJkLXRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyAvLzE1cHhcclxuICAgIH1cclxuICAgIC5jYXJkLWZvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZC1kZWZhdWx0IHtcclxuXHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XHJcbiAgICBib3JkZXItY29sb3I6ICRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yO1xyXG5cclxuICAgIC5jYXJkLWhlYWRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLndlbGwge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XHJcbn1cclxuXHJcbi5qdW1ib3Ryb24ge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nLzIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2LXRhYnM+Lm5hdi1pdGVtPi5uYXYtbGluayB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFiLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcclxuICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XHJcbiAgICAubmF2LXBpbGxzKyYge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLnAtMCAmIHtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5idG4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAvLyBwYWRkaW5nOiAwLjM3NXJlbSAxcmVtO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjFzKTtcclxuICAgICYuYnRuLWxpbmsge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gICAgLmlucHV0LWdyb3VwICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbC1zbSsuaW5wdXQtZ3JvdXAtYnRuICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRlIGJ1dHRvbiBzdHlsZXNcclxuLmJ0biB7XHJcbiAgICAmLmJ0bi13YXJuaW5nIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmUtd2FybmluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLXNlY29uZGFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXNlY29uZGFyeS1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJGJ0bi1zZWNvbmRhcnktYm9yZGVyO1xyXG4gICAgY29sb3I6ICRidG4tc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIH0gLy8gYWN0aXZlIHN0YXRlIG92ZXJyaWRlXHJcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcclxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxyXG4gICAgLnNob3c+Ji5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJ0bi1zZWNvbmRhcnktYm9yZGVyICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGJ0bi1zZWNvbmRhcnktY29sb3I7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGJ0bi1zZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoJGJ0bi1zZWNvbmRhcnktYm9yZGVyLCAwLjUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5zcGFuLmJ0biB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBGT1JNU1xyXG4uZm9ybS1jb250cm9sIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IC8vMTRweFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1jb250cm9sLXNtLFxyXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtIHtcclxuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xyXG4gICAgaGVpZ2h0OiAzMXB4O1xyXG59XHJcblxyXG4uY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcclxuICAgIHRvcDogMC4xOXJlbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2VlZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAmLmxhc3QtY2hpbGQsXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmlucHV0LWdyb3VwLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAuODc1cmVtOyAvLyAxNHB4XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgLy8gUmVtb3ZlIElucHV0IFNoYWRvd3Mgb24gaVBhZFxyXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRBQkxFU1xyXG4udGFibGUtcmVzcG9uc2l2ZSB7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuXHJcbi50YWJsZSB7XHJcblxyXG4gICAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcclxuICAgID50aGVhZD50cj50aCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcclxuICAgIH0gLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXHJcbiAgICA+dGJvZHkrdGJvZHkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1ib3JkZXJlZCB7XHJcbiAgICA+dGhlYWQ+dHIge1xyXG4gICAgICAgID50aCxcclxuICAgICAgICA+dGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnByb2dyZXNzIHtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgIzAwMCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcm9ncmVzcy1iZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCAwICMwMDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQb3BvdmVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5wb3BvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXktbGlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcclxuICAgIC5wb3BvdmVyLXRpdGxlIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBOQVZcclxuLm5hdiB7XHJcbiAgICAmLm5hdi1waWxscyB7XHJcbiAgICAgICAgLmFjdGl2ZT5hIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEUk9QRE9XTlxyXG4uZHJvcGRvd24tbWVudSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwO1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjE3NikgMHB4IDZweCAxMnB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xyXG4gICAgLmRyb3Bkb3duLWl0ZW0ge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUyODU3MTQzO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAxLjI1cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24taGVhZGVyIHtcclxuICAgIGNvbG9yOiAjYTFhMmEzO1xyXG59XHJcblxyXG4ubmF2YmFyLXRvcCAubmF2YmFyLW5hdj4uYWN0aXZlPmEge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICNkMWQyZDM7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YSB7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogIzIyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ0FST1VTRUxcclxuLmNhcm91c2VsIHtcclxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuY2Fyb3VzZWwtY29udHJvbCB7XHJcbiAgICAgICAgJi5sZWZ0LFxyXG4gICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgIH0gLy8gQWRkIHN1cHBvcnQgZm9yIGZvbnQgYXdlc29tZVxyXG4gICAgICAgIGVtIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBTEVSVFxyXG5AZWFjaCAkY29sb3IsXHJcbiR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcclxuICAgIC5hbGVydC0jeyRjb2xvcn0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUsICNmZmYpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBmaXggZm9yIGllOSAoZHJvcGR3b24gbm8gc2hvd2luZylcclxuLnRvcG5hdmJhcixcclxuLm5hdmJhcixcclxuLm5hdmJhciAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGJvb3RzdHJhcC1jdXN0b21cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBVc2UgdGhpcyBmaWxlIHRvIGFkZCBjdXN0b20gY3NzIHRoYXQgbWF5XHJcbi8vIGRlcGVuZCBvbiBCb290c3RyYXAgc3R5bGVzXHJcblxyXG5cclxuXHJcbi8vIERpZmZlcmVudCBjb250YWluZXIgc2l6ZSB0byB3cmFwIGNvbnRlbnRcclxuLmNvbnRhaW5lci1zbSB7XHJcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcInNtXCIpO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5jb250YWluZXItbWQge1xyXG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgXCJtZFwiKTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uY29udGFpbmVyLWxnIHtcclxuICAgIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIFwibGdcIik7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuLy8gUmVtb3ZlIHBhZGRpbmcgYW5kIGNvbGxhcHNlIGNvbHVtbnNcclxuLnJvdy1mbHVzaCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICA+LmNvbCxcclxuICAgID5bY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBCcmVhZGNydW1iIHZhcmlhbnRzXHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAvLyBCcmVhZGNydW1iIGJlbG93IHRpdGxlXHJcbiAgICAuYnJlYWRjcnVtYiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC8vIEJyZWFkY3J1bWIgbmV4dCB0byB2aWV3IHRpdGxlXHJcbiAgICArLmJyZWFkY3J1bWIge1xyXG4gICAgICAgIG1hcmdpbjogLTI1cHggLTI1cHggMjBweCAtMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1oZWFkaW5nLWJnO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29udGVudC1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbnRlbnQtaGVhZGluZy1ib3JkZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERpZmZlcmVudCBzaXplIG9mIFByb2dyZXNzIGJhcnNcclxuJHByb2dyZXNzLWhlaWdodC1zbTogMTVweDtcclxuJHByb2dyZXNzLWhlaWdodC14czogOHB4O1xyXG5cclxuLnByb2dyZXNzLXNtIHtcclxuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodC1zbTtcclxufVxyXG5cclxuLnByb2dyZXNzLXhzIHtcclxuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodC14cztcclxufVxyXG5cclxuXHJcbi8vIEV4dHJhIGJhZGdlc1xyXG5cclxuLmJhZGdlLWludmVyc2Uge1xyXG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkaW52ZXJzZSk7XHJcbn1cclxuXHJcbi5iYWRnZS1ncmVlbiB7XHJcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCRncmVlbik7XHJcbn1cclxuXHJcbi5iYWRnZS1waW5rIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHBpbmspO1xyXG59XHJcblxyXG4uYmFkZ2UtcHVycGxlIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHB1cnBsZSk7XHJcbn1cclxuXHJcblxyXG4vLyBFeHRyYSBhbGVydFxyXG5cclxuLmFsZXJ0LXB1cnBsZSB7XHJcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRwdXJwbGUsICRwdXJwbGUsICNmZmYpO1xyXG59XHJcbi5hbGVydC1ncmVlbiB7XHJcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRncmVlbiwgJGdyZWVuLCAjZmZmKTtcclxufVxyXG4uYWxlcnQtcGluayB7XHJcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRwaW5rLCAkcGluaywgI2ZmZik7XHJcbn1cclxuLmFsZXJ0LWludmVyc2Uge1xyXG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkaW52ZXJzZSwgJGludmVyc2UsICNmZmYpO1xyXG59XHJcblxyXG4vLyBGb3JtIFJvdW5kZWRcclxuLmZvcm0tY29udHJvbC1yb3VuZGVkIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogYnV0dG9uLWV4dHJhXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9cclxuLy8gRXh0ZW5zaW9uIGZvciBCb290c3RyYXAgYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQlVUVE9OUyBMQUJFTCBtaXhpblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYnV0dG9uLWxhYmVsLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRib3JkZXItcmFkaXVzKSB7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgbGVmdDogKC0xICogJHBhZGRpbmctaG9yaXpvbnRhbCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAoJGJvcmRlci1yYWRpdXMvKiAgLSAxcHggKi9cclxuICAgICkgMCAwICgkYm9yZGVyLXJhZGl1cy8qICAtIDFweCAqL1xyXG4gICAgKTtcclxuXHJcbiAgICAmLmJ0bi1sYWJlbC1yaWdodCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogKC0xICogJHBhZGRpbmctaG9yaXpvbnRhbCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAoJGJvcmRlci1yYWRpdXMvKiAgLSAxcHggKi9cclxuICAgICAgICApICgkYm9yZGVyLXJhZGl1cy8qICAtIDFweCAqL1xyXG4gICAgICAgICkgMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIE5ldyBjb2xvcnNcclxuLmJ0bi1pbnZlcnNlIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRpbnZlcnNlLCAkaW52ZXJzZSk7XHJcbn1cclxuXHJcbi5idG4tZ3JlZW4ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGdyZWVuLCAkZ3JlZW4pO1xyXG59XHJcblxyXG4uYnRuLXB1cnBsZSB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkcHVycGxlLCAkcHVycGxlKTtcclxufVxyXG5cclxuLmJ0bi1waW5rIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRwaW5rLCAkcGluayk7XHJcbn1cclxuXHJcbi8vIEZsYXQgc3F1YXJlIGJ1dHRvblxyXG4uYnRuLWZsYXQge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbn1cclxuXHJcbi8vIEV4dHJhIHNpemVcclxuLmJ0bi14cyB7XHJcbiAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4zMTI1cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcblxyXG4uYnRuLXhsIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLy8gQnV0dG9uIHNxdWFyZVxyXG4uYnRuLXNxdWFyZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG5cclxuLy8gQnV0dG9uIHBpbGxcclxuLmJ0bi1waWxsLWxlZnQge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTBweDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XHJcbn1cclxuXHJcbi5idG4tcGlsbC1yaWdodCB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNTBweDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1MHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMThweDtcclxufVxyXG5cclxuLy8gUm91bmRlZCBidXR0b25zXHJcbi5idG4tb3ZhbCB7XHJcbiAgICBAZXh0ZW5kIC5idG4tcGlsbC1yaWdodDtcclxuICAgIEBleHRlbmQgLmJ0bi1waWxsLWxlZnQ7XHJcbn1cclxuXHJcbi8vIExhYmVscyBmb3IgYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uYnRuLWxhYmVsZWQge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxufVxyXG5cclxuLmJ0bi1sYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tbGFiZWwtc2l6ZSgkaW5wdXQtYnRuLXBhZGRpbmcteSwgJGlucHV0LWJ0bi1wYWRkaW5nLXgsICRib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmJ0bi1sZyAuYnRuLWxhYmVsIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1sYWJlbC1zaXplKCRpbnB1dC1idG4tcGFkZGluZy15LWxnLCAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xyXG59XHJcblxyXG4uYnRuLXNtIC5idG4tbGFiZWwge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWxhYmVsLXNpemUoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20sICRpbnB1dC1idG4tcGFkZGluZy14LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XHJcbn1cclxuXHJcbi5idG4teHMgLmJ0bi1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tbGFiZWwtc2l6ZSgxcHgsIDVweCwgJGJvcmRlci1yYWRpdXMtc20pO1xyXG59XHJcblxyXG5cclxuLy8gRml4ZWQgd2lkdGggYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYnRuLWZ3LWRlZmF1bHQgOiA4MHB4O1xyXG4kYnRuLWZ3LXNtIDogNDBweDtcclxuJGJ0bi1mdy1tZCA6IDYwcHg7XHJcbiRidG4tZnctbGcgOiAxNDBweDtcclxuXHJcbi5idG4tZncge1xyXG4gICAgbWluLXdpZHRoOiAkYnRuLWZ3LWRlZmF1bHQ7XHJcbiAgICAmLmJ0bi1zbSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAkYnRuLWZ3LXNtO1xyXG4gICAgfVxyXG4gICAgJi5idG4tbWQge1xyXG4gICAgICAgIG1pbi13aWR0aDogJGJ0bi1mdy1tZDtcclxuICAgIH1cclxuICAgICYuYnRuLWxnIHtcclxuICAgICAgICBtaW4td2lkdGg6ICRidG4tZnctbGc7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQnV0dG9uIENpcmNsZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uYnRuLWNpcmNsZSB7XHJcbiAgICAkc3o6IDM1cHg7XHJcbiAgICB3aWR0aDogJHN6O1xyXG4gICAgaGVpZ2h0OiAkc3o7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogJHN6O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgPioge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLmJ0bi1sZyB7XHJcbiAgICAgICAgJHN6LWxnOiA1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAkc3otbGc7XHJcbiAgICAgICAgaGVpZ2h0OiAkc3otbGc7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3otbGc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBPdXRsaW5lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5idG4tb3V0bGluZSB7XHJcbiAgICAmLWludmVyc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGludmVyc2UpO1xyXG4gICAgfVxyXG4gICAgJi1ncmVlbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkZ3JlZW4pO1xyXG4gICAgfVxyXG4gICAgJi1wdXJwbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHB1cnBsZSk7XHJcbiAgICB9XHJcbiAgICAmLXBpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHBpbmspO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogcGxhY2Vob2xkZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBEZWZpbmVzIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgYm94ZXNcclxuLy8gQ3JlYXRlIGEgcGxhY2Vob2xkZXIgc3BhY2UgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzIHZpYSBkcmFnIGFuZCBkcm9wLlxyXG4vLyBCYXNlZCBvbiB1aWtpdCBwbGFjZWhvbGRlciBhZGRvblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbCA6IDE1cHg7XHJcbiRwbGFjZWhvbGRlci1wYWRkaW5nIDogMjBweDtcclxuJHBsYWNlaG9sZGVyLWJvcmRlciA6ICNkZGQ7XHJcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kIDogI2ZhZmFmYTtcclxuJHBsYWNlaG9sZGVyLWNvbG9yIDogIzQ0NDtcclxuXHJcbiRwbGFjZWhvbGRlci1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsIDogODBweDtcclxuXHJcblxyXG4vLyBQbGFjZWhvbGRlciBjb250YWluZXJcclxuLmJveC1wbGFjZWhvbGRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsO1xyXG4gICAgcGFkZGluZzogJHBsYWNlaG9sZGVyLXBhZGRpbmc7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJHBsYWNlaG9sZGVyLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcclxufVxyXG5cclxuXHJcbi8vIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZCBcclxuLmJveC1wbGFjZWhvbGRlcj4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gVmFyaWFudFxyXG4uYm94LXBsYWNlaG9sZGVyLWxnIHtcclxuICAgIHBhZGRpbmctdG9wOiAkcGxhY2Vob2xkZXItbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGxhY2Vob2xkZXItbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGNhcmRzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhcmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgLy8yMHB4XHJcbn1cclxuXHJcbi8vXHJcbi8vIEFkZHMgc3VwcG9ydCB0byB1c2UgbW9yZSBjb21wb25lbnRzIGluc2lkZSBjYXJkc1xyXG4vL1xyXG4uY2FyZCB7XHJcbiAgICAudGFibGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgPnRoZWFkPnRyPnRoIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNhcmQtdHJhbnNwYXJlbnQge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG4gICAgICAgIC5jYXJkLWhlYWRlcixcclxuICAgICAgICAuY2FyZC1ib2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY2FyZC1mbGF0IHtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4uY2FyZC1jb2x1bW5zLTIge1xyXG4gICAgY29sdW1uLWNvdW50OiAxO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmQtaGVhZGVyIHtcclxuICAgID5hW2RhdGEtdG9vbF0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB3aWR0aDogMmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZC1kZWZhdWx0ICYge1xyXG4gICAgICAgID5hW2RhdGEtdG9vbF0ge1xyXG4gICAgICAgICAgICBjb2xvcjogI2MxYzJjMztcclxuICAgICAgICB9XHJcbiAgICB9IC8vIHJpZ2h0IGZsb2F0ZWQgbGFiZWxzIGFkanVzdCBwb3NpdGlvblxyXG4gICAgPi5iYWRnZS5mbG9hdC1yaWdodCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgICsuYmFkZ2UuZmxvYXQtcmlnaHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZC1mb290ZXIge1xyXG4gICAgLnBhZ2luYXRpb24ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5yYWRpYWwtYmFyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGNpcmNsZXNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb2xvcmVkIGNpcmNsZSBmb3IgaW5kaWNhdGlvbiBwdXJwb3Nlc1xyXG4kcG9pbnQtc3otc20gOiA1cHg7XHJcbiRwb2ludC1zeiA6IDdweDtcclxuJHBvaW50LXN6LWxnIDogMTFweDtcclxuJHBvaW50LXN6LXhsIDogMThweDtcclxuXHJcbi5jaXJjbGUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6ICRwb2ludC1zejtcclxuICAgIGhlaWdodDogJHBvaW50LXN6O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICBtYXJnaW46IDAgLjVlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICYudGV4dC1sZWZ0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuICAgICYudGV4dC1yaWdodCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTaXplc1xyXG4uY2lyY2xlLXNtIHtcclxuICAgIHdpZHRoOiAkcG9pbnQtc3otc207XHJcbiAgICBoZWlnaHQ6ICRwb2ludC1zei1zbTtcclxufVxyXG5cclxuLmNpcmNsZS1sZyB7XHJcbiAgICB3aWR0aDogJHBvaW50LXN6LWxnO1xyXG4gICAgaGVpZ2h0OiAkcG9pbnQtc3otbGc7XHJcbn1cclxuXHJcbi5jaXJjbGUteGwge1xyXG4gICAgd2lkdGg6ICRwb2ludC1zei14bDtcclxuICAgIGhlaWdodDogJHBvaW50LXN6LXhsO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogZHJvcGRvd24tZXh0cmFzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8vIEFsbG93cyB0byBtaXggbGlzdCBncm91cCBpbnNpZGUgZHJvcGRvd25zXHJcbi5kcm9wZG93bi1saXN0IHtcclxuXHJcbiAgICAuZHJvcGRvd24taXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICA+LmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubGlzdC1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LWdyb3VwLWl0ZW0ge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTGFiZWxzIGluc2lkZSBkcm9wZG93bnNcclxuLmRyb3Bkb3duIHtcclxuICAgID5hIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgPi5iYWRnZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFBvcHBlciBkb2VzbnQgcGxhY2UgY29ycmVjdGx5IGRyb3Bkb3duc1xyXG4vLyB3ZSBjYW4gdXNlIGZvcmNlZCBjbGFzcyB0byBwbGFjZSB0aGVtXHJcbi5kcm9wZG93bi1tZW51LXJpZ2h0LWZvcmNlZCB7XHJcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBSZW1vdmUgZGVmYXVsdCBpY29uIGZyb20gZHJvcGRvd25zXHJcbi5kcm9wZG93bi10b2dnbGUtbm9jYXJldCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogaGFsZi1mbG9hdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vXHJcbi8vIEZsb2F0IGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudFxyXG4vLyBhbmQgYWxpZ24gaXQgd2l0aCBhIGhhbGYgdG9wIGFuZCBib3R0b20gb2Zmc2V0XHJcbi8vIHJlbGF0aXZlIHRvIGl0cyBwYXJlbnRcclxuLy9cclxuLy8gLmhhbGYtZmxvYXRcclxuLy8gID4gLmhhbGYtZmxvYXQtW3RvcHxib3R0b21dXHJcbi8vXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGhhbGYtYWxpZ25lZC1zaXplIDogMTI4cHg7XHJcbiRoYWxmLWFsaWduZWQtZ3V0dGVyIDogNXB4O1xyXG5cclxuLmhhbGYtZmxvYXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogKCRoYWxmLWFsaWduZWQtc2l6ZS8yKSArICRoYWxmLWFsaWduZWQtZ3V0dGVyO1xyXG5cclxuICAgIC5oYWxmLWZsb2F0LWJvdHRvbSxcclxuICAgIC5oYWxmLWZsb2F0LXRvcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBib3R0b206IC0oJGhhbGYtYWxpZ25lZC1zaXplLzIpO1xyXG4gICAgICAgIHdpZHRoOiAkaGFsZi1hbGlnbmVkLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGFsZi1hbGlnbmVkLXNpemU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGhhbGYtYWxpZ25lZC1zaXplLzIpO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcblxyXG4gICAgLmhhbGYtZmxvYXQtdG9wIHtcclxuICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgdG9wOiAtKCRoYWxmLWFsaWduZWQtc2l6ZS8yKTtcclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGFuaW1hdGVcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyBOZXcgQW5pbWF0aW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwU2hvcnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcFNob3J0IHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYWRlT3V0VXBTaG9ydCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBTaG9ydDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBTaG9ydDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFkZUluVXBTaG9ydCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XHJcbn1cclxuXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluU2hvcnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tSW5TaG9ydCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi56b29tSW5TaG9ydCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5TaG9ydDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5TaG9ydDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21CYWNrIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNSwgLjUsIC41KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB6b29tQmFjayB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUzZCguNSwgLjUsIC41KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnpvb21CYWNrIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21CYWNrO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21CYWNrO1xyXG59XHJcblxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYWRlSW5MZWZ0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxufVxyXG5cclxuLy8gVGltaW5nIGZ1bmN0aW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBDdWJpY1xyXG4kZWFzZUluQ3ViaWMgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kZWFzZU91dEN1YmljIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2VJbk91dEN1YmljIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuXHJcbi8vIENpcmNcclxuJGVhc2VJbkNpcmMgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG4kZWFzZU91dENpcmMgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG4kZWFzZUluT3V0Q2lyYyA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG4vLyBFeHBvXHJcbiRlYXNlSW5FeHBvIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGVhc2VPdXRFeHBvIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGVhc2VJbk91dEV4cG8gOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG5cclxuLy8gUXVhZFxyXG4kZWFzZUluUXVhZCA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRlYXNlT3V0UXVhZCA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRlYXNlSW5PdXRRdWFkIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuXHJcbi8vIFF1YXJ0XHJcbiRlYXNlSW5RdWFydCA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRlYXNlT3V0UXVhcnQgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kZWFzZUluT3V0UXVhcnQgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG5cclxuLy8gUXVpbnRcclxuJGVhc2VJblF1aW50IDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJGVhc2VPdXRRdWludCA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRlYXNlSW5PdXRRdWludCA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcblxyXG4vLyBTaW5lXHJcbiRlYXNlSW5TaW5lIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGVhc2VPdXRTaW5lIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGVhc2VJbk91dFNpbmUgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG5cclxuLy8gQmFja1xyXG4kZWFzZUluQmFjayA6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xyXG4kZWFzZU91dEJhY2sgOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xyXG4kZWFzZUluT3V0QmFjayA6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IHNsaW0tc2Nyb2xsXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJHNsaW0tc2Nyb2xsLWJhci1iZyA6IGZhZGUtb3V0KCMwMDAsIDAuNjUpO1xyXG4kc2xpbS1zY3JvbGwtcmFpbC1iZyA6IGZhZGUtb3V0KCMwMDAsIDAuODUpO1xyXG5cclxuLy8gTmV3IHNjcm9sbGFibGUgZWxlbWVudFxyXG5bZGF0YS1zY3JvbGxhYmxlXSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gSW1wb3J0YW50IHRvIG92ZXJyaWRlIGpzIGlubGluZSBzdHlsZXNcclxuLnNsaW1TY3JvbGxCYXIge1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaW0tc2Nyb2xsLWJhci1iZyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNsaW1TY3JvbGxSYWlsIHtcclxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGltLXNjcm9sbC1yYWlsLWJnICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJvdHRvbTogMDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGlucHV0c1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vKipcclxuICogQ3VzdG9tIGZvcm0gZWxlbWVudHNcclxuICogICAgLSBDaGVja2JveFxyXG4gKiAgICAtIFJhZGlvc1xyXG4gKiAgICAtIFN3aXRjaFxyXG4gKiAgICAtIE5vdGUgZWRpdG9yXHJcbiAqL1xyXG5cclxuLy9cclxuLy8gQ0hFQ0tCT1ggQU5EIFJBRElPU1xyXG4vL1xyXG4kdWktZmctY29sb3I6ICRwcmltYXJ5O1xyXG4kdWktYmctY29sb3I6ICNkZGQ7XHJcblxyXG5cclxuQG1peGluIHN3aXRjaC12YXJpYW50KCR3ZCwgJGhnKSB7XHJcbiAgICAmIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAkd2Q7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGc7XHJcbiAgICB9XHJcblxyXG4gICAgJiBzcGFuOmFmdGVyIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZyAtIDI7XHJcbiAgICAgICAgd2lkdGg6ICRoZyAtIDI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLWNoZWNrYm94LFxyXG4uYy1yYWRpbyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICoge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIGlucHV0IHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgfSAvLyB0aGUgZWxlbWVudCB0aGF0IHJlcGxhY2VzIHRoZSBpbnB1dFxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvLyBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7IC8vIGZhIGFsaWduIHRyaWNrXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdWktZmctY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taW5saW5lICYgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jLWNoZWNrYm94LXJvdW5kZWQsXHJcbiAgICAmLmMtcmFkaW8tcm91bmRlZCB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogb3ZlcnJpZGUgZm9yIHJhZGlvICovXHJcbi5jLXJhZGlvIHNwYW4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbn1cclxuXHJcbi8qIHRoZSBpY29uICovXHJcbi5jLWNoZWNrYm94LFxyXG4uYy1yYWRpbyB7XHJcbiAgICBzcGFuOmJlZm9yZSB7XHJcbiAgICAgICAgLy9jb250ZW50OiBcIlxcMjcxM1wiOyAvKiBjb21tZW50IGNvbnRlbnQgdG8gdXNlIGN1c3RvbSBpY29uIGNsYXNzZXMgKi9cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBDaGVja2VkIHN0YXRlICovXHJcbi5jLWNoZWNrYm94LFxyXG4uYy1yYWRpbyB7XHJcbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkK3NwYW46YmVmb3JlLFxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtzcGFuOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1vdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtzcGFuLFxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtzcGFuIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR1aS1mZy1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktZmctY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLyogb3ZlcnJpZGUgZm9yIHJhZGlvICovXHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK3NwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHVpLWZnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEaXNhYmxlIHN0YXRlICovXHJcbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCtzcGFuLFxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQrc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdWktYmctY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmctY29sb3IgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8qIG92ZXJyaWRlIGZvciByYWRpbyAqL1xyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQrc3BhbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR1aS1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLXJhZGlvLmMtcmFkaW8tbm9mb250IHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgJHN6OiAxMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB3aWR0aDogJHN6O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRzejtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkc3ovMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRzei8yKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrc3BhbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2Utb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdWktZmctY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWZnLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIG92ZXJyaWRlIGZvciByYWRpbyAqL1xyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWZnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBEaXNhYmxlIHN0YXRlICovXHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCtzcGFuIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR1aS1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLyogb3ZlcnJpZGUgZm9yIHJhZGlvICovXHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCtzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy9cclxuLy8gRm9ybSBTV0lUQ0hcclxuLy8gU3VwcG9ydHMgcmFkaW8gYW5kIGNoZWNrYm94XHJcbi8vXHJcblxyXG4kc3dpdGNoLXdkOiA0MHB4O1xyXG4kc3dpdGNoLWhnOiAkc3dpdGNoLXdkLzI7XHJcblxyXG4kc3dpdGNoLWxnLXdkOiA1MHB4O1xyXG4kc3dpdGNoLWxnLWhnOiAkc3dpdGNoLWxnLXdkLzI7XHJcblxyXG4kc3dpdGNoLXNtLXdkOiAzMHB4O1xyXG4kc3dpdGNoLXNtLWhnOiAkc3dpdGNoLXNtLXdkLzI7XHJcblxyXG4uc3dpdGNoIHtcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnN3aXRjaCAqIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5zd2l0Y2gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXJlY3Rpb246IHJvdztcclxuICAgICYgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogJHN3aXRjaC13ZDtcclxuICAgICAgICBoZWlnaHQ6ICRzd2l0Y2gtaGc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdWktYmctY29sb3I7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgICAgICBib3gtc2hhZG93OiAxcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJiBzcGFuOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGhlaWdodDogJHN3aXRjaC1oZyAtIDI7XHJcbiAgICAgICAgd2lkdGg6ICRzd2l0Y2gtaGcgLSAyO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDAwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIH1cclxuXHJcbiAgICAmLnN3aXRjaC1sZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoLXZhcmlhbnQoJHN3aXRjaC1sZy13ZCwgJHN3aXRjaC1sZy1oZyk7XHJcbiAgICB9XHJcbiAgICAmLnN3aXRjaC1zbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoLXZhcmlhbnQoJHN3aXRjaC1zbS13ZCwgJHN3aXRjaC1zbS1oZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zd2l0Y2ggaW5wdXQge1xyXG4gICAgJjpjaGVja2VkK3NwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS1mZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR1aS1mZy1jb2xvcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCtzcGFuOmFmdGVyIHtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICAgIH1cclxuXHJcbiAgICAmOmRpc2FibGVkK3NwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxufVxyXG5cclxuLy9cclxuLy8gVGV4dGFyZWEgbm90ZSBlZGl0b3JcclxuLy9cclxuXHJcbi5ub3RlLWVkaXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZWVlIC4xZW0sIHRyYW5zcGFyZW50IC4xZW0pO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWUgLjFlbSwgdHJhbnNwYXJlbnQgLjFlbSk7XHJcblxyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAkbWFyZ2luLWNvbG9yOiAkd2FybmluZztcclxuICAgICYubm90ZS1lZGl0b3ItbWFyZ2luIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCA0OXB4LCBsaWdodGVuKCRtYXJnaW4tY29sb3IsIDMwJSkgNDlweCwgbGlnaHRlbigkbWFyZ2luLWNvbG9yLCAzMCUpIDUxcHgsIHRyYW5zcGFyZW50IDUxcHgpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZWVlIC4xZW0sIHRyYW5zcGFyZW50IC4xZW0pO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgNDlweCwgbGlnaHRlbigkbWFyZ2luLWNvbG9yLCAzMCUpIDQ5cHgsIGxpZ2h0ZW4oJG1hcmdpbi1jb2xvciwgMzAlKSA1MXB4LCB0cmFuc3BhcmVudCA1MXB4KSxcclxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2VlZSAuMWVtLCB0cmFuc3BhcmVudCAuMWVtKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgICAgIENvbXBvbmVudDogdXRpbHNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBVdGlsaXRpZXMgY2xhc3NlcyB0byBzaW1wbGlmeVxyXG4vLyBjb21wb25lbnRzIGNvbnN0cnVjdGlvbnNcclxuXHJcblxyXG4vLyBFeHRyYSBCYWNrZ3JvdW5kIGhlbHBlcnNcclxuQGZ1bmN0aW9uIGN1c3RvbS1jb2xvcigka2V5KSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xyXG59XHJcblxyXG5AbWl4aW4gYmdjb2xvci12YXJpYW50KCRiZ2NvbG9yLCAkdGV4dC1jb2xvcjogI2ZmZikge1xyXG4gICRhbW91bnRPZkxpZ2h0OiAxMCU7XHJcbiAgJiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXN0b20tY29sb3IoJGJnY29sb3IpO1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICYtbGlnaHQge1xyXG4gICAgJGNvbDogY3VzdG9tLWNvbG9yKCRiZ2NvbG9yICsgJy1saWdodCcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3skY29sfTtcclxuICAgIGNvbG9yOiAkdGV4dC1jb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAmLWRhcmsge1xyXG4gICAgJGNvbDogY3VzdG9tLWNvbG9yKCRiZ2NvbG9yICsgJy1kYXJrJyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2x9O1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIHNtYWxsIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2UtYmcoJGJnY29sb3IsICR0ZXh0LWNvbG9yOiAjZmZmKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIENvbW1vbiB0aHVtYm5haWwgc2l6ZXMgKGlkZWFsIGZvciBpbWFnZXMpXHJcbkBtaXhpbiB0aHVtbmJhaWwtc2l6ZSgkc3o6IDhweCkge1xyXG4gIHdpZHRoOiAkc3ogIWltcG9ydGFudDtcclxuICBoZWlnaHQ6ICRzeiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuXHJcbi8vIEJvcmRlclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmIwIHsgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuLmJsMCB7IGJvcmRlci1sZWZ0LXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuLmJyMCB7IGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcbi5idDAgeyBib3JkZXItdG9wLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuLmJiMCB7IGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG5cclxuLmJyIHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjt9XHJcbi5ibCB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcjt9XHJcbi5idCB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO31cclxuLmJiIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7fVxyXG4uYiwgLmJhICB7IEBleHRlbmQgLmJyO0BleHRlbmQgLmJsO0BleHRlbmQgLmJ0O0BleHRlbmQgLmJiOyB9IC8vIGFsbCBib3JkZXJzXHJcblxyXG5cclxuLy8gVGV4dCBoZWxwZXJzXHJcblxyXG4udGV4dC1wcmltYXJ5IHsgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtc3VjY2VzcyB7IGNvbG9yOiAkc3VjY2VzcyAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWluZm8geyBjb2xvcjogJGluZm8gIWltcG9ydGFudDsgfVxyXG4udGV4dC13YXJuaW5nIHsgY29sb3I6ICR3YXJuaW5nICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtZGFuZ2VyIHsgY29sb3I6ICRkYW5nZXIgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtd2hpdGUgICAgICAgICB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtaW52ZXJzZSAgICAgICB7IGNvbG9yOiAkaW52ZXJzZSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWFscGhhICAgICAgICAgeyBjb2xvcjogJHRleHQtYWxwaGEgIWltcG9ydGFudDsgfVxyXG4udGV4dC1waW5rICAgICAgICAgIHsgY29sb3I6ICRwaW5rICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtcHVycGxlICAgICAgICB7IGNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtZGFyayAgICAgICAgICB7IGNvbG9yOiAkZGFyayAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWFscGhhLWludmVyc2UgeyBjb2xvcjogJHRleHQtYWxwaGEtaW52ZXJzZSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWdyZWVuICAgICAgICAgeyBjb2xvcjogJGdyZWVuICFpbXBvcnRhbnQ7IH1cclxuLnRleHQteWVsbG93ICAgICAgICB7IGNvbG9yOiAkeWVsbG93ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtZ3JheS1kYXJrZXIgICB7IGNvbG9yOiAkZ3JheS1kYXJrZXIgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ncmF5LWRhcmsgICAgIHsgY29sb3I6ICRncmF5LWRhcmsgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ncmF5ICAgICAgICAgIHsgY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtZ3JheS1saWdodCAgICB7IGNvbG9yOiAkZ3JheS1saWdodCAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWdyYXktbGlnaHRlciAgeyBjb2xvcjogJGdyYXktbGlnaHRlciAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWluaGVyaXQgICAgICAgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBUZXh0IHNpemluZ1xyXG5cclxuLnRleHQtc20geyBmb250LXNpemU6ICR0ZXh0LXNtOyB9XHJcbi50ZXh0LW1kIHsgZm9udC1zaXplOiAkdGV4dC1tZDsgfVxyXG4udGV4dC1sZyB7IGZvbnQtc2l6ZTogJHRleHQtbGc7IH1cclxuXHJcbi8vIFRleHQgb3RoZXJzXHJcblxyXG4udGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbi50ZXh0LXRoaW4gICB7IGZvbnQtd2VpZ2h0OiAxMDAgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ub3JtYWwgeyBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxyXG5cclxuLmlubGluZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XHJcbi5ibG9jay1jZW50ZXIgeyBtYXJnaW46IDAgYXV0bzsgfVxyXG5cclxuLy8gQmFja2dyb3VuZCBoZWxwZXJzXHJcblxyXG4uYmctcHJpbWFyeSAgICAgIHsgQGluY2x1ZGUgYmdjb2xvci12YXJpYW50KCdwcmltYXJ5Jyk7IH1cclxuLmJnLXN1Y2Nlc3MgICAgICB7IEBpbmNsdWRlIGJnY29sb3ItdmFyaWFudCgnc3VjY2VzcycpOyB9XHJcbi5iZy1pbmZvICAgICAgICAgeyBAaW5jbHVkZSBiZ2NvbG9yLXZhcmlhbnQoJ2luZm8nKTsgfVxyXG4uYmctd2FybmluZyAgICAgIHsgQGluY2x1ZGUgYmdjb2xvci12YXJpYW50KCd3YXJuaW5nJyk7IH1cclxuLmJnLWRhbmdlciAgICAgICB7IEBpbmNsdWRlIGJnY29sb3ItdmFyaWFudCgnZGFuZ2VyJyk7IH1cclxuLmJnLWdyZWVuICAgICAgICB7IEBpbmNsdWRlIGJnY29sb3ItdmFyaWFudCgnZ3JlZW4nKTsgfVxyXG4uYmctcGluayAgICAgICAgIHsgQGluY2x1ZGUgYmdjb2xvci12YXJpYW50KCdwaW5rJyk7IH1cclxuLmJnLXB1cnBsZSAgICAgICB7IEBpbmNsdWRlIGJnY29sb3ItdmFyaWFudCgncHVycGxlJyk7IH1cclxuLmJnLWludmVyc2UgICAgICB7IEBpbmNsdWRlIGJnY29sb3ItdmFyaWFudCgnaW52ZXJzZScpOyB9XHJcbi5iZy15ZWxsb3cgICAgICAgeyBAaW5jbHVkZSBiZ2NvbG9yLXZhcmlhbnQoJ3llbGxvdycpOyB9XHJcblxyXG4uYmctd2hpdGUgICAgICAgIHsgQGluY2x1ZGUgbWFrZS1iZygjZmZmLCBpbmhlcml0KTsgfVxyXG4uYmctZ3JheS1kYXJrZXIgIHsgQGluY2x1ZGUgbWFrZS1iZygkZ3JheS1kYXJrZXIpOyB9XHJcbi5iZy1ncmF5LWRhcmsgICAgeyBAaW5jbHVkZSBtYWtlLWJnKCRncmF5LWRhcmspOyB9XHJcbi5iZy1ncmF5ICAgICAgICAgeyBAaW5jbHVkZSBtYWtlLWJnKCRncmF5LCAkYm9keS1jb2xvcik7IH1cclxuLmJnLWdyYXktbGlnaHQgICB7IEBpbmNsdWRlIG1ha2UtYmcoJGdyYXktbGlnaHQsICRib2R5LWNvbG9yKTsgfVxyXG4uYmctZ3JheS1saWdodGVyIHsgQGluY2x1ZGUgbWFrZS1iZygkZ3JheS1saWdodGVyLCAkYm9keS1jb2xvcik7IH1cclxuXHJcbi5iZy10cmFuc3BhcmVudCAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XHJcblxyXG4uYmctY292ZXIge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLy8gQ29tbW9uIHRodW1ibmFpbCBzaXplcyAoaWRlYWwgZm9yIGltYWdlcylcclxuXHJcbi50aHVtYjggICB7IEBpbmNsdWRlIHRodW1uYmFpbC1zaXplKCk7IH1cclxuLnRodW1iMTYgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoMTZweCk7IH1cclxuLnRodW1iMjQgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoMjRweCk7IH1cclxuLnRodW1iMzIgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoMzJweCk7IH1cclxuLnRodW1iNDggIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoNDhweCk7IH1cclxuLnRodW1iNjQgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoNjRweCk7IH1cclxuLnRodW1iODAgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoODBweCk7IH1cclxuLnRodW1iOTYgIHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoOTZweCk7IH1cclxuLnRodW1iMTI4IHsgQGluY2x1ZGUgdGh1bW5iYWlsLXNpemUoMTI4cHgpOyB9XHJcblxyXG5cclxuLy8gVmVydGljYWwgYWxpZ24gaGVscGVyc1xyXG5cclxuLmFsaWduLW1pZGRsZSB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi5hbGlnbi10b3Age1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG4uYWxpZ24tYm90dG9tIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbn1cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kIGltYWdlXHJcbi5iZy1jZW50ZXIge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi8vIExpc3RcclxuLmxpc3QtaWNvbiB7XHJcbiAgICBlbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIH1cclxuICAgIGRpdjpob3ZlciBlbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgzLCAzKVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGaXhlZCB0YWJsZSBsYXlvdXQgYWxnb3JpdGhtXHJcbi5kLXRhYmxlLWZpeGVkIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbn1cclxuXHJcbi8vIENvbXBvbmVudHMgc2l6ZVxyXG5cclxuLndkLXh4cyAgeyB3aWR0aDogJHdkLXh4czsgIH1cclxuLndkLXhzICAgeyB3aWR0aDogJHdkLXhzOyAgIH1cclxuLndkLXNtICAgeyB3aWR0aDogJHdkLXNtOyAgIH1cclxuLndkLXNkICAgeyB3aWR0aDogJHdkLXNkOyAgIH1cclxuLndkLW1kICAgeyB3aWR0aDogJHdkLW1kOyAgIH1cclxuLndkLWxnICAgeyB3aWR0aDogJHdkLWxnOyAgIH1cclxuLndkLXhsICAgeyB3aWR0aDogJHdkLXhsOyAgIH1cclxuLndkLXh4bCAgeyB3aWR0aDogJHdkLXh4bDsgIH1cclxuLndkLXdpZGUgeyB3aWR0aDogJHdkLXdpZGU7IH1cclxuLndkLWF1dG8geyB3aWR0aDogJHdkLWF1dG87IH1cclxuLndkLXplcm8geyB3aWR0aDogJHdkLXplcm87IH1cclxuXHJcbi8vIFNpbXVsYXRlIGNsaWNrYWJsZSBlbGVtZW50XHJcbi5jbGlja2FibGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vLyBBYnNvbHV0ZSBjZW50ZXIgZWxlbWVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmFicy1jZW50ZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uYWJzLWNlbnRlciB7XHJcbiAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgaGVpZ2h0OiA1MCU7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyByaWdodDogMDtcclxuXHJcbiAgICAmLmFicy1maXhlZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFicy1yaWdodCB7XHJcbiAgICAgICAgbGVmdDogYXV0bzsgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hYnMtbGVmdCB7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87IGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtaGVpZ2h0OiA3MjBweCkge1xyXG4gICAgLmFicy1jZW50ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5saW5rLXVuc3R5bGVkIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubm8tcmVzaXplIHtcclxuICAgIHJlc2l6ZTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmllLWZpeC1mbGV4IHtcclxuICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IHByaW50XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gUHV0IGhlcmUgYWxsIHJ1bGVzIHJlcXVpcmVkIHRvIHN0eWxlIHRoZSBwcmludCB2aWV3XHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG5cclxuICAgIC5zaWRlYmFyLFxyXG4gICAgLnRvcG5hdmJhcixcclxuICAgIC5vZmZzaWRlYmFyLFxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXBwZXIsXHJcbiAgICAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIsXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAvKiByZW1vdmUgbWFyZ2luIHVzZWQgZm9yIHNpZGViYXIgYW5kIGV4cGFuZCB0aGUgY29udGVudCAqL1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiBuZXN0YWJsZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5kZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uZGQtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4uZGQtbGlzdCAuZGQtbGlzdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbn1cclxuXHJcbi5kZC1jb2xsYXBzZWQgLmRkLWxpc3Qge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmRkLWl0ZW0sXHJcbi5kZC1lbXB0eSxcclxuLmRkLXBsYWNlaG9sZGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxufVxyXG5cclxuLmRkLWhhbmRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4uZGQtaGFuZGxlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5kZC1pdGVtPmJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtaW5kZW50OiAxMDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5kZC1pdGVtPmJ1dHRvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJysnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtaW5kZW50OiAwO1xyXG59XHJcblxyXG4uZGQtaXRlbT5idXR0b25bZGF0YS1hY3Rpb249XCJjb2xsYXBzZVwiXTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJy0nO1xyXG59XHJcblxyXG4uZGQtcGxhY2Vob2xkZXIsXHJcbi5kZC1lbXB0eSB7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjJmYmZmO1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiNmJjYmY7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4uZGQtZW1wdHkge1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMzBweCAzMHB4O1xyXG59XHJcblxyXG4uZGQtZHJhZ2VsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxufVxyXG5cclxuLmRkLWRyYWdlbD4uZGQtaXRlbSAuZGQtaGFuZGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5kZC1kcmFnZWwgLmRkLWhhbmRsZSB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCA0cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAuMSk7XHJcbiAgICBib3gtc2hhZG93OiAycHggNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgLjEpO1xyXG59XHJcblxyXG4vLyBOZXN0YWJsZSBFeHRyYXNcclxuLm5lc3RhYmxlLWxpc3RzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZGQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcclxuXHJcbiAgICAuZGQrLmRkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMiU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZC1ob3Zlcj4uZGQtaGFuZGxlIHtcclxuICAgIGJhY2tncm91bmQ6ICMyZWE4ZTUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gTmVzdGFibGUgRHJhZ2dhYmxlIEhhbmRsZXNcclxuLmRkMy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDUwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4uZGQtZHJhZ2VsPi5kZDMtaXRlbT4uZGQzLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZGQzLWl0ZW0+YnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG4uZGQzLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG59XHJcblxyXG4uZGQzLWhhbmRsZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ+KJoSc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtaW5kZW50OiAwO1xyXG4gICAgY29sb3I6ICNjY2M7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4uZGQzLWhhbmRsZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgQ29tcG9uZW50OiBub3RpZnkgZnJvbSB1aWtpdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4kbm90aWZ5LXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4O1xyXG4kbm90aWZ5LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDQwO1xyXG4kbm90aWZ5LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweDtcclxuXHJcbiRub3RpZnktbWVzc2FnZS1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgIDEwcHg7XHJcbiRub3RpZnktbWVzc2FnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHg7XHJcbiRub3RpZnktbWVzc2FnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICM0NDQ7XHJcbiRub3RpZnktbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRub3RpZnktbWVzc2FnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgIDE2cHg7XHJcbiRub3RpZnktbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDIycHg7XHJcblxyXG4kbm90aWZ5LW1lc3NhZ2UtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAjZWJmN2ZkO1xyXG4kbm90aWZ5LW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAjMmQ3MDkxO1xyXG5cclxuJG5vdGlmeS1tZXNzYWdlLXN1Y2Nlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgI2YyZmFlMztcclxuJG5vdGlmeS1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgIzY1OWYxMztcclxuXHJcbiRub3RpZnktbWVzc2FnZS13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICNmZmZjZWI7XHJcbiRub3RpZnktbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICNlMjgzMjc7XHJcblxyXG4kbm90aWZ5LW1lc3NhZ2UtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAjZmZmMWYwO1xyXG4kbm90aWZ5LW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZDg1MDMwO1xyXG5cclxuLy8gTWVzc2FnZSBjb250YWluZXIgZm9yIHBvc2l0aW9uaW5nXHJcbi51ay1ub3RpZnkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAkbm90aWZ5LXBvc2l0aW9uO1xyXG4gICAgbGVmdDogJG5vdGlmeS1wb3NpdGlvbjtcclxuICAgIHotaW5kZXg6ICRub3RpZnktei1pbmRleDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogJG5vdGlmeS13aWR0aDtcclxuXHJcbn1cclxuXHJcbi8vIFBvc2l0aW9uIG1vZGlmaWVyc1xyXG4udWstbm90aWZ5LXRvcC1yaWdodCxcclxuLnVrLW5vdGlmeS1ib3R0b20tcmlnaHQgIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogJG5vdGlmeS1wb3NpdGlvbjtcclxufVxyXG5cclxuLnVrLW5vdGlmeS10b3AtY2VudGVyLFxyXG4udWstbm90aWZ5LWJvdHRvbS1jZW50ZXIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZ5LXdpZHRoIC8gLTIpO1xyXG59XHJcblxyXG4udWstbm90aWZ5LWJvdHRvbS1sZWZ0LFxyXG4udWstbm90aWZ5LWJvdHRvbS1yaWdodCxcclxuLnVrLW5vdGlmeS1ib3R0b20tY2VudGVyIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogJG5vdGlmeS1wb3NpdGlvbjtcclxufVxyXG5cclxuXHJcbi8vIFJlc3BvbnNpdmVuZXNzXHJcblxyXG5cclxuLy8gUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG5cclxuICAgIC8vIEZpdCBpbiBzbWFsbCBzY3JlZW5cclxuXHJcbiAgICAudWstbm90aWZ5IHtcclxuICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4vLyBTdWItb2JqZWN0OiBgdWstbm90aWZ5LW1lc3NhZ2VgXHJcbi51ay1ub3RpZnktbWVzc2FnZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbm90aWZ5LW1lc3NhZ2UtbWFyZ2luLWJvdHRvbTtcclxuICAgIHBhZGRpbmc6ICRub3RpZnktbWVzc2FnZS1wYWRkaW5nO1xyXG4gICAgZm9udC1zaXplOiAkbm90aWZ5LW1lc3NhZ2UtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRub3RpZnktbWVzc2FnZS1saW5lLWhlaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xyXG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblxyXG4gICAgLy8gJGdlZWRtbzogZGVmaW5lIGEgbm9ybWFsIHN0YXR1cyB0byB1c2Ugd2l0aCBkZWZhdWx0IHN0eWxpbmdcclxuICAgICYuYWxlcnQuYWxlcnQtbm9ybWFsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbm90aWZ5LW1lc3NhZ2UtYmFja2dyb3VuZDtcclxuICAgICAgICBjb2xvcjogJG5vdGlmeS1tZXNzYWdlLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIENsb3NlIGluIG5vdGlmeVxyXG4udWstbm90aWZ5LW1lc3NhZ2UgPiAuY2xvc2Uge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4udWstbm90aWZ5LW1lc3NhZ2U6aG92ZXIgPiAuY2xvc2UgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHNwaW5uZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyB3aGlybCBiYXNlIHZhcmlhYmxlc1xyXG4kaGVpZ2h0OiA0MHB4O1xyXG4kd2lkdGg6IDQwcHg7XHJcbiRvdmVybGF5LWNvbG9yOiAjZjBmMGYwO1xyXG5cclxuYm9keSB7XHJcblxyXG4gICAgLy8gd2hpcmwgbG9hZGVycyBjYW4gYmUgdXNlZCBpbiBjYXJkcyB0byBzaG93IGEgcHJlbG9hZGVyXHJcbiAgICAud2hpcmwge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zcGlubmVyLXRleHQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gQWRkZWQgdG8gZm9yY2UgZGlzcGxheVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3ZlcmxheS1jb2xvcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvbGlkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH0gLy8gTm90ZTogU29tZSBvdGhlciBXaGlybCBDU1MgcmVxdWlyZXMgdG8gY3VzdG9taXplXHJcbiAgICAvLyAgICAgICB0aGUgYW5pbWF0aW9uICRrZXlmcmFtZXNcclxuICAgIC53aGlybC5ibGFkZTphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAud2hpcmwuZG91YmxlLXVwOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC53aGlybC5kdW86YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwdXJwbGU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHB1cnBsZTtcclxuICAgIH1cclxuICAgIC53aGlybC5oZWxpY29wdGVyOmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC53aGlybC5yaW5nZWQ6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGluZm87XHJcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHB1cnBsZTtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHB1cnBsZTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHVycGxlO1xyXG4gICAgfVxyXG4gICAgLndoaXJsLnRyYWRpdGlvbmFsOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRpbmZvO1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbmZvO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcHVycGxlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR5ZWxsb3c7XHJcbiAgICB9XHJcbiAgICAud2hpcmwubGluZTphZnRlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTEwcHggMHB4IDBweCByZ2JhKCRwcmltYXJ5LCAuNSk7XHJcbiAgICB9IC8vIElFOSBhbmQgYmVsb3cgZG9lc24ndCBzdXBwb3J0IGFuaW1hdGlvbnNcclxuICAgIC5uby1jc3NhbmltYXRpb25zICYge1xyXG4gICAgICAgIC53aGlybDpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLndoaXJsOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJMb2FkaW5nLi4uXCI7IC8vIGFic29sdXRlIHBvc2l0aW9uZWRcclxuICAgICAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW46IC0oJGhlaWdodC8yKSAwIDAgLSgkd2lkdGgvMik7IC8vIGNlbnRlciB0ZXh0XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVpZ2h0OyAvLyByZXNldCBzdHlsZXNcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTG9hZGVyLkNTU1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgICAvLyBHbG9iYWwgYmFja2dyb3VuZCBvdmVycmlkZVxyXG4gICAgLmJhbGwtcHVsc2U+ZGl2LFxyXG4gICAgLmJhbGwtZ3JpZC1wdWxzZT5kaXYsXHJcbiAgICAuc3F1YXJlLXNwaW4+ZGl2LFxyXG4gICAgLmJhbGwtcHVsc2UtcmlzZT5kaXYsXHJcbiAgICAuYmFsbC1yb3RhdGU+ZGl2LFxyXG4gICAgLmJhbGwtcm90YXRlPmRpdjpiZWZvcmUsXHJcbiAgICAuYmFsbC1yb3RhdGU+ZGl2OmFmdGVyLFxyXG4gICAgLmN1YmUtdHJhbnNpdGlvbj5kaXYsXHJcbiAgICAuYmFsbC16aWctemFnPmRpdixcclxuICAgIC5iYWxsLXppZy16YWctZGVmbGVjdD5kaXYsXHJcbiAgICAuYmFsbC10cmlhbmdsZS1wYXRoPmRpdixcclxuICAgIC5iYWxsLXNjYWxlPmRpdixcclxuICAgIC5saW5lLXNjYWxlPmRpdixcclxuICAgIC5saW5lLXNjYWxlLXBhcnR5PmRpdixcclxuICAgIC5iYWxsLXNjYWxlLW11bHRpcGxlPmRpdixcclxuICAgIC5iYWxsLXB1bHNlLXN5bmM+ZGl2LFxyXG4gICAgLmJhbGwtYmVhdD5kaXYsXHJcbiAgICAubGluZS1zY2FsZS1wdWxzZS1vdXQ+ZGl2LFxyXG4gICAgLmxpbmUtc2NhbGUtcHVsc2Utb3V0LXJhcGlkPmRpdixcclxuICAgIC5iYWxsLXNwaW4tZmFkZS1sb2FkZXI+ZGl2LFxyXG4gICAgLmxpbmUtc3Bpbi1mYWRlLWxvYWRlcj5kaXYsXHJcbiAgICAudHJpYW5nbGUtc2tldy1zcGluPmRpdixcclxuICAgIC5iYWxsLWdyaWQtYmVhdD5kaXYsXHJcbiAgICAuc2VtaS1jaXJjbGUtc3Bpbj5kaXYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfSAvLyBjdXN0b20gb3ZlcnJpZGVcclxuICAgIC5iYWxsLWNsaXAtcm90YXRlLW11bHRpcGxlIHtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgID5kaXYge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5IHRyYW5zcGFyZW50ICRwcmltYXJ5IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkcHJpbWFyeSB0cmFuc3BhcmVudCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWxsLWNsaXAtcm90YXRlPmRpdiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC5iYWxsLWNsaXAtcm90YXRlLXB1bHNlPmRpdiB7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeSB0cmFuc3BhcmVudCAkcHJpbWFyeSB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3F1YXJlLXNwaW4+ZGl2LFxyXG4gICAgLmJhbGwtc2NhbGUtcmlwcGxlPmRpdixcclxuICAgIC5iYWxsLXNjYWxlLXJpcHBsZS1tdWx0aXBsZT5kaXYge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAucGFjbWFuPmRpdjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAucGFjbWFuPmRpdjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC5wYWNtYW4+ZGl2Om50aC1jaGlsZCgzKSxcclxuICAgIC5wYWNtYW4+ZGl2Om50aC1jaGlsZCg0KSxcclxuICAgIC5wYWNtYW4+ZGl2Om50aC1jaGlsZCg1KSxcclxuICAgIC5wYWNtYW4+ZGl2Om50aC1jaGlsZCg2KSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3BpbiBLaXRcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAuc2stcm90YXRpbmctcGxhbmUuc2stc3Bpbm5lcixcclxuICAgIC5zay1kb3VibGUtYm91bmNlIC5zay1kb3VibGUtYm91bmNlMSxcclxuICAgIC5zay1kb3VibGUtYm91bmNlIC5zay1kb3VibGUtYm91bmNlMixcclxuICAgIC5zay13YXZlIC5zay1yZWN0LFxyXG4gICAgLnNrLXdhbmRlcmluZy1jdWJlcyAuc2stY3ViZTEsXHJcbiAgICAuc2std2FuZGVyaW5nLWN1YmVzIC5zay1jdWJlMixcclxuICAgIC5zay1jaGFzaW5nLWRvdHMgLnNrLWRvdDEsXHJcbiAgICAuc2stY2hhc2luZy1kb3RzIC5zay1kb3QyLFxyXG4gICAgLnNrLXRocmVlLWJvdW5jZSBkaXYsXHJcbiAgICAuc2stY2lyY2xlIC5zay1jaGlsZDpiZWZvcmUsXHJcbiAgICAuc2stY3ViZS1ncmlkIC5zay1jdWJlLFxyXG4gICAgLnNrLWZhZGluZy1jaXJjbGUgLnNrLWNpcmNsZTpiZWZvcmUsXHJcbiAgICAuc2stc3Bpbm5lci1wdWxzZS5zay1zcGlubmVyLFxyXG4gICAgLnNrLXJvdGF0aW5nLXBsYW5lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zay13b3JkcHJlc3MgLnNrLWlubmVyLWNpcmNsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBmaXggaHR0cHM6Ly9naXRodWIuY29tL3RvYmlhc2FobGluL1NwaW5LaXQvaXNzdWVzLzEzOSNpc3N1ZWNvbW1lbnQtMzUwMjAwNzczXHJcbiAgICAuc2std2F2ZSAuc2stcmVjdCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIGp1c3QgZm9yIGxvYWRlcnMuY3NzIGRlbW8gKi9cclxuLmxvYWRlci1kZW1vIHtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgID5kaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgICYubG9hZGVyLWRlbW8tc2sge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogcG9ydGxldHNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIG1pbmltdW0gaGVpZ2h0IGlzIG5lY2Vzc2FyeVxyXG4vLyB0byBhbGxvdyBlbXB0eSBjb2xzIGFjY2VwdCBwb3J0bGV0c1xyXG5bZGF0YS10b2dnbGU9XCJwb3J0bGV0XCJdIHtcclxuXHJcbiAgICBtaW4taGVpZ2h0OiAzMHB4OyAvLyBNYW51YWxseSBjaG9vc2Ugd2hpY2ggZWxlbWVudFxyXG4gICAgLy8gc2hvd3MgYSBwb2ludGVyIHRvIGluZGljYXRlIGRyYWdcclxuICAgICYucG9ydGxldC1oYW5kbGVyLFxyXG4gICAgLnBvcnRsZXQtaGFuZGxlciB7XHJcbiAgICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucG9ydGxldHMtd3JhcHBlciB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLy8ganF1ZXJ5VUkgY29udHJvbHMgdGhlIGhlaWdodCwgc28gd2UgcmV1c2VcclxuLy8gdGhlIHBsYWNlaG9sZGVyIGNvbXBvbmVudCB3aXRoIHplcm8gcGFkZGluZ1xyXG4vLyAucG9ydGxldCBpcyBqdXN0IHRvIGRldGVjdCB0aGUgcG9ydGxldCBpbnN0YW5jZVxyXG4ucG9ydGxldC5ib3gtcGxhY2Vob2xkZXIge1xyXG5cclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vIFNvbWV0aW1lcyBzb21lIGVsZW1lbnQgc2hvdWxkbid0IHRyaWdnZXIgYSBkcmFnXHJcbi8vIGFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50IHRvIGNhbmNlbCBkcmFnXHJcbi5wb3J0bGV0LWNhbmNlbCB7fVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IHJhZGlhbC1iYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1xyXG4vLyBQdXJlIENTUyBSYWRpYWwgUHJvZ3Jlc3MgQmFyXHJcbi8vIENvbG9yc1xyXG4kYmFyLWNvbG9yIDogJHByaW1hcnk7XHJcblxyXG4kcmFkaWFsLXByaW1hcnkgOiAkcHJpbWFyeTtcclxuJHJhZGlhbC1zdWNjZXNzIDogJHN1Y2Nlc3M7XHJcbiRyYWRpYWwtaW5mbyA6ICRpbmZvO1xyXG4kcmFkaWFsLXdhcm5pbmcgOiAkd2FybmluZztcclxuJHJhZGlhbC1kYW5nZXIgOiAkZGFuZ2VyO1xyXG5cclxuJG92ZXJsYXktYmcgOiAjZmZmO1xyXG4kYmFjay1jb2xvciA6ICNmYWZhZmE7XHJcbiRyYWRpYWwtc2l6ZS1iYXNlIDogNTtcclxuXHJcbiRyYWRpYWwtZm9udC1zaXplLWxnIDogMjBweDtcclxuJHJhZGlhbC1mb250LXNpemUgOiAxNnB4O1xyXG4kcmFkaWFsLWZvbnQtc2l6ZS1zbSA6IDEwcHg7XHJcbiRyYWRpYWwtZm9udC1zaXplLXhzIDogNnB4O1xyXG5cclxuLy8gc3RlcCBvZiAlIGZvciBjcmVhdGVkIGNsYXNzZXNcclxuJHByb2dyZXNzLXN0ZXA6IDU7XHJcblxyXG5cclxuLy8gTWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiByYWRpYWwtcHJvZ3Jlc3Mtc2l6ZSgkZm9udC1zaXplKSB7XHJcbiAgICAkc2l6ZTogJGZvbnQtc2l6ZSAqICRyYWRpYWwtc2l6ZS1iYXNlO1xyXG4gICAgJGJhci1zaXplOiAkc2l6ZSAqIC4zO1xyXG4gICAgd2lkdGg6ICRzaXplO1xyXG4gICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSArIDI7XHJcbiAgICAmOmFmdGVyLFxyXG4gICAgPmltZyB7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplIC0gJGJhci1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJHNpemUgLSAkYmFyLXNpemU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRiYXItc2l6ZSAvIDI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJGJhci1zaXplIC8gMjtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHNpemUgLSAkYmFyLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiByYWRpYWwtcHJvZ3Jlc3MtdmFyaWFudCgkc3RlcCwgJGNvbG9yKSB7XHJcbiAgICAkbG9vcHM6IHJvdW5kKDEwMCAvICRzdGVwKTtcclxuICAgICRpbmNyZW1lbnQ6IDM2MCAvICRsb29wcztcclxuICAgICRoYWxmOiByb3VuZCgkbG9vcHMgLyAyKTtcclxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGxvb3BzIHtcclxuICAgICAgICAmLnJhZGlhbC1iYXItI3skaSokc3RlcH0ge1xyXG4gICAgICAgICAgICBAaWYgJGkgPCAkaGFsZiB7XHJcbiAgICAgICAgICAgICAgICAkbmV4dGRlZzogOTBkZWcgKyAoICRpbmNyZW1lbnQgKiAkaSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRiYWNrLWNvbG9yIDUwJSwgdHJhbnNwYXJlbnQgNTAlLCB0cmFuc3BhcmVudCksIGxpbmVhci1ncmFkaWVudCgkbmV4dGRlZywgJGNvbG9yIDUwJSwgJGJhY2stY29sb3IgNTAlLCAkYmFjay1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJG5leHRkZWc6IC05MGRlZyArICggJGluY3JlbWVudCAqICggJGkgLSAkaGFsZikpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRuZXh0ZGVnLCAkY29sb3IgNTAlLCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50KSwgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgJGNvbG9yIDUwJSwgJGJhY2stY29sb3IgNTAlLCAkYmFjay1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiBCYXIgY29udGFpbmVyXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5yYWRpYWwtYmFyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogJHJhZGlhbC1mb250LXNpemU7IC8vd2lkdGg6ICRyYWRpYWwtc2l6ZTtcclxuICAgIC8vaGVpZ2h0OiAkcmFkaWFsLXNpemU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmFjay1jb2xvcjsgLy8gcmVtb3ZlIGdyYWRpZW50IGNvbG9yXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gZGVmYXVsdCAxMDAlXHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gT3B0aW9uYWwgY2VudGVyZWQgY2lyY2xlIHcvdGV4dFxyXG4gICAgJjphZnRlcixcclxuICAgID5pbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7IC8vIHdpZHRoOiAkcmFkaWFsLXNpemUgLSAkcmFkaWFsLWJhci1zaXplO1xyXG4gICAgICAgIC8vIGhlaWdodDogJHJhZGlhbC1zaXplIC0gJHJhZGlhbC1iYXItc2l6ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIG1hcmdpbi1sZWZ0OiAkcmFkaWFsLWJhci1zaXplIC8gMjtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiAkcmFkaWFsLWJhci1zaXplIC8gMjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIGxpbmUtaGVpZ2h0OiAkcmFkaWFsLXNpemUgLSAkcmFkaWFsLWJhci1zaXplO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGNvbG9yOiAjYTFhMmEzO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3ZlcmxheS1iZztcclxuICAgICAgICB6LWluZGV4OiAxMDE7XHJcbiAgICB9XHJcbiAgICA+aW1nIHtcclxuICAgICAgICB6LWluZGV4OiAxMDI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgcmFkaWFsLXByb2dyZXNzLXNpemUoJHJhZGlhbC1mb250LXNpemUpO1xyXG4gICAgQGluY2x1ZGUgcmFkaWFsLXByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLXN0ZXAsICRyYWRpYWwtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi8vIFZhcmlhbnRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnJhZGlhbC1iYXItcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSByYWRpYWwtcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3Mtc3RlcCwgJHByaW1hcnkpO1xyXG59XHJcblxyXG4ucmFkaWFsLWJhci1zdWNjZXNzIHtcclxuICAgIEBpbmNsdWRlIHJhZGlhbC1wcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1zdGVwLCAkc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi5yYWRpYWwtYmFyLWluZm8ge1xyXG4gICAgQGluY2x1ZGUgcmFkaWFsLXByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLXN0ZXAsICRpbmZvKTtcclxufVxyXG5cclxuLnJhZGlhbC1iYXItd2FybmluZyB7XHJcbiAgICBAaW5jbHVkZSByYWRpYWwtcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3Mtc3RlcCwgJHdhcm5pbmcpO1xyXG59XHJcblxyXG4ucmFkaWFsLWJhci1kYW5nZXIge1xyXG4gICAgQGluY2x1ZGUgcmFkaWFsLXByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLXN0ZXAsICRkYW5nZXIpO1xyXG59XHJcblxyXG5cclxuLy8gU2l6ZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnJhZGlhbC1iYXItbGcge1xyXG4gICAgQGluY2x1ZGUgcmFkaWFsLXByb2dyZXNzLXNpemUoJHJhZGlhbC1mb250LXNpemUtbGcpO1xyXG59XHJcblxyXG4ucmFkaWFsLWJhci1zbSB7XHJcbiAgICBAaW5jbHVkZSByYWRpYWwtcHJvZ3Jlc3Mtc2l6ZSgkcmFkaWFsLWZvbnQtc2l6ZS1zbSk7XHJcbn1cclxuXHJcbi5yYWRpYWwtYmFyLXhzIHtcclxuICAgIEBpbmNsdWRlIHJhZGlhbC1wcm9ncmVzcy1zaXplKCRyYWRpYWwtZm9udC1zaXplLXhzKTtcclxufVxyXG5cclxuLy8gaGlkZSBleGNlc3Mgb2YgZ3JhZGllbnQgaW4gb3BlcmFcclxueDotby1wcmVmb2N1cyxcclxuLnJhZGlhbC1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGNoYXJ0LWZsb3RcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi5mbG90LWNoYXJ0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgLmxlZ2VuZCB7XHJcbiAgICAgICAgPnRhYmxlIHRyIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+dGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPnRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID50YWJsZSB0cit0ciB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPmRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMSkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWdlbmRDb2xvckJveD5kaXYsXHJcbiAgICAgICAgLmxlZ2VuZENvbG9yQm94PmRpdj5kaXYge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mbG90LWNoYXJ0LWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIExhYmVscyBmb3IgUElFIENIQVJUU1xyXG4uZmxvdC1waWUtbGFiZWwge1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4vLyBUb29sdGlwIHN0eWxlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiNmbG90VGlwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC43NSkgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZjFmMWYxO1xyXG4gICAgei1pbmRleDogNTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBjaGFydC1lYXN5cGllXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gTWFrZXMgcG9zc2libGUgdG8gc2hvdyB0aGUgcGVyY2V0YWdlXHJcbi8vIGNlbnRlcmVkIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBpZVxyXG4uZWFzeXBpZS1jaGFydCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIDZweDtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICBjYW52YXMge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLmVhc3lwaWUtY2hhcnQtbGcge1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5lYXN5cGllLWNoYXJ0LW1kIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogZm9ybS12YWxpZGF0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9cclxuLy8gU3R5bGVzIGZvciB2YWxpZGF0aW9uIHJlc3VsdHMgZnJvbSBQYXJzbGV5XHJcbi8vXHJcbiRsYWJlbC1lcnJvci1jb2xvcjogJGRhbmdlcjtcclxuXHJcbi5wYXJzbGV5LWVycm9yIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGxhYmVsLWVycm9yLWNvbG9yIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhcnNsZXktcmVxdWlyZWQsXHJcbi5wYXJzbGV5LXR5cGUsXHJcbi5wYXJzbGV5LWVxdWFsdG8ge1xyXG4gICAgY29sb3I6ICRkYW5nZXI7XHJcbn1cclxuXHJcbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICYuZmlsbGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICA+bGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZXJyb3ItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEF1dG8gY29sb3IgdmFsaWRhdGlvbiBvZiBpbnB1dCBncm91cFxyXG4vLyBTdXBwb3J0IG9ubHkgaW5wdXQtZ3JvdXAtYXBwZW5kXHJcbi5pbnB1dC1ncm91cC53aXRoLWZvY3VzIHtcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgJjpmb2N1cysuaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWludmFsaWQrLmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy12YWxpZCsuaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc3VjY2VzcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiBmb3JtLXRhZ3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLyogYm9vdHN0cmFwIHRhZyBpbnB1dCAqL1xyXG5cclxuLmJvb3RzdHJhcC10YWdzaW5wdXQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIHBhZGRpbmc6IDhweCA3cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XHJcblxyXG4gICAgLmxhYmVsLWluZm8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIHBhZGRpbmc6IC4ycmVtIC42cmVtIC4zcmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmJvb3RzdHJhcC10YWdzaW5wdXQgLnRhZyBbZGF0YS1yb2xlPVwicmVtb3ZlXCJdOmhvdmVyOmFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG59XHJcblxyXG4uYm9vdHN0cmFwLXRhZ3NpbnB1dCAudGFnIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogZm9ybS1kYXRlcGlja2VyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmRhdGVwaWNrZXIge1xyXG4gICAgcGFkZGluZzogLjVyZW07XHJcbiAgICB0aCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCB7XHJcbiAgICAmLnRvZGF5LFxyXG4gICAgJi50b2RheTpob3ZlcixcclxuICAgICYudG9kYXkuZGlzYWJsZWQsXHJcbiAgICAmLnRvZGF5LmRpc2FibGVkOmhvdmVyLFxyXG4gICAgJi5zZWxlY3RlZCxcclxuICAgICYuc2VsZWN0ZWQ6aG92ZXIsXHJcbiAgICAmLnNlbGVjdGVkLmRpc2FibGVkLFxyXG4gICAgJi5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlcixcclxuICAgICYgc3Bhbi5hY3RpdmUsXHJcbiAgICAmIHNwYW4uYWN0aXZlOmhvdmVyLFxyXG4gICAgJiBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcclxuICAgICYgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlIHtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpob3Zlcjpob3ZlcixcclxuICAgICYuZGlzYWJsZWQ6aG92ZXIsXHJcbiAgICAmLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmOmhvdmVyOmFjdGl2ZSxcclxuICAgICYuZGlzYWJsZWQ6YWN0aXZlLFxyXG4gICAgJi5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICY6aG92ZXIuYWN0aXZlLFxyXG4gICAgJi5kaXNhYmxlZC5hY3RpdmUsXHJcbiAgICAmLmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmOmhvdmVyLmRpc2FibGVkLFxyXG4gICAgJi5kaXNhYmxlZC5kaXNhYmxlZCxcclxuICAgICYuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgICY6aG92ZXJbZGlzYWJsZWRdLFxyXG4gICAgJi5kaXNhYmxlZFtkaXNhYmxlZF0sXHJcbiAgICAmLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZSB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlcixcclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmLmRpc2FibGVkOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmRhdGVwaWNrZXIgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6aG92ZXIsXHJcbi5kYXRlcGlja2VyIHRmb290IHRyIHRoOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xyXG59XHJcblxyXG4uZGF0ZXBpY2tlci1pbmxpbmUge1xyXG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAkZ3JheS1saWdodDtcclxufVxyXG5cclxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlIHtcclxuICAgICYsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJi5kaXNhYmxlZCxcclxuICAgICYuZGlzYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogZm9ybS13aXphcmRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kd2l6YXJkLXByaW1hcnktY29sb3IgOiAkcHJpbWFyeTtcclxuJHdpemFyZC1zdGVwcy1iZyA6ICRqdW1ib3Ryb24tYmc7XHJcbiR3aXphcmQtc3RlcHMtYmctYWN0aXZlIDogJHdpemFyZC1wcmltYXJ5LWNvbG9yO1xyXG5cclxuJHdpemFyZC1oZWFkaW5nLWNvbG9yIDogJGJvZHktY29sb3I7XHJcbiR3aXphcmQtc3ViaGVhZGluZy1jb2xvciA6ICR0ZXh0LW11dGVkO1xyXG5cclxuLy8gQmFzZWQgb24ganF1ZXJ5IHN0ZXBzIHBsdWdpblxyXG4ud2l6YXJkLFxyXG4udGFiY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLndpemFyZCBhLFxyXG4udGFiY29udHJvbCBhIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi53aXphcmQgdWwsXHJcbi50YWJjb250cm9sIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi53aXphcmQgdWw+bGksXHJcbi50YWJjb250cm9sIHVsPmxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLndpemFyZD4uc3RlcHMgLmN1cnJlbnQtaW5mbyxcclxuLnRhYmNvbnRyb2w+LnN0ZXBzIC5jdXJyZW50LWluZm8ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTk5OWVtO1xyXG59XHJcblxyXG4ud2l6YXJkPi5jb250ZW50Pi50aXRsZSxcclxuLnRhYmNvbnRyb2w+LmNvbnRlbnQ+LnRpdGxlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC05OTllbTtcclxufVxyXG5cclxuLndpemFyZCB7XHJcbiAgICAmPi5zdGVwcyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC5udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDI5ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY+dWwge1xyXG4gICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmPi5jb250ZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMC41ZW07XHJcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICY+LmJvZHkge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNSUgMDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY+aWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgICAgIH0gLy8gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBpbnB1dC5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjUxLCAyMjcsIDIyOCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJjMmM0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM4YTFmMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWwuZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS41ZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jaGVja2JveCBsYWJlbC5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJj4uYWN0aW9ucyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICY+dWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjVlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndpemFyZC52ZXJ0aWNhbCB7XHJcbiAgICAmPi5zdGVwcyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgJj51bCB7XHJcbiAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY+LmNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW46IDAgMi41JSAwLjVlbSAyLjUlO1xyXG4gICAgICAgIHdpZHRoOiA2NSU7XHJcbiAgICB9XHJcbiAgICAmPi5hY3Rpb25zIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMCAyLjUlO1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgJj51bCB7XHJcbiAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53aXphcmQ+LnN0ZXBzPnVsPmxpLFxyXG4ud2l6YXJkPi5hY3Rpb25zPnVsPmxpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcyBhLFxyXG4ud2l6YXJkPi5zdGVwcyBhOmhvdmVyLFxyXG4ud2l6YXJkPi5zdGVwcyBhOmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDAuNWVtIDAuNWVtO1xyXG4gICAgcGFkZGluZzogMWVtIDFlbTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogJHdpemFyZC1oZWFkaW5nLWNvbG9yO1xyXG4gICAgPnNtYWxsIHtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGNvbG9yOiAkd2l6YXJkLXN1YmhlYWRpbmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53aXphcmQ+LnN0ZXBzIC5kaXNhYmxlZCBhLFxyXG4ud2l6YXJkPi5zdGVwcyAuZGlzYWJsZWQgYTpob3ZlcixcclxuLndpemFyZD4uc3RlcHMgLmRpc2FibGVkIGE6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aXphcmQtc3RlcHMtYmc7XHJcbiAgICBjb2xvcjogJHdpemFyZC1oZWFkaW5nLWNvbG9yO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcyAuY3VycmVudCBhLFxyXG4ud2l6YXJkPi5zdGVwcyAuY3VycmVudCBhOmhvdmVyLFxyXG4ud2l6YXJkPi5zdGVwcyAuY3VycmVudCBhOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2l6YXJkLXByaW1hcnktY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgID5zbWFsbCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53aXphcmQ+LnN0ZXBzIC5kb25lIGEsXHJcbi53aXphcmQ+LnN0ZXBzIC5kb25lIGE6aG92ZXIsXHJcbi53aXphcmQ+LnN0ZXBzIC5kb25lIGE6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aXphcmQtc3RlcHMtYmc7XHJcbiAgICBjb2xvcjogJHdpemFyZC1oZWFkaW5nLWNvbG9yO1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcyAuZXJyb3IgYSxcclxuLndpemFyZD4uc3RlcHMgLmVycm9yIGE6aG92ZXIsXHJcbi53aXphcmQ+LnN0ZXBzIC5lcnJvciBhOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmYzMTExO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi53aXphcmQ+LmFjdGlvbnMgYSxcclxuLndpemFyZD4uYWN0aW9ucyBhOmhvdmVyLFxyXG4ud2l6YXJkPi5hY3Rpb25zIGE6YWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkcHJpbWFyeSwgJHByaW1hcnkpO1xyXG59XHJcblxyXG4ud2l6YXJkPi5hY3Rpb25zIC5kaXNhYmxlZCBhLFxyXG4ud2l6YXJkPi5hY3Rpb25zIC5kaXNhYmxlZCBhOmhvdmVyLFxyXG4ud2l6YXJkPi5hY3Rpb25zIC5kaXNhYmxlZCBhOmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlciAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGFiY29udHJvbCB7XHJcbiAgICAmPi5zdGVwcyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICY+dWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xyXG4gICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDJweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNWY1ZjVmO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY+YTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY+bGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2VkZWNlYztcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY+bGkuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcHggMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmPi5jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2JiYjtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAmPi5ib2R5IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNSU7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2MgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICY+bGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IGZvcm0taW1nY3JvcFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbWctY29udGFpbmVyLFxyXG4uaW1nLXByZXZpZXcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmltZy1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5kb2NzLXByZXZpZXcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHhcclxufVxyXG5cclxuLmltZy1wcmV2aWV3IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweFxyXG59XHJcblxyXG4uaW1nLXByZXZpZXc+aW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJVxyXG59XHJcblxyXG4ucHJldmlldy1sZyB7XHJcbiAgICB3aWR0aDogMjYzcHg7XHJcbiAgICBoZWlnaHQ6IDE0OHB4XHJcbn1cclxuXHJcbi5wcmV2aWV3LW1kIHtcclxuICAgIHdpZHRoOiAxMzlweDtcclxuICAgIGhlaWdodDogNzhweFxyXG59XHJcblxyXG4ucHJldmlldy1zbSB7XHJcbiAgICB3aWR0aDogNjlweDtcclxuICAgIGhlaWdodDogMzlweFxyXG59XHJcblxyXG4ucHJldmlldy14cyB7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMFxyXG59XHJcblxyXG5cclxuLmNyb3BwZXItY29udGFpbmVyIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGltYWdlLW9yaWVudGF0aW9uOiAwZGVnICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiBkcm9wem9uZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5kcm9wem9uZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcblxyXG4gICAgLmR6LWRlZmF1bHQuZHotbWVzc2FnZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgfSAvLyBjdXN0b21pemVkIGltYWdlIHByZXZpZXcgYW5kIGRldGlhbHMgcG9zaXRpb25cclxuICAgIC5kei1wcmV2aWV3LmR6LWltYWdlLXByZXZpZXcge1xyXG4gICAgICAgIC8vIGJveC1zaGFkb3c6ICRtYXRlcmlhbC1zaGFkb3ctejE7XHJcbiAgICAgICAgLmR6LWltYWdlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZHotZGV0YWlscyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH0gLy8gaW1hZ2UgaG92ZXIgZWZmZWN0XHJcbiAgICAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XHJcbiAgICB9XHJcbiAgICAuZHotcHJldmlldzpob3ZlciAuZHotaW1hZ2UgaW1nIHtcclxuICAgICAgICAtd2Via2l0LWZpbHRlcjogbm9uZTtcclxuICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2U7XHJcbiAgICB9IC8vIHByZSBpbWFnZSB1cGxvYWQgYm94XHJcbiAgICAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWltYWdlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVyO1xyXG4gICAgfSAvLyBoaWRlIGZpbGVuYW1lXHJcbiAgICAuZHotZmlsZW5hbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9IC8vIHJlbW92ZSBsaW5rXHJcbiAgICAuZHotcHJldmlldyAuZHotcmVtb3ZlIHtcclxuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZSB7XHJcbiAgICAgICAgdG9wOiAxMzBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kei1wcmV2aWV3LmR6LWVycm9yOmhvdmVyIC5kei1lcnJvci1tZXNzYWdlIHtcclxuICAgICAgICB0b3A6IDEwMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgQ29tcG9uZW50OiBwbHVnaW5zXHJcbiAgICAtIFVzZSB0aGlzIHN0eWxlc2hlZXQgdG8gaW5jbHVkZSBzaW5nbGUgY3NzIHN0eWxlcyBmb3IgcGx1Z2luc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vLyBCb290c3RyYXAgU2xpZGVyIHZhcmlhYmxlc1xyXG4kc2xpZGVyLWhhbmRsZS1iZzogJHByaW1hcnk7XHJcbiRzbGlkZXItdHJhY2stYm9yZGVyOiAkcHJpbWFyeTtcclxuJHNsaWRlci1zZWxlY3Rpb24tYmc6ICRzbGlkZXItdHJhY2stYm9yZGVyO1xyXG4kc2xpZGVyLXRvb2x0aXAtY29sb3I6ICMyYzMwMzc7XHJcblxyXG5ib2R5IHtcclxuXHJcbiAgICAvLyBSZXVzZSBmb3JtIGNvbnRybCBkZWZpbml0aW9uIGZyb20gQlMgYXMgYSBtaXhpbiB0byBhdm9pZCByZWRlY2xhcmF0aW9uXHJcbiAgICAvLyBhbmQgZXh0ZW5kIHRoZSBzdHlsZXMgaW4gb3RoZXIgY29tcG9uZW50c1xyXG4gICAgQG1peGluIGZvcm0tY29udHJvbCgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcclxuICAgICAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oI3tcImJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXNcIn0pOyAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCk7IC8vZyBQbGFjZWhvbGRlclxyXG5cclxuICAgICAgICAmW2Rpc2FibGVkXSxcclxuICAgICAgICAmW3JlYWRvbmx5XSxcclxuICAgICAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcclxuICAgICAgICAgICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuc2xpZGVyLWhhbmRsZSxcclxuICAgIC5zbGlkZXItdHJhY2ssXHJcbiAgICAuc2xpZGVyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXItaGFuZGxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzbGlkZXItaGFuZGxlLWJnO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyLXRyYWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzbGlkZXItdHJhY2stYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgLnNsaWRlci1zZWxlY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItc2VsZWN0aW9uLWJnO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIC50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRzbGlkZXItdG9vbHRpcC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRzbGlkZXItdG9vbHRpcC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLXRvb2x0aXAtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLmluIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWRlci1mdyAuc2xpZGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gQ2hvc2VuIE1VTFRJUExFXHJcbiAgICAkbXVsdGlwbGUtdGFnLWJnOiAjZjVmNmY3O1xyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbCgpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT10ZXh0XSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggM3B4IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG11bHRpcGxlLXRhZy1iZztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJG11bHRpcGxlLXRhZy1iZywgNSUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFhMmEzO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWRyb3Age1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICAgIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1yZXN1bHQge1xyXG4gICAgICAgIGNvbG9yOiAjNzQ3NTc2O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbiAgICB9XHJcbiAgICAvLyBDaG9zZW4gU0lOR0xFXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUsXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9ybS1jb250cm9sKCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAgIH1cclxuICAgIC5jaG9zZW4tc2VhcmNoLWlucHV0IHsgYm9yZGVyOiAwIH1cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSxcclxuICAgIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1kcm9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYge1xyXG4gICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCBpbnB1dFt0eXBlPXRleHRdIHtcclxuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZpbGVzdHlsZVxyXG4gICAgLmJvb3RzdHJhcC1maWxlc3R5bGUge1xyXG4gICAgICAgIG1heC13aWR0aDogMzgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2VsZWN0IDJcclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1ib290c3RyYXA0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgICAgICBoZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcclxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tYm9vdHN0cmFwNCAuc2VsZWN0Mi1zZWxlY3Rpb24sXHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWJvb3RzdHJhcDQuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWJvb3RzdHJhcDQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgICAgICBwYWRkaW5nOiA0cHggNXB4O1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItZHJvcGRvd24ge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tYm9vdHN0cmFwNCAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuNjVlbTtcclxuICAgIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogZGF0YXRhYmxlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBTZWFyY2ggYnV0dG9uXHJcbi5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgPiBlbSB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYwLCAxNjAsIDE2MCwgLjI1KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIC41cmVtO1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfbGVuZ3RoIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYwLCAxNjAsIDE2MCwgLjI1KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAuNXJlbTtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogODBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmR0LWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBJbmZvIGFyZWFcclxuLmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIHBhZGRpbmctdG9wOiAuNzVyZW07XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcclxuICAgID4gYSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICYucHJldmlvdXMgPiBhLCAmLm5leHQgPiBhIHtcclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkID4gYSB7XHJcbiAgICAgICAgY29sb3I6ICRncmF5O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gQnV0dG9uIGluZm8gcG9wdXBcclxuZGl2LmR0LWJ1dHRvbi1pbmZvIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yMDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGdyYXk7XHJcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDhweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAyMTAwO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICAgICAgICAgICAgY29sb3I6ICRzdWNjZXNzO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICBwYWRkaW5nOiAxZW07XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBLZXkgVGFibGVzXHJcbnRhYmxlLmRhdGFUYWJsZSB0aC5mb2N1cywgdGFibGUuZGF0YVRhYmxlIHRkLmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDNweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJGdyYXktZGFyaztcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICBDb21wb25lbnQ6IHRhYmxlLWV4dHJhc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vLyBBZGQgc3VwcG9ydCB0byBjb21wb25lbnRzIGluc2lkZSB0YWJsZXNcclxuXHJcbi50YWJsZSB7XHJcbiAgICA+IHRoZWFkID4gdHIgPiB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogMTRweCA4cHg7XHJcbiAgICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICB9XHJcblxyXG4gICAgPiB0Ym9keSA+IHRyID4gdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgPiAubWVkaWEge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2hlY2tib3gge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMFxyXG4gICAgfVxyXG5cclxuICAgIC5yYWRpYWwtYmFyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmpxc3Rvb2x0aXAge1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi8vIEV4dGVuZGVkIHRhYmxlIGRlbW9zXHJcblxyXG4jdGFibGUtZXh0LTEge1xyXG4gICAgdGgge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg3KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDkpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4jdGFibGUtZXh0LTIge1xyXG4gICAgdGgge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogQm9vdGdyaWRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uYm9vdGdyaWQtaGVhZGVyIHtcclxuICAgIC5zZWFyY2gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24ge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDEwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wZG93bi1pdGVtIHtcclxuICAgICAgICAgICAgJiB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3RpdmUgPiAuZHJvcGRvd24taXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJvb3RncmlkLXRhYmxlIHtcclxuICAgIHRoIHtcclxuICAgICAgICA+IC5jb2x1bW4taGVhZGVyLWFuY2hvciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXksLjEyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5sb2FkaW5nLCB0ZC5uby1yZXN1bHRzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxufVxyXG5cclxuLmJvb3RncmlkLWZvb3RlciB7XHJcbiAgICA+IC5yb3cge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcclxuICAgIH1cclxuICAgIC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5pbmZvQmFyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAuYm9vdGdyaWQtZm9vdGVyIHtcclxuICAgICAgICAucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmZvQmFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEFjdGl2ZSBjZWxscyBiYWNrZ3JvdW5kXHJcbi5ib290Z3JpZCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQuYWN0aXZlLCAuYm9vdGdyaWQgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZSwgLmJvb3RncmlkIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5hY3RpdmUsIC5ib290Z3JpZCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGguYWN0aXZlLCAuYm9vdGdyaWQgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZSwgLmJvb3RncmlkIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5hY3RpdmUsIC5ib290Z3JpZCAudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRkLCAuYm9vdGdyaWQgLnRhYmxlID4gdGJvZHkgPiB0ci5hY3RpdmUgPiB0ZCwgLmJvb3RncmlkIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGQsIC5ib290Z3JpZCAudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRoLCAuYm9vdGdyaWQgLnRhYmxlID4gdGJvZHkgPiB0ci5hY3RpdmUgPiB0aCwgLmJvb3RncmlkIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiBnbWFwXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uZ21hcCB7XHJcbiAgICAvLyBTZXRzIGFuIGFyYml0cmFyeSBoZWlnaHQgZm9yIHRoZSBtYXAgZWxlbWVudFxyXG4gICAgLy8gR29vZ2xlIE1hcCByZXF1aXJlcyBpdFxyXG4gICAgaGVpZ2h0OiAzMDBweDtcclxuXHJcbiAgICAmLmdtYXAtc20ge1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogdmVjdG9yLW1hcFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiR2bWFwLWxhYmVsLWJnOiAjMzEzMjMyO1xyXG4kdm1hcC16b29tLWN0cmwtYmc6ICM1MTUyNTM7XHJcblxyXG5ib2R5IHtcclxuICAgIC8vIGFkZHMgcHJpb3JpdHlcclxuXHJcbiAgICAuanZlY3Rvcm1hcC1sYWJlbCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJHZtYXAtbGFiZWwtYmc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR2bWFwLWxhYmVsLWJnO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuOTtcclxuICAgICAgICB6LWluZGV4OiAxMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5qdmVjdG9ybWFwLXpvb21pbiwgLmp2ZWN0b3JtYXAtem9vbW91dCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdm1hcC16b29tLWN0cmwtYmc7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5qdmVjdG9ybWFwLXpvb21pbiB7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5qdmVjdG9ybWFwLXpvb21vdXQge1xyXG4gICAgICAgIHRvcDogMzBweDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiB0aW1lbGluZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiR0aW1lbGluZS1iYWRnZS1zaXplIDogMzZweDtcclxuJHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodCA6IDIwcHg7XHJcbiR0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGggOiAxMjBweDtcclxuXHJcbi8vIFRpbWVsaW5lIGNvbnRhaW5lclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udGltZWxpbmUsXHJcbi50aW1lbGluZS1hbHQge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDsgLy8gVGltZWxpbmUgY2VudHJhbCBsaW5lXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFkMmQzO1xyXG4gICAgICAgIGxlZnQ6ICR0aW1lbGluZS1iYWRnZS1zaXplIC8gMjtcclxuICAgIH0gLy8gY2xlYXIgYWxsIGZsb2F0IGVsZW1lbnQgdXNpbmcgYSBsYXN0IGl0ZW1cclxuICAgIC50aW1lbGluZS1lbmQge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfSAvLyBjaGFuZ2UgcG9wb3ZlciBkZWZhdWx0IGNvbG9ycyB0byB1c2Ugbm8gdGl0bGVcclxuICAgIC5wb3BvdmVyIHtcclxuICAgICAgICAmLmxlZnQ+LmFycm93OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmlnaHQ+LmFycm93OmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH0gLy8gYnV0IHJlc3RvcmUgdGhlIGNvbG9yIGlmIHdlIHVzZSBhIHRpdGxlXHJcbiAgICAgICAgJi5sZWZ0Pi5wb3BvdmVyLXRpdGxlKy5hcnJvdzphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yaWdodD4ucG9wb3Zlci10aXRsZSsuYXJyb3c6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH0gLy8gVGltZWxpbmUgbGlzdCBpdG1lc1xyXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgID5saSB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAmLnRpbWVsaW5lLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1kYXRldGltZSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHRpbWVsaW5lLXNlcGFyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I2YzVkYTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAvLyBUaW1lbGluZSBjYXJkXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgPmxpPi50aW1lbGluZS1jYXJkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogJHRpbWVsaW5lLXNlcGFyYXRvci13aWR0aCAvIDI7IC8vIFBvcG92ZXIgaW5zaWRlIHRpbWVsaW5lIGNhcmRzXHJcbiAgICAgICAgLnBvcG92ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIC5hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6ICR0aW1lbGluZS1iYWRnZS1zaXplLzI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLnBvcG92ZXItdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IC8vIFRpbWVsaW5lIERhdGVcclxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICA+bGk+LnRpbWVsaW5lLWRhdGUge1xyXG4gICAgICAgIG1hcmdpbjogLSR0aW1lbGluZS1kYXRldGltZS1oZWlnaHQgMCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogJHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcblxyXG4gICAgICAgID50aW1lIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGV0aW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gLy8gVGltZWxpbmUgYmFkZ2VzXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgPmxpPi50aW1lbGluZS1iYWRnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6ICR0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJHRpbWVsaW5lLWJhZGdlLXNpemU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICR0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDsgLy8gQ29sb3IgdmFyaWFudHNcclxuICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRhbmdlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5mbyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pbnZlcnNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ3JlZW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGluayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnB1cnBsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGFyayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnllbGxvdyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGltZWxpbmUtYWx0IHtcclxuICAgIC5wb3BvdmVyIC5hcnJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGltZWxpbmUgdGl0bGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnRpbWVsaW5lLXRpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxuLy8gVGltZWxpbmUgQm9keVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udGltZWxpbmUtYm9keT5wLFxyXG4udGltZWxpbmUtYm9keT51bCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4udGltZWxpbmUtYm9keT5wK3Age1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4vLyBUaW1lbGluZSBmb3IgRGVza3RvcHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHJcbiAgICAudGltZWxpbmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKCR0aW1lbGluZS1iYWRnZS1zaXplLzIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+bGkge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcblxyXG4gICAgICAgICAgICAmLnRpbWVsaW5lLWludmVydGVkIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGNsZWFyOiByaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5saS50aW1lbGluZS1zZXBhcmF0b3Ige1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoJHRpbWVsaW5lLWJhZGdlLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+bGk+LnRpbWVsaW5lLWJhZGdlIHtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5saT4udGltZWxpbmUtZGF0ZSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiAkdGltZWxpbmUtYmFkZ2Utc2l6ZSAvIDI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdGltZWxpbmUtYmFkZ2Utc2l6ZSAqIDEuNTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgkdGltZWxpbmUtZGF0ZXRpbWUtaGVpZ2h0LzIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPmxpPi50aW1lbGluZS1jYXJkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTE1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnBvcG92ZXIgLmFycm93IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAvLyBUaW1lbGluZSBpbnZlcnRlZFxyXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICAgPmxpLnRpbWVsaW5lLWludmVydGVkIHtcclxuXHJcbiAgICAgICAgICAgID4udGltZWxpbmUtY2FyZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGltZWxpbmUtZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogdG9kb1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50b2RvIHtcclxuXHJcbiAgICAudG9kby1pdGVtLWxpc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAudG9kby1pdGVtIHtcclxuXHJcbiAgICAgICAgLnRvZG8tZWRpdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAudG9kby1lZGl0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRvZG8tY29tcGxldGUgLnRvZG8tZWRpdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC50b2RvLWNvbXBsZXRlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyO1xyXG4gICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrZXI7XHJcblxyXG4gICAgICAgIC50b2RvLXRpdGxlIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgIENvbXBvbmVudDogY2FsZW5kYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FsZW5kYXItYXBwIHtcclxuXHJcbiAgICAuZmMtYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC5idG4tc207XHJcbiAgICAgICAgQGV4dGVuZCAuYnRuLXNlY29uZGFyeTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAmLmZjLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmMtYnV0dG9uIC5mYy1pY29uIHtcclxuICAgICAgICBtYXJnaW46IDAgLjFlbTtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IC8vIFJlbW92ZSBhbnkgaWNvbiBwcmVkZWZpbmVkIGJ5IEZ1bGxDYWxlbmRhclxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmMtc3RhdGUtaGlnaGxpZ2h0LFxyXG4gICAgLmZjLWRheTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjhmOTtcclxuICAgIH1cclxuXHJcbiAgICAuZmMtZGF5LW51bWJlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGNvbG9yOiAjYTFhMmEzO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYy1ldmVudCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIH0gLy8gQWxsb3cgdG8gZHJhZyBldmVudCBvdXRzaWRlIHRoZSBjYWxlbmRhclxyXG4gICAgLmZjLXZpZXcge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfSAvLyBDYWxlbmRhciBhcHAgc3R5bGVzXHJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLmV4dGVybmFsLWV2ZW50cyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgID5kaXYge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiRU1SVFBVWVwiO1xyXG4gICAgICAgIH1cclxuICAgIH0gLy8gUmVtb3ZlIGV2ZW50cyBkcm9wIGFyZWFcclxuXHJcbiAgICAuZXh0ZXJuYWwtZXZlbnQtY29sb3Itc2VsZWN0b3Ige1xyXG4gICAgICAgIC5jaXJjbGUuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgQ29tcG9uZW50OiBtYWlsYm94XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJG1haWwtYm94LWFjdGl2ZS1pdGVtIDogJHByaW1hcnk7XHJcbiRtYWlsLWJveC1ob3Zlci1pdGVtIDogI0MwRDBEMztcclxuJG1haWwtbWFpbHMtYWN0aXZlIDogI2Y3ZjhmOTtcclxuXHJcblxyXG4vLyBNYWlsIE5hdmlnYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1iLWJveGVzIHtcclxuXHJcbiAgICAvLyBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC5uYXY+bGk+YSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZSk7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWlsLWJveC1ob3Zlci1pdGVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2PmxpLmFjdGl2ZT5hIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbC1ib3gtYWN0aXZlLWl0ZW0gIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAubWItY29tcG9zZS1idXR0b24ge1xyXG4gICAgICAgIC8vIC5idG4tYmxvY2tcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAubWItdG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTWFpbHMgbGlzdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubWItbWFpbHMge1xyXG5cclxuICAgID50Ym9keT50cj50ZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYi1tYWlsLWFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haWwtbWFpbHMtYWN0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLW1haWwtYXZhdGFyIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuXHJcbiAgICAubWItbWFpbC1kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAubWItbWFpbC1mcm9tIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuXHJcbiAgICAubWItbWFpbC1tZXRhIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLm1iLW1haWwtc3ViamVjdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLW1haWwtcHJldmlldyB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5tYi1hdHRhY2htZW50IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVmlld3dpbmcgbWFpbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1iLXZpZXcge1xyXG4gICAgPnRib2R5PnRyPnRkIHtcclxuICAgICAgICBjdXJzb3I6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm1iLW1haWwtdG8tbGlzdCB7XHJcbiAgICAgICAgPmEge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBQbGFuIHRhYmxlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBsYW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7IC8vIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggOHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wbGFuLXBlcmlvZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDI0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA1KTtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnBsYW4tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnBsYW4tZmVhdHVyZXMge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAgID5saSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyNHB4O1xyXG5cclxuICAgICAgICAgICAgPmVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaW5mbztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBsYW4tZmVhdHVyZS1kaXNhYmxlIHtcclxuICAgICAgICBjb2xvcjogJGRhbmdlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHO0FtQ1RIOzs4RUFFOEU7QVFFOUUsT0FBTyxDQUFDLDRFQUFJO0FSNEJaLEFBQUEsSUFBSSxDQUFDO0VBQ0Qsa0JBQWtCO0VBQ2xCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLFlBQVksRUFBRSxZQUFZO0VBQzFCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUVELEFBQUEsSUFBSTtBQUNKLElBQUksQ0FBQztFQUVELE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBSUQsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLE1BQU0sR0EwRHJCO0VBL0RELEFBTUksUUFOSSxBQU1ILFNBQVMsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBUkwsQUFVSSxRQVZJLENBVUosZ0JBQWdCLENBQUM7SUFFYixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBL0M2QixLQUFLO0lBaUR2QyxHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBckMyQixHQUFHO0lBc0NyQyxtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLGdCQUFnQixFQW5Ea0IsSUFBSSxHQXNFekM7SUF2Q0wsQUFzQlEsUUF0QkEsQ0FVSixnQkFBZ0IsQ0FZWixZQUFZLENBQUM7TUFDVCxXQUFXLEVBN0NtQixLQUErQjtNQThDN0QsTUFBTSxFQUFFLElBQUk7TUFDWixLQUFLLEVBM0R5QixLQUFLO01BNERuQyxRQUFRLEVBQUUsTUFBTSxHQUNuQjtJQTNCVCxBQTZCUSxRQTdCQSxD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S0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxBQUFBLE9BQU8sQUFHOUIsTUFBTSxBQUFBLE1BQU0sRUFIakIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQUFBQSxPQUFPLEFBSTlCLFNBQVMsQUFBQSxNQUFNLEVBSnBCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEFBQUEsT0FBTyxBQUs5QixTQUFTLEFBQUEsTUFBTSxBQUFBLE1BQU0sRUFMMUIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQUFBQSxPQUFPLEFBTTlCLE9BQU8sRUFOWixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxBQUFBLE9BQU8sQUFPOUIsTUFBTSxBQUFBLE9BQU8sRUFQbEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQUFBQSxPQUFPLEFBUTlCLFNBQVMsQUFBQSxPQUFPLEVBUnJCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEFBQUEsT0FBTyxBQVM5QixTQUFTLEFBQUEsTUFBTSxBQUFBLE9BQU8sRUFUM0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQUFBQSxPQUFPLEFBVTlCLE9BQU8sRUFWWixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxBQUFBLE9BQU8sQUFXOUIsTUFBTSxBQUFBLE9BQU8sRUFYbEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQUFBQSxPQUFPLEFBWTlCLFNBQVMsQUFBQSxPQUFPLEVBWnJCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEFBQUEsT0FBTyxBQWE5QixTQUFTLEFBQUEsTUFBTSxBQUFBLE9BQU8sRUFiM0Is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 */
