/*********************************
 METRONIC SQUARE STYLE COMPONENTS 
*********************************/
/***
Rounded corners reset
***/
/* Reset rounded corners for all elements */
div, input, select, textarea, span, img, table, label, td, th, p, a, button, ul, code, pre, li {
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important; }

/* except below bootstrap elements */
.img-circle {
  border-radius: 50% !important; }

.img-rounded {
  border-radius: 6px !important; }

/***
General reset
***/
/* Set default body */
body {
  margin: 0px !important;
  padding:     0px !important;
  color:       #333333;
  font-size: 11px;
  font-family: "Open Sans", sans-serif;
  direction: ltr; }

/*
 Internet Explorer 10 doesn't differentiate device width from viewport width, and thus doesn't 
 properly apply the media queries in Bootstrap's CSS. To address this, 
 you can optionally include the following CSS and JavaScript to work around this problem until Microsoft issues a fix.
*/
@-webkit-viewport {
  width: device-width; }

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

/*
 Internet Explorer 10 doesn't differentiate device width from viewport width, 
 and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, following CSS code applied 
*/
@-ms-viewport {
  width: auto !important; }

.md-shadow-z-1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); }

.md-shadow-z-1-i {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18) !important; }

.md-shadow-z-1-hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.14), 0 1px 2px rgba(0, 0, 0, 0.22); }

.md-shadow-z-2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.22); }

.md-shadow-z-2-i {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.22) !important; }

.md-shadow-z-2-hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2), 0 3px 6px rgba(0, 0, 0, 0.26); }

.md-shadow-z-3 {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18), 0 6px 6px rgba(0, 0, 0, 0.23); }

.md-shadow-z-3-i {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18), 0 6px 6px rgba(0, 0, 0, 0.24) !important; }

.md-shadow-z-3-hover {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22), 0 6px 6px rgba(0, 0, 0, 0.26); }

.md-shadow-z-4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.26), 0 10px 10px rgba(0, 0, 0, 0.22); }

.md-shadow-z-4-i {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.26), 0 10px 10px rgba(0, 0, 0, 0.22) !important; }

.md-shadow-z-5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.28), 0 15px 12px rgba(0, 0, 0, 0.22); }

.md-shadow-z-5-i {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.28), 0 15px 12px rgba(0, 0, 0, 0.22) !important; }

.md-shadow-none {
  box-shadow: none !important; }

.md-click-circle {
  position: absolute;
  display:           block;
  border-radius: 50%;
  background:        rgba(0, 0, 0, 0.2);
  -moz-transform: scale(0);
  transform:         scale(0);
  -webkit-animation: scale(0);
}
  .md-click-circle.md-click-animate {
    -webkit-animation: mdClickEffect 0.55s linear;
    -moz-animation: mdClickEffect 0.55s linear;
    animation: mdClickEffect 0.55s linear; }

@-webkit-keyframes mdClickEffect {
  100% {
    opacity: 0;
    -webkit-transform: scale(1.5); } }

@-moz-keyframes mdClickEffect {
  100% {
    opacity: 0;
    -moz-transform: scale(2.5); } }

@keyframes mdClickEffect {
  100% {
    opacity: 0;
    transform: scale(2.5); } }

.form-group.form-md-line-input {
  position: relative;
  margin: 0 0 35px 0;
  padding-top: 20px; }
  .form-horizontal .form-group.form-md-line-input {
    margin:      0 -15px 20px -15px;
    margin-bottom: 20px;
    padding-top: 10px;
  }
  .form-horizontal .form-group.form-md-line-input > label {
    padding-top: 5px;
    color: #888888;
    font-size: 11px;
    opacity: 1 ;
    filter: alpha(opacity=#{$value * 100}) ; }
  .form-group.form-md-line-input:last-child {
    margin-bottom: 0; }
  .form-group.form-md-line-input + .input-icon {
    padding-top: 0; }
  .form-group.form-md-line-input > .input-icon {
    padding-top: 20px; }
    .form-group.form-md-line-input > .input-icon > i {
      bottom: 0;
      left: 0;
      margin: 11px 2px 10px 10px;
      color: #888888; }
    .form-group.form-md-line-input > .input-icon.right > i {
      right: 8px;
      left: auto;
      margin: 11px 2px 10px 10px; }
  .form-group.form-md-line-input .form-control {
    padding-right:     0;
    padding-left:      0;
    border: 0;
    border-bottom:     1px solid #e5e5e5;
    -webkit-border-radius: 0 ;
    -moz-border-radius: 0 ;
    border-radius: 0 ;
    background:        none;
    box-shadow: none;
    color:             #333;
    font-size:         12px;
    -ms-border-radius: 0;
    -o-border-radius:  0;
  }
    .form-group.form-md-line-input .form-control::-moz-placeholder {
      color: #999;
      opacity: 1; }
    .form-group.form-md-line-input .form-control:-ms-input-placeholder {
      color: #999; }
    .form-group.form-md-line-input .form-control::-webkit-input-placeholder {
      color: #999; }
    .form-group.form-md-line-input .form-control.form-control-static {
      border-bottom: 0; }
    .form-group.form-md-line-input .form-control.input-sm {
      padding:   6px 0;
      font-size: 12px;
    }
    .form-group.form-md-line-input .form-control.input-lg {
      padding:   14px 0;
      font-size: 20px;
    }
    .form-group.form-md-line-input .form-control ~ label, .form-group.form-md-line-input .form-control ~ .form-control-focus {
      position: absolute;
      bottom: 0;
      left:  0;
      width: 100%;
      pointer-events: none; }
      .form-horizontal .form-group.form-md-line-input .form-control ~ label, .form-horizontal .form-group.form-md-line-input .form-control ~ .form-control-focus {
        right: 15px;
        left: 15px;
        width: auto;
      }
      .form-group.form-md-line-input .form-control ~ label:after, .form-group.form-md-line-input .form-control ~ .form-control-focus:after {
        position: absolute;
        bottom: 0;
        left: 50%;
        z-index:    5;
        visibility: hidden;
        width: 0;
        width: 0;
        height:     2px;
        content:    '';
        transition: 0.2s ease all; }
    .form-group.form-md-line-input .form-control ~ label {
      top: 0;
      margin-bottom: 0;
      color: #888888;
      font-size: 10px;
      opacity: 1 ;
      filter: alpha(opacity=#{$value * 100}) ; }
    .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ .form-control-focus, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ .form-control-focus, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ label, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ .form-control-focus {
      color: #888888; }
      .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ label:after, .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ label:after, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ label:after, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ .form-control-focus:after {
        left: 0;
        visibility: visible;
        width: 100%;
        background: #45B6AF; }
    .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ label {
      opacity: 1 ;
      filter: alpha(opacity=#{$value * 100}) ; }
    .form-group.form-md-line-input .form-control.edited:not([readonly]) ~ .help-block, .form-group.form-md-line-input .form-control:focus:not([readonly]) ~ .help-block, .form-group.form-md-line-input .form-control.focus:not([readonly]) ~ .help-block {
      color: #45B6AF;
      opacity: 1 ;
      filter: alpha(opacity=#{$value * 100}) ; }
    .form-group.form-md-line-input .form-control[readonly], .form-group.form-md-line-input .form-control[disabled], fieldset[disabled] .form-group.form-md-line-input .form-control {
      border-bottom: 1px dashed #e5e5e5;
      background: none;
      cursor:        not-allowed;
    }
  .form-group.form-md-line-input.form-md-floating-label .form-control ~ label {
    top: 25px;
    color:      #999;
    font-size:  13px;
    transition: 0.2s ease all;
  }
  .form-group.form-md-line-input.form-md-floating-label .form-control[readonly] ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.edited ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.form-control-static ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.focus:not([readonly]) ~ label {
    top: 0;
    font-size: 11px; }
  .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm ~ label {
    top:       24px;
    font-size: 12px;
  }
  .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm[readonly] ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm.form-control-static ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm.edited ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm:focus:not([readonly]) ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-sm.focus:not([readonly]) ~ label {
    top: 0;
    font-size: 11px; }
  .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg ~ label {
    top:       30px;
    font-size: 20px;
  }
  .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg[readonly] ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg.edited ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg.form-control-static ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg:focus:not([readonly]) ~ label, .form-group.form-md-line-input.form-md-floating-label .form-control.input-lg.focus:not([readonly]) ~ label {
    top: 0;
    font-size: 13px; }
  .form-group.form-md-line-input.form-md-floating-label .input-icon > label {
    padding-left: 34px; }
  .form-group.form-md-line-input.form-md-floating-label .input-icon.right > label {
    padding-right: 34px;
    padding-left:  0;
  }
  .form-group.form-md-line-input.form-md-floating-label .input-group.left-addon label {
    padding-left: 34px; }
  .form-group.form-md-line-input.form-md-floating-label .input-group.right-addon label {
    padding-right: 34px; }
  .form-group.form-md-line-input > .input-icon > i {
    margin-top: 9px; }
  .form-group.form-md-line-input > .input-icon .form-control {
    padding-left: 34px; }
  .form-group.form-md-line-input > .input-icon.right .form-control {
    padding-right: 34px;
    padding-left:  0;
  }
  .form-group.form-md-line-input .help-block {
    position: absolute;
    margin: 2px 0 0 0;
    font-size: 13px;
    opacity: 0 ;
    filter:    alpha(opacity=#{$value * 100});
  }
  .form-group.form-md-line-input.has-success .form-control.edited:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-success .form-control.edited:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-success .form-control.form-control-static ~ label:after, .form-group.form-md-line-input.has-success .form-control.form-control-static ~ .form-control-focus:after, .form-group.form-md-line-input.has-success .form-control:focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-success .form-control:focus:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-success .form-control.focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-success .form-control.focus:not([readonly]) ~ .form-control-focus:after {
    background: #3c763d; }
  .form-group.form-md-line-input.has-success .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input.has-success .form-control.form-control-static ~ label, .form-group.form-md-line-input.has-success .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input.has-success .form-control.focus:not([readonly]) ~ label {
    color: #3c763d; }
  .form-group.form-md-line-input.has-success .form-control.edited:not([readonly]) ~ i, .form-group.form-md-line-input.has-success .form-control.form-control-static ~ i, .form-group.form-md-line-input.has-success .form-control:focus:not([readonly]) ~ i, .form-group.form-md-line-input.has-success .form-control.focus:not([readonly]) ~ i {
    color: #3c763d; }
  .form-group.form-md-line-input.has-success .form-control.edited:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-success .form-control.form-control-static ~ .help-block, .form-group.form-md-line-input.has-success .form-control:focus:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-success .form-control.focus:not([readonly]) ~ .help-block {
    color: #3c763d; }
  .form-group.form-md-line-input.has-success .input-group-addon {
    color: #3c763d; }
  .form-horizontal .form-group.form-md-line-input.has-success > label {
    color: #3c763d; }
  .form-group.form-md-line-input.has-warning .form-control.edited:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-warning .form-control.edited:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-warning .form-control.form-control-static ~ label:after, .form-group.form-md-line-input.has-warning .form-control.form-control-static ~ .form-control-focus:after, .form-group.form-md-line-input.has-warning .form-control:focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-warning .form-control:focus:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-warning .form-control.focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-warning .form-control.focus:not([readonly]) ~ .form-control-focus:after {
    background: #8a6d3b; }
  .form-group.form-md-line-input.has-warning .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input.has-warning .form-control.form-control-static ~ label, .form-group.form-md-line-input.has-warning .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input.has-warning .form-control.focus:not([readonly]) ~ label {
    color: #8a6d3b; }
  .form-group.form-md-line-input.has-warning .form-control.edited:not([readonly]) ~ i, .form-group.form-md-line-input.has-warning .form-control.form-control-static ~ i, .form-group.form-md-line-input.has-warning .form-control:focus:not([readonly]) ~ i, .form-group.form-md-line-input.has-warning .form-control.focus:not([readonly]) ~ i {
    color: #8a6d3b; }
  .form-group.form-md-line-input.has-warning .form-control.edited:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-warning .form-control.form-control-static ~ .help-block, .form-group.form-md-line-input.has-warning .form-control:focus:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-warning .form-control.focus:not([readonly]) ~ .help-block {
    color: #8a6d3b; }
  .form-group.form-md-line-input.has-warning .input-group-addon {
    color: #8a6d3b; }
  .form-horizontal .form-group.form-md-line-input.has-warning > label {
    color: #8a6d3b; }
  .form-group.form-md-line-input.has-error .form-control.edited:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-error .form-control.edited:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-error .form-control.form-control-static ~ label:after, .form-group.form-md-line-input.has-error .form-control.form-control-static ~ .form-control-focus:after, .form-group.form-md-line-input.has-error .form-control:focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-error .form-control:focus:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-error .form-control.focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-error .form-control.focus:not([readonly]) ~ .form-control-focus:after {
    background: #a94442; }
  .form-group.form-md-line-input.has-error .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input.has-error .form-control.form-control-static ~ label, .form-group.form-md-line-input.has-error .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input.has-error .form-control.focus:not([readonly]) ~ label {
    color: #a94442; }
  .form-group.form-md-line-input.has-error .form-control.edited:not([readonly]) ~ i, .form-group.form-md-line-input.has-error .form-control.form-control-static ~ i, .form-group.form-md-line-input.has-error .form-control:focus:not([readonly]) ~ i, .form-group.form-md-line-input.has-error .form-control.focus:not([readonly]) ~ i {
    color: #a94442; }
  .form-group.form-md-line-input.has-error .form-control.edited:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-error .form-control.form-control-static ~ .help-block, .form-group.form-md-line-input.has-error .form-control:focus:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-error .form-control.focus:not([readonly]) ~ .help-block {
    color: #a94442; }
  .form-group.form-md-line-input.has-error .input-group-addon {
    color: #a94442; }
  .form-horizontal .form-group.form-md-line-input.has-error > label {
    color: #a94442; }
  .form-group.form-md-line-input.has-info .form-control.edited:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-info .form-control.edited:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-info .form-control.form-control-static ~ label:after, .form-group.form-md-line-input.has-info .form-control.form-control-static ~ .form-control-focus:after, .form-group.form-md-line-input.has-info .form-control:focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-info .form-control:focus:not([readonly]) ~ .form-control-focus:after, .form-group.form-md-line-input.has-info .form-control.focus:not([readonly]) ~ label:after, .form-group.form-md-line-input.has-info .form-control.focus:not([readonly]) ~ .form-control-focus:after {
    background: #31708f; }
  .form-group.form-md-line-input.has-info .form-control.edited:not([readonly]) ~ label, .form-group.form-md-line-input.has-info .form-control.form-control-static ~ label, .form-group.form-md-line-input.has-info .form-control:focus:not([readonly]) ~ label, .form-group.form-md-line-input.has-info .form-control.focus:not([readonly]) ~ label {
    color: #31708f; }
  .form-group.form-md-line-input.has-info .form-control.edited:not([readonly]) ~ i, .form-group.form-md-line-input.has-info .form-control.form-control-static ~ i, .form-group.form-md-line-input.has-info .form-control:focus:not([readonly]) ~ i, .form-group.form-md-line-input.has-info .form-control.focus:not([readonly]) ~ i {
    color: #31708f; }
  .form-group.form-md-line-input.has-info .form-control.edited:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-info .form-control.form-control-static ~ .help-block, .form-group.form-md-line-input.has-info .form-control:focus:not([readonly]) ~ .help-block, .form-group.form-md-line-input.has-info .form-control.focus:not([readonly]) ~ .help-block {
    color: #31708f; }
  .form-group.form-md-line-input.has-info .input-group-addon {
    color: #31708f; }
  .form-horizontal .form-group.form-md-line-input.has-info > label {
    color: #31708f; }
  .form-group.form-md-line-input + .input-group {
    padding-top: 0; }
  .form-group.form-md-line-input .input-group {
    padding-top: 20px; }
    .form-group.form-md-line-input .input-group .input-group-addon {
      border:            0;
      border-bottom:     1px solid #e5e5e5;
      -webkit-border-radius: 0 ;
      -moz-border-radius: 0 ;
      border-radius: 0 ;
      background: none;
      -ms-border-radius: 0;
      -o-border-radius:  0;
    }
    .form-group.form-md-line-input .input-group + .input-group-control {
      padding-top: 0; }
    .form-group.form-md-line-input .input-group .input-group-control {
      position: relative;
      display: table-cell;
      padding-top: 20px;
      vertical-align: bottom; }
    .form-group.form-md-line-input .input-group .input-group-btn .btn {
      -webkit-border-radius: 4px ;
      -moz-border-radius: 4px ;
      border-radius:    4px;
      -ms-border-radius: 4px ;
      -o-border-radius: 4px;
    }
    .form-group.form-md-line-input .input-group .input-group-btn.btn-left .btn {
      margin-right: 10px;
      margin-bottom: -20px; }
    .form-group.form-md-line-input .input-group .input-group-btn.btn-right .btn {
      margin-bottom: -20px;
      margin-left:   10px;
    }
    .form-group.form-md-line-input .input-group.input-group-sm .input-group-btn .btn {
      margin-bottom: -20px; }
    .form-group.form-md-line-input .input-group.input-group-lg .input-group-btn .btn {
      margin-bottom: -20px; }

.form-inline .form-md-line-input {
  margin: 0;
  margin-right: 20px;
  padding-top:  0;
}
  .form-inline .form-md-line-input > .input-icon {
    padding: 0; }

.form-horizontal .form-group.form-md-line-input .input-icon .form-control {
  padding-left: 33px; }
.form-horizontal .form-group.form-md-line-input .input-icon > i {
  top: 0; }
.form-horizontal .form-group.form-md-line-input .input-icon.right .form-control {
  padding-right: 33px;
  padding-left:  0;
}
.form-horizontal .form-group.form-md-line-input .input-icon > .form-control-focus {
  right: 0 !important;
  left:  0 !important;
}
.form-horizontal .form-group.form-md-line-input .input-group {
  padding-top: 0; }
  .form-horizontal .form-group.form-md-line-input .input-group > .input-group-btn .btn {
    margin-bottom: 0 !important; }
  .form-horizontal .form-group.form-md-line-input .input-group > .input-group-control {
    padding-top: 0; }
    .form-horizontal .form-group.form-md-line-input .input-group > .input-group-control > .form-control-focus {
      right: 0 !important;
      left:  0 !important;
    }
  .form-horizontal .form-group.form-md-line-input .input-group > .form-control-focus {
    right: 0 !important;
    left:  0 !important;
  }

.md-checkbox {
  position: relative;
  /* handling click events */
  /* when checkbox is checked */ }
  .md-checkbox.md-checkbox-inline {
    display: inline-block; }
  .form-inline .md-checkbox.md-checkbox-inline {
    top:          3px;
    margin-right: 20px;
  }
  .md-checkbox input[type=checkbox] {
    position:   absolute;
    visibility: hidden;
  }
  .md-checkbox label {
    padding-left: 30px;
    cursor:       pointer;
  }
  .md-checkbox label > span {
    position: absolute;
    left: 0;
    display: block;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .md-checkbox label > span.inc {
    top: -20px;
    left:                  -20px;
    width: 60px;
    height:                60px;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius:         50% !important;
    background:            #fff;
    opacity:               0;
  }
  .md-checkbox label > .box {
    top: 0px;
    z-index: 5;
    width:  20px;
    height: 20px;
    border: 2px solid #666;
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    transition-delay: 0.2s; }
  .md-checkbox label > .check {
    top: -4px;
    left: 6px;
    z-index:           5;
    width: 10px;
    height: 20px;
    border: 2px solid #45B6AF;
    border-top: none;
    border-left: none;
    opacity: 0;
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    transition-delay:  0.3s;
    -webkit-transform: rotate(180deg);
    -moz-transform:    rotate(180deg);
    transform:         rotate(180deg);
  }
  .md-checkbox label > span.inc {
    -webkit-animation: growCircle 0.3s ease;
    -moz-animation: growCircle 0.3s ease;
    animation: growCircle 0.3s ease; }
  .md-checkbox input[type=checkbox]:checked ~ label > .box {
    opacity: 0;
    -webkit-transform: scale(0) rotate(-180deg);
    -moz-transform: scale(0) rotate(-180deg);
    transform: scale(0) rotate(-180deg); }
  .md-checkbox input[type=checkbox]:checked ~ label > .check {
    opacity: 1;
    -webkit-transform: scale(1) rotate(45deg);
    -moz-transform: scale(1) rotate(45deg);
    transform: scale(1) rotate(45deg); }
  .md-checkbox input[type=checkbox]:disabled ~ label, .md-checkbox input[type=checkbox][disabled] ~ label {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-checkbox input[type=checkbox]:disabled ~ label > .box, .md-checkbox input[type=checkbox][disabled] ~ label > .box {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-checkbox input[type=checkbox]:disabled:checked ~ label > .check, .md-checkbox input[type=checkbox][disabled]:checked ~ label > .check {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-checkbox.has-error label {
    color: #F3565D; }
  .md-checkbox.has-error label > .box {
    border-color: #F3565D; }
  .md-checkbox.has-error label > .check {
    border-color: #F3565D; }
  .md-checkbox.has-info label {
    color: #89C4F4; }
  .md-checkbox.has-info label > .box {
    border-color: #89C4F4; }
  .md-checkbox.has-info label > .check {
    border-color: #89C4F4; }
  .md-checkbox.has-success label {
    color: #45B6AF; }
  .md-checkbox.has-success label > .box {
    border-color: #45B6AF; }
  .md-checkbox.has-success label > .check {
    border-color: #45B6AF; }
  .md-checkbox.has-warning label {
    color: #dfba49; }
  .md-checkbox.has-warning label > .box {
    border-color: #dfba49; }
  .md-checkbox.has-warning label > .check {
    border-color: #dfba49; }

.form-md-checkboxes > label {
  color: #888888;
  font-size: 13px;
  opacity: 1 ;
  filter: alpha(opacity=#{$value * 100}) ; }
.form-md-checkboxes.has-error > label {
  color: #F3565D; }
.form-md-checkboxes.has-info > label {
  color: #89C4F4; }
.form-md-checkboxes.has-success > label {
  color: #45B6AF; }
.form-md-checkboxes.has-warning > label {
  color: #dfba49; }

.md-checkbox-list {
  margin: 10px 0; }
  .form-horizontal .md-checkbox-list {
    margin-top: 0px; }
  .md-checkbox-list .md-checkbox {
    display: block;
    margin-bottom: 10px; }

.md-checkbox-inline {
  margin: 10px 0; }
  .form-horizontal .md-checkbox-inline {
    margin-top: 5px; }
  .md-checkbox-inline .md-checkbox {
    display: inline-block;
    margin-right: 20px; }
    .md-checkbox-inline .md-checkbox:last-child {
      margin-right: 0; }

/* bubble animation */
@-webkit-keyframes growCircle {
  0%, 100% {
    -webkit-transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    -webkit-transform: scale(1.25); } }

@-moz-keyframes growCircle {
  0%, 100% {
    -moz-transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    -moz-transform: scale(1.25); } }

@keyframes growCircle {
  0%, 100% {
    transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    transform: scale(1.25); } }

.md-radio {
  position: relative;
  /* handling click events */
  /* when radio is checked */ }
  .md-radio input[type=radio] {
    position:   absolute;
    visibility: hidden;
  }
  .md-radio label {
    padding-left: 30px;
    cursor:       pointer;
  }
  .md-radio label > span {
    position: absolute;
    left: 0;
    display: block;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .md-radio label > span.inc {
    top: -20px;
    left:                  -20px;
    width: 60px;
    height:                60px;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius:         50% !important;
    background:            #fff;
    opacity:               0;
  }
  .md-radio label > .box {
    top: 0px;
    z-index:            5;
    width: 20px;
    height:             20px;
    border:             2px solid #666;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius:      50% !important;
  }
  .md-radio label > .check {
    top: 5px;
    left: 5px;
    z-index:               6;
    width: 10px;
    height: 10px;
    -webkit-border-radius: 50% !important;
    -moz-border-radius:    50% !important;
    border-radius:         50% !important;
    background: #45B6AF;
    opacity: 0;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    transform: scale(0); }
  .md-radio label > span.inc {
    -webkit-animation: growCircleRadio 0.3s ease;
    -moz-animation: growCircleRadio 0.3s ease;
    animation: growCircleRadio 0.3s ease; }
  .md-radio input[type=radio]:checked ~ label > .check {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1); }
  .md-radio input[type=radio]:disabled ~ label, .md-radio input[type=radio][disabled] ~ label {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-radio input[type=radio]:disabled ~ label > .box, .md-radio input[type=radio][disabled] ~ label > .box {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-radio input[type=radio]:disabled:checked ~ label > .check, .md-radio input[type=radio][disabled]:checked ~ label > .check {
    opacity: 0.7;
    filter:  alpha(opacity=#{$value * 100});
    cursor:  not-allowed;
  }
  .md-radio.has-error label {
    color: #F3565D; }
  .md-radio.has-error label > .box {
    border-color: #F3565D; }
  .md-radio.has-error label > .check {
    background: #F3565D; }
  .md-radio.has-info label {
    color: #89C4F4; }
  .md-radio.has-info label > .box {
    border-color: #89C4F4; }
  .md-radio.has-info label > .check {
    background: #89C4F4; }
  .md-radio.has-success label {
    color: #45B6AF; }
  .md-radio.has-success label > .box {
    border-color: #45B6AF; }
  .md-radio.has-success label > .check {
    background: #45B6AF; }
  .md-radio.has-warning label {
    color: #dfba49; }
  .md-radio.has-warning label > .box {
    border-color: #dfba49; }
  .md-radio.has-warning label > .check {
    background: #dfba49; }

.form-md-radios > label {
  color: #888888;
  font-size: 13px;
  opacity: 1 ;
  filter: alpha(opacity=#{$value * 100}) ; }
.form-md-radios.has-error > label {
  color: #F3565D; }
.form-md-radios.has-info > label {
  color: #89C4F4; }
.form-md-radios.has-success > label {
  color: #45B6AF; }
.form-md-radios.has-warning > label {
  color: #dfba49; }

.md-radio-list {
  margin: 10px 0; }
  .form-horizontal .md-radio-list {
    margin-top: 0px; }
  .md-radio-list .md-radio {
    display: block;
    margin-bottom: 10px; }

.md-radio-inline {
  margin: 10px 0; }
  .form-horizontal .md-radio-inline {
    margin-top: 5px; }
  .md-radio-inline .md-radio {
    display: inline-block;
    margin-right: 20px; }
    .md-radio-inline .md-radio:last-child {
      margin-right: 0; }

/* bubble animation */
@-webkit-keyframes growCircleRadio {
  0%, 100% {
    -webkit-transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    -webkit-transform: scale(1.25); } }

@-moz-keyframes growCircleRadio {
  0%, 100% {
    -moz-transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    -moz-transform: scale(1.25); } }

@keyframes growCircleRadio {
  0%, 100% {
    transform: scale(0);
    opacity: 1; }

  70% {
    background: #eee;
    transform: scale(1.25); } }

/***
General typography
***/
/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
  font-family: "Open Sans", sans-serif;
}

h1 {
  font-size: 33px; }

h2 {
  font-size: 27px; }

h3 {
  font-size: 23px; }

h4 {
  font-size: 17px; }

h5 {
  font-size: 13px; }

h6 {
  font-size: 12px; }

/* Headings helper text */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: #444444; }

/* Block headings */
h1.block, h2.block, h3.block, h4.block, h5.block, h6.block {
  padding-top: 10px;
  padding-bottom: 10px; }

/* Links */
a {
  color:       #5b9bd1;
  text-shadow: none;
}
  a:hover {
    color: #3175af; }
  a:focus, a:hover, a:active {
    outline: 0; }

/* Horizontal break */
hr {
  margin: 20px 0;
  border: 0;
  border-top: 1px solid #eee;
  border-bottom: 0; }

/* Unstyled List */
.list-unstyled li > .list-unstyled {
  margin-left: 25px; }

/* Code */
code {
  border: 1px solid #e1e1e1;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); }

/* Disabled Navigation Link */
.disabled-link .disable-target {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important; }
  .disabled-link .disable-target:hover {
    cursor: not-allowed !important; }
.disabled-link:hover {
  cursor: not-allowed !important; }

/***
Utilities
***/
/* Links */
a:hover {
  cursor: pointer; }

/* Primary Link */
.primary-link {
  color: #65A0D0;
  font-weight: 600; }
  .primary-link:hover {
    color: #5194ca; }

/* Rounded Element */
.rounded-2 {
  border-radius: 2px !important; }

.rounded-3 {
  border-radius: 3px !important; }

.rounded-4 {
  border-radius: 4px !important; }

/* Circle Element */
.circle {
  border-radius: 25px !important; }

.circle-right {
  border-radius: 0 25px 25px 0 !important; }

.circle-left {
  border-radius: 25px 0 0 25px !important; }

.circle-bottom {
  border-radius: 0 0 25px 25px !important; }

.circle-top {
  border-radius: 25px 25px 0 0 !important; }

/* General utilities */
.display-none, .display-hide {
  display: none; }

.hidden {
  display: none !important; }

.primary-font {
  font-family: "Open Sans", sans-serif !important; }

.bold {
  font-weight: 700 !important; }

.thin {
  font-weight: 300 !important; }

.uppercase {
  text-transform: uppercase !important; }

.fix-margin {
  margin-left: 0px !important; }

.border {
  border: 1px solid red; }

.font-hg {
  font-size: 23px; }

.font-lg {
  font-size: 18px; }

.font-md {
  font-size: 14px; }

.font-sm {
  font-size: 13px; }

.font-xs {
  font-size: 11px; }

.inline {
  display: inline; }

.inline-block {
  display: inline-block; }

.text-align-reverse {
  text-align: right; }

/* Margin and padding utilities */
.no-space {
  margin: 0px !important;
  padding: 0px !important; }

.no-margin {
  margin: 0; }

.margin-bottom-5 {
  margin-bottom: 5px; }

.margin-bottom-10 {
  margin-bottom: 10px !important; }

.margin-top-10 {
  margin-top: 10px !important; }

.margin-top-15 {
  margin-top: 15px !important; }

.margin-bottom-15 {
  margin-bottom: 15px !important; }

.margin-bottom-20 {
  margin-bottom: 20px !important; }

.margin-top-20 {
  margin-top: 20px !important; }

.margin-bottom-25 {
  margin-bottom: 25px !important; }

.margin-bottom-30 {
  margin-bottom: 30px !important; }

.margin-bottom-40 {
  margin-bottom: 40px !important; }

.margin-right-10 {
  margin-right: 10px !important; }

/* IE8 & IE9 mode utilities */
.visible-ie8 {
  display: none; }

.ie8 .visible-ie8 {
  display: inherit !important; }

.visible-ie9 {
  display: none; }

.ie9 .visible-ie9 {
  display: inherit !important; }

.hidden-ie8 {
  display: inherit; }

.ie8 .hidden-ie8 {
  display: none !important; }

.hidden-ie9 {
  display: inherit; }

.ie9 .hidden-ie9 {
  display: none !important; }

/***
Responsive Utils
***/
@media (max-width: 1024px) {
  .hidden-1024 {
    display: none; } }

@media (max-width: 480px) {
  .hidden-480 {
    display: none; } }

@media (max-width: 320px) {
  .hidden-320 {
    display: none; } }

/***
Demo Utils
***/
.scrollspy-example {
  position: relative;
  overflow: auto;
  margin-top: 10px;
  height:   200px;
}

.util-btn-margin-bottom-5 .btn {
  margin-bottom: 5px !important; }

.util-btn-group-margin-bottom-5 .btn-group {
  margin-bottom: 5px !important; }

/***
Users
***/
.user-info {
  margin-bottom: 10px !important; }
  .user-info img {
    float: left;
    margin-right: 5px; }
  .user-info .details {
    display: inline-block; }
  .user-info .label {
    font-weight: 300;
    font-size: 11px; }

/***
Top News Blocks(new in v1.2.2) 
***/
.top-news {
  margin: 8px 0;
  color:  #fff;
}
  .top-news em {
    display:   block;
    margin-bottom: 8px;
    margin-bottom: 0;
    font-style: normal;
    font-size: 13px;
  }
    .top-news em i {
      font-size: 14px; }
  .top-news span {
    display: block;
    margin-bottom: 5px;
    text-align:    left;
    font-size:     18px;
  }
  .top-news a {
    position:      relative;
    display: block;
    margin-bottom: 10px;
    padding: 10px;
    text-align:    left;
  }
    .top-news a .top-news-icon {
      position: absolute;
      right: 8px;
      bottom: 15px;
      font-size: 35px;
      opacity:  0.3;
      filter: alpha(opacity=30);
      /*For IE8*/ }

/***
Block Images(new in v1.2.2)
***/
.blog-images {
  margin-bottom: 0; }
  .blog-images li {
    display: inline;
    margin: 0;
    padding: 0;
  }
    .blog-images li a:hover {
      text-decoration: none; }
    .blog-images li img {
      margin:  0 2px 8px;
      width: 50px;
      height: 50px;
      opacity: 0.6;
    }
      .blog-images li img:hover {
        box-shadow: 0 0 0 4px #72c02c;
        opacity:            1;
        -webkit-transition: all 0.4s ease-in-out 0s;
        -moz-transition: all 0.4s ease-in-out 0s;
        transition:         all 0.4s ease-in-out 0s;
      }

/***
Sidebar Tags
***/
.sidebar-tags li {
  padding: 0; }
  .sidebar-tags li a {
    display:   inline-block;
    margin:    0 2px 5px 0;
    padding: 3px 5px;
    background: #f7f7f7;
    color:     #555;
    font-size: 12px;
  }
    .sidebar-tags li a:hover, .sidebar-tags li a:hover i {
      background: #EEE;
      text-decoration: none;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    .sidebar-tags li a i {
      color: #777; }

/***
Custom vertical inline menu
***/
.ver-inline-menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  .ver-inline-menu li {
    position: relative;
    margin-bottom: 1px; }
    .ver-inline-menu li i {
      display:    inline-block;
      margin:     0 8px 0 0;
      padding:    12px 10px 10px 8px;
      width: 37px;
      height: 37px;
      background: #e0eaf0 !important;
      color: #b9cbd5;
      text-align: center;
      font-size:  15px;
    }
    .ver-inline-menu li a {
      display: block;
      border-left: solid 2px #c4d5df;
      background: #f0f6fa;
      color:       #557386;
      font-weight: 300;
      font-size:   14px;
    }
    .ver-inline-menu li:hover a {
      background: #e0eaf0;
      text-decoration: none; }
    .ver-inline-menu li:hover i {
      background: #c4d5df !important;
      color:      #fff;
    }
    .ver-inline-menu li.active a {
      border-left: solid 2px #0c91e5; }
    .ver-inline-menu li.active i {
      background: #0c91e5 !important; }
    .ver-inline-menu li.active a, .ver-inline-menu li.active i {
      background: #169ef4;
      color: #fff;
      text-decoration: none; }
    .ver-inline-menu li.active a, .ver-inline-menu li:hover a {
      font-size: 14px; }
    .ver-inline-menu li.active:after {
      position:      absolute;
      top:           12px;
      right:         -5px;
      display: inline-block;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid #169ef4;
      content:       '';
    }

@media (max-width: 767px) {
  .ver-inline-menu > li.active:after {
    display: none; } }

/***
Separated List
***/
.list-separated {
  margin-top: 10px;
  margin-bottom: 15px; }
  .list-separated > div:last-child {
    border-right: 0; }
  @media (max-width: 767px) {
    .list-separated {
      /* 767px */ }
      .list-separated > div {
        margin-bottom: 20px; } }

/***
Number & Chart Stats
***/
.number-stats {
  margin: 10px 0; }
  .number-stats .stat-number {
    display: inline-block;
    margin: 0 5px; }
    .number-stats .stat-number .title {
      margin-bottom: 3px;
      color:     #b8c3c7;
      font-size: 13px;
    }
    .number-stats .stat-number .number {
      color:       #7d8c9d;
      font-size: 27px;
      line-height: 27px;
    }
  .number-stats .stat-chart {
    display: inline-block;
    margin: 0 5px; }
  .number-stats > div {
    border-right: 1px solid #f5f5f5; }
    .number-stats > div:last-child {
      border-right: 0; }
  .number-stats .stat-left {
    float: right; }
    .number-stats .stat-left .stat-number {
      float: right;
      text-align: right; }
    .number-stats .stat-left .stat-chart {
      float: right; }
  .number-stats .stat-right {
    float: left !important; }
    .number-stats .stat-right .stat-number {
      float: left;
      text-align: left; }
    .number-stats .stat-right .stat-chart {
      float: left; }
  .number-stats .stat-number {
    float: left;
    text-align: left; }
  .number-stats .stat-chart {
    float: left; }

/***
General User Record Listing
***/
.general-item-list > .item {
  padding: 10px 0;
  border-bottom: 1px solid #F1F4F7; }
  .general-item-list > .item:last-child {
    border-bottom: 0; }
  .general-item-list > .item > .item-head {
    margin-bottom: 5px; }
    .general-item-list > .item > .item-head:before, .general-item-list > .item > .item-head:after {
      display: table;
      content: " ";
    }
    .general-item-list > .item > .item-head:after {
      clear: both; }
    .general-item-list > .item > .item-head > .item-details {
      display: inline-block;
      float: left; }
      .general-item-list > .item > .item-head > .item-details > .item-pic {
        margin-right: 10px;
        height:           35px;
        -webkit-border-radius: 100% ;
        -moz-border-radius: 100% ;
        border-radius:    100%;
        -ms-border-radius: 100% ;
        -o-border-radius: 100%;
      }
      .general-item-list > .item > .item-head > .item-details > .item-name {
        display: inline-block;
        margin-right: 10px; }
      .general-item-list > .item > .item-head > .item-details > .item-label {
        color: #C0C9CC; }
    .general-item-list > .item > .item-head > .item-status {
      position: relative;
      top:   10px;
      display: inline-block;
      float: right;
      color: #c0c9cc;
    }
      .general-item-list > .item > .item-head > .item-status > .badge {
        margin-top: -2px; }
  .general-item-list > .item > .item-body {
    color: #96a5aa; }

/***
File dropzone
***/
.file-drop-zone {
  padding: 30px;
  border: 2px dashed #ddd;
  text-align: center; }
  .file-drop-zone.file-drop-zone-over {
    border-color: #aaa; }

/***
Fontawesome Icons
***/
[class^="fa-"], [class^="glyphicon-"], [class^="icon-"], [class*=" fa-"], [class*=" glyphicon-"], [class*=" icon-"] {
  display: inline-block;
  margin-top: 1px;
  *margin-right: .3em;
  font-size: 14px;
  line-height: 14px;
  -webkit-font-smoothing: antialiased; }

/* Make font awesome icons fixed width */
li [class^="fa-"], li [class^="glyphicon-"], li [class^="icon-"], li [class*=" fa-"], li [class*=" glyphicon-"], li [class*=" icon-"] {
  display: inline-block;
  width: 1.25em;
  text-align: center; }

li [class^="glyphicon-"], li [class*=" glyphicon-"] {
  top: 2px; }

li [class^="icon-"], li [class*=" icon-"] {
  position: relative;
  top:      1px;
}

li [class^="fa-"].icon-large, li [class^="glyphicon-"].icon-large, li [class^="icon-"].icon-large, li [class*=" fa-"].icon-large, li [class*=" glyphicon-"].icon-large, li [class*=" icon-"].icon-large {
  /* increased font size for icon-large */
  width: 1.5625em; }

/* Icon sizing */
.fa-sm, .icon-sm {
  font-size: 12px; }

.fa-lg, .icon-lg {
  font-size: 16px !important; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

/* Icon coloring */
.icon-state-default {
  color: #c6c6c6; }

.icon-state-success {
  color: #45B6AF; }

.icon-state-info {
  color: #89C4F4; }

.icon-state-warning {
  color: #dfba49; }

.icon-state-danger {
  color: #F3565D; }

/***
Font Awesome 4.x Demo
***/
.fa-item {
  padding:   10px 10px 10px 20px;
  font-size: 14px;
}
  .fa-item i {
    display: inline-block;
    width: 20px;
    color:     #333;
    font-size: 16px;
  }
  .fa-item:hover {
    background: #eee;
    cursor:     pointer;
  }

/***
Simple Line Icons Demo
***/
.simplelineicons-demo .item-box {
  display: inline-block;
  margin: 0 -0.22em 1em 0;
  padding-left: 1em;
  width:     100%;
  font-size: 16px;
}
  .simplelineicons-demo .item-box .item {
    display: inline-block;
    padding: 10px;
    width:            100%;
    border-radius:    8px;
    background-color: #fff;
    color:            #33383e;
  }
    .simplelineicons-demo .item-box .item span {
      font-size: 22px; }

@media only screen and (min-width: 768px) {
  .simplelineicons-demo .item-box {
    width: 33.333%; } }

/*** 
Glyphicons Demo
***/
.glyphicons-demo ul {
  overflow:       hidden;
  margin-bottom: 20px;
  padding-bottom: 1px;
  padding-left:   0;
  list-style:     none;
}

.bs-glyphicon-class {
  text-align: center; }

.bs-glyphicons {
  overflow:       hidden;
  margin-bottom: 20px;
  padding-bottom: 1px;
  padding-left:   0;
  list-style:     none;
}

.glyphicons-demo ul li {
  float: left;
  margin:      0 -1px -1px 0;
  padding:     10px;
  width: 25%;
  height: 115px;
  border:      1px solid #ddd;
  text-align: center;
  font-size:   14px;
  line-height: 1.4;
}

.glyphicons-demo .glyphicon {
  display: block;
  margin: 5px auto 10px;
  color:     #444;
  font-size: 24px;
}

.glyphicons-demo ul li:hover {
  background-color: rgba(86, 61, 124, 0.1); }

@media (min-width: 768px) {
  .glyphicons-demo ul li {
    width: 12.5%; } }

/***
Customized Bootstrap Alerts
***/
.alert {
  border-width: 1px; }
  .alert.alert-borderless {
    border: 0; }

/***
Bootstrap Alerts
***/
.alert-success {
  border-color: #d6e9c6;
  background-color: #dff0d8;
  color: #3c763d; }
  .alert-success hr {
    border-top-color: #c9e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  border-color: #bce8f1;
  background-color: #d9edf7;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6e1ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  border-color: #faebcc;
  background-color: #fcf8e3;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7e1b5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  border-color: #ebccd1;
  background-color: #f2dede;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9c0; }
  .alert-danger .alert-link {
    color: #843534; }

/***
Custom Bootstrap Badges
***/
.badge {
  padding: 3px 6px 3px 6px;
  height:         18px;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
  border-radius: 12px !important;
  vertical-align: middle;
  text-align: center;
  text-align:     center;
  text-shadow:    none !important;
  font-weight:    300;
  font-size:      11px !important;
}
  .badge.badge-roundless {
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important; }
  .badge.badge-empty {
    display: inline-block;
    padding: 0;
    min-width: 8px;
    width:  8px;
    height: 8px;
  }

/* Badge variants */
.badge-default {
  background-color: #c6c6c6;
  background-image: none; }

.badge-primary {
  background-color: #428bca;
  background-image: none; }

.badge-info {
  background-color: #89C4F4;
  background-image: none; }

.badge-success {
  background-color: #45B6AF;
  background-image: none; }

.badge-danger {
  background-color: #F3565D;
  background-image: none; }

.badge-warning {
  background-color: #dfba49;
  background-image: none; }

/* Fix badge position for navs */
.nav.nav-pills > li > a > .badge, .nav.nav-stacked > li > a > .badge {
  margin-top: -2px; }

/***
Dropdown Menu Badges
***/
.dropdown-menu > li > a > .badge {
  position: absolute;
  right: 3px;
  display: inline;
  margin-top:     1px;
  padding: 3px 6px 3px 6px;
  height:         18px;
  -webkit-border-radius: 12px !important;
  -moz-border-radius: 12px !important;
  border-radius:  12px !important;
  vertical-align: middle;
  text-align:     center;
  text-shadow:    none;
  font-weight:    300;
  font-size:      11px;
}
.dropdown-menu.badge-roundless {
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important; }

/***
Customized Bootstrap Buttons
***/
/* Default buttons */
.btn {
  padding: 7px 14px;
  outline: none !important;
  border-width: 0;
  background-image: none !important;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  text-shadow:  none;
  font-size:    14px;
  filter:       none;
}
  .btn.dropdown-toggle, .btn-group .btn.dropdown-toggle, .btn:hover, .btn:disabled, .btn[disabled], .btn:focus, .btn:active, .btn.active {
    outline: none !important;
    background-image: none !important;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow:  none;
    text-shadow: none;
    filter:      none;
  }

.btn + .btn {
  margin-left: 5px; }

.btn-default {
  padding:      6px 13px;
  border-width: 1px;
}

.btn-block {
  display: block;
  padding-right: 0;
  padding-left: 0;
  width:         100%;
}

/* Bootstrap buttons */
.btn-default {
  border-color: #ccc;
  background-color: #fff;
  color:        #333;
}
  .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active {
    border-color: #b3b3b3;
    background-color: #ededed;
    color:        #333;
  }
  .open .btn-default.dropdown-toggle {
    border-color: #b3b3b3;
    background-color: #ededed;
    color:        #333;
  }
  .btn-default:active, .btn-default.active {
    background-color: #e0e0e0;
    background-image: none;
  }
    .btn-default:active:hover, .btn-default.active:hover {
      background-color: #e6e6e6; }
  .open .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active {
    border-color:     #ccc;
    background-color: #fff;
  }
  .btn-default .badge {
    background-color: #333;
    color:            #fff;
  }
  .btn-default > i {
    color: #aaa; }
  .btn-default > i[class^="icon-"], .btn-default > i[class*="icon-"] {
    color: #8c8c8c; }

.btn-primary {
  border-color: #357ebd;
  background-color: #428bca;
  color:        #fff;
}
  .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    border-color: #2a6496;
    background-color: #3379b5;
    color:        #fff;
  }
  .open .btn-primary.dropdown-toggle {
    border-color: #2a6496;
    background-color: #3379b5;
    color:        #fff;
  }
  .btn-primary:active, .btn-primary.active {
    background-color: #2d6ca2;
    background-image: none;
  }
    .btn-primary:active:hover, .btn-primary.active:hover {
      background-color: #3071a9; }
  .open .btn-primary.dropdown-toggle {
    background-image: none; }
  .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active {
    border-color:     #357ebd;
    background-color: #428bca;
  }
  .btn-primary .badge {
    background-color: #fff;
    color:            #428bca;
  }

.btn-success {
  border-color: #3ea49d;
  background-color: #45B6AF;
  color:        #fff;
}
  .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active {
    border-color: #307f7a;
    background-color: #3b9c96;
    color:        #fff;
  }
  .open .btn-success.dropdown-toggle {
    border-color: #307f7a;
    background-color: #3b9c96;
    color:        #fff;
  }
  .btn-success:active, .btn-success.active {
    background-color: #348a84;
    background-image: none;
  }
    .btn-success:active:hover, .btn-success.active:hover {
      background-color: #37918b; }
  .open .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active {
    border-color:     #3ea49d;
    background-color: #45b6af;
  }
  .btn-success .badge {
    background-color: #fff;
    color:            #45b6af;
  }

.btn-info {
  border-color: #72b8f2;
  background-color: #89C4F4;
  color:        #fff;
}
  .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active {
    border-color: #43a1ed;
    background-color: #68b4f1;
    color:        #fff;
  }
  .open .btn-info.dropdown-toggle {
    border-color: #43a1ed;
    background-color: #68b4f1;
    color:        #fff;
  }
  .btn-info:active, .btn-info.active {
    background-color: #51a8ef;
    background-image: none;
  }
    .btn-info:active:hover, .btn-info.active:hover {
      background-color: #5aadf0; }
  .open .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active {
    border-color:     #72b8f2;
    background-color: #89c4f4;
  }
  .btn-info .badge {
    background-color: #fff;
    color:            #89c4f4;
  }

.btn-warning {
  border-color: #dbb233;
  background-color: #dfba49;
  color:        #fff;
}
  .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active {
    border-color: #bb9521;
    background-color: #daae2b;
    color:        #fff;
  }
  .open .btn-warning.dropdown-toggle {
    border-color: #bb9521;
    background-color: #daae2b;
    color:        #fff;
  }
  .btn-warning:active, .btn-warning.active {
    background-color: #c89f23;
    background-image: none;
  }
    .btn-warning:active:hover, .btn-warning.active:hover {
      background-color: #d0a625; }
  .open .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active {
    border-color:     #dbb233;
    background-color: #dfba49;
  }
  .btn-warning .badge {
    background-color: #fff;
    color:            #dfba49;
  }

.btn-danger {
  border-color: #f13e46;
  background-color: #F3565D;
  color:        #fff;
}
  .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active {
    border-color: #ec111b;
    background-color: #f1353d;
    color:        #fff;
  }
  .open .btn-danger.dropdown-toggle {
    border-color: #ec111b;
    background-color: #f1353d;
    color:        #fff;
  }
  .btn-danger:active, .btn-danger.active {
    background-color: #ef1d26;
    background-image: none;
  }
    .btn-danger:active:hover, .btn-danger.active:hover {
      background-color: #f0262f; }
  .open .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active {
    border-color:     #f13e46;
    background-color: #f3565d;
  }
  .btn-danger .badge {
    background-color: #fff;
    color:            #f3565d;
  }

/* Button sizes */
.btn > i {
  font-size: 14px;  font-family: "Wingdings 2", Wingdings-2; }

.btn-lg {
  padding: 10px 16px;
  vertical-align: middle;
  font-size: 18px;
  line-height:    1.33;
}
  .btn-lg > i {
    font-size: 18px; }

.btn-sm, .btn-xs {
  padding: 4px 10px 5px 10px;
  font-size: 13px;
  line-height: 1.5; }
  .btn-sm > i, .btn-xs > i {
    font-size: 13px; }

.btn-xs {
  padding: 1px 5px; }
  .btn-xs > i {
    font-size: 12px; }

/* Small button in button group */
.btn-group .input-sm .btn-default {
  padding-top: 3px;
  padding-bottom: 3px; }

/* Arrow link */
.btn-arrow-link {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px; }
  .btn-arrow-link > i {
    margin: 2px 3px 2px 3px;
    color:          #999;
    vertical-align: top;
    font-size:      14px;
    line-height:    14px;
  }
  .btn-arrow-link.btn-arrow-link-lg {
    font-size: 14px; }
    .btn-arrow-link.btn-arrow-link-lg > i {
      margin:      2px 3px 1px 3px;
      font-size: 16px;
      line-height: 16px;
    }

/* Circle Buttons */
.btn-circle {
  border-radius: 25px !important; }

.btn-circle-right {
  border-radius: 0 25px 25px 0 !important; }

.btn-circle-left {
  border-radius: 25px 0 0 25px !important; }

.btn-circle-bottom {
  border-radius: 0 0 25px 25px !important; }

.btn-circle-top {
  border-radius: 25px 25px 0 0 !important; }

.btn-icon-only {
  padding-right: 0;
  padding-left: 0;
  width:         34px;
  height:        34px;
  text-align:    center;
}
  .btn-icon-only > [class^="icon-"], .btn-icon-only > i {
    margin-top: 2px;
    text-align: center;
  }

.btn-sm > [class^="glyphicon-"], .btn-sm > [class*=" glyphicon-"], .btn-sm > i {
  font-size: 13px; }

.btn-xs > [class^="glyphicon-"], .btn-xs > [class*=" glyphicon-"], .btn-xs > i {
  font-size: 11px; }

.btn-group.btn-group-circle > .btn:first-child {
  border-radius: 25px 0 0 25px !important; }
.btn-group.btn-group-circle > .btn:last-child {
  border-radius: 0 25px 25px 0 !important; }

.btn-group.btn-group-devided > .btn {
  margin-right: 5px; }
  .btn-group.btn-group-devided > .btn:last-child {
    margin-right: 0; }

.btn-group-vertical.btn-group-vertical-circle > .btn:first-child {
  border-radius: 25px 25px 0 0 !important; }
.btn-group-vertical.btn-group-vertical-circle > .btn:last-child {
  border-radius: 0 0 25px 25px !important; }

/***
Image Carousel
***/
.carousel.image-carousel .carousel-inner {
  padding-top: 0;
  padding-bottom: 0; }
.carousel.image-carousel .carousel-control i {
  position: absolute;
  top: 40%; }
.carousel.image-carousel.image-carousel-hoverable .carousel-control i {
  display: none; }
.carousel.image-carousel.image-carousel-hoverable:hover .carousel-control i {
  display: inline-block; }
.carousel.image-carousel .carousel-control.left i {
  left: 10px; }
.carousel.image-carousel .carousel-control.right i {
  right: 10px; }
.carousel.image-carousel .carousel-indicators {
  bottom:     -7px;
  margin-top: 10px;
}
  .carousel.image-carousel .carousel-indicators li {
    background-color: #666; }
    .carousel.image-carousel .carousel-indicators li.active {
      background-color: #666; }
.carousel.image-carousel .carousel-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 15px 15px 25px 15px;
  background: #333333;
  background: rgba(0, 0, 0, 0.75); }
  .carousel.image-carousel .carousel-caption h4, .carousel.image-carousel .carousel-caption h3, .carousel.image-carousel .carousel-caption h2, .carousel.image-carousel .carousel-caption p {
    color:       #ffffff;
    text-align: left;
    line-height: 20px;
  }
  .carousel.image-carousel .carousel-caption h4, .carousel.image-carousel .carousel-caption h3, .carousel.image-carousel .carousel-caption h2 {
    margin: 0 0 5px; }
    .carousel.image-carousel .carousel-caption h4 a, .carousel.image-carousel .carousel-caption h3 a, .carousel.image-carousel .carousel-caption h2 a {
      color: #aaa; }
  .carousel.image-carousel .carousel-caption p {
    margin-bottom: 0; }
  .carousel.image-carousel .carousel-caption .item {
    margin: 0; }

/***
Charts and statistics
***/
.chart, .pie, .bars {
  overflow: hidden;
  width: 100%;
  height:      300px;
  font-size:   14px;
  font-family: "Open Sans", sans-serif !important;
}

/***
Statistic lists
***/
.item-list.table .percent {
  float: right;
  margin-top: 3px;
  margin-right: 10px;
  width:      30px;
}

/***
Chart tooltips
***/
.chart-tooltip {
  z-index: 100;
  clear:            both;
  padding: 5px !important;
  background-color: #736e6e !important;
  color: #fff; }
  .chart-tooltip .label {
    display: block;
    clear: both;
    margin-bottom: 2px; }

/***
Mini chart containers
***/
.bar-chart, .line-chart {
  display: none; }

/***
Chats
***/
.chats {
  margin: 0;
  margin-top: -15px;
  padding:    0;
}
  .chats li {
    margin: 10px auto;
    padding:    5px 0;
    list-style: none;
    font-size: 12px; }
    .chats li .body {
      display: block; }
    .chats li .avatar {
      width: 45px;
      height: 45px;
      -webkit-border-radius: 50% !important;
      -moz-border-radius: 50% !important;
      border-radius: 50% !important; }
    .chats li.in .avatar {
      float: left;
      margin-right: 10px; }
    .chats li.out .avatar {
      float: right;
      margin-left: 10px; }
    .chats li .name {
      color: #3590c1;
      font-weight: 400;
      font-size:   13px;
    }
    .chats li .datetime {
      color: #333;
      font-weight: 400;
      font-size:   13px;
    }
    .chats li .message {
      position: relative;
      display: block;
      padding:  5px;
    }
    .chats li.in .message {
      margin-left: 65px;
      border-left: 2px solid #1bbc9b;
      background:  #fafafa;
      text-align:  left;
    }
      .chats li.in .message .arrow {
        position: absolute;
        top: 5px;
        left: -8px;
        display:       block;
        width: 0;
        height: 0;
        border-top: 8px solid transparent;
        border-right:  8px solid #1bbc9b;
        border-bottom: 8px solid transparent;
      }
    .chats li.out .message {
      margin-right: 65px;
      border-right: 2px solid #f3565d;
      background: #fafafa;
      text-align: right; }
      .chats li.out .message .arrow {
        position: absolute;
        top: 5px;
        right: -8px;
        display: block;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 8px solid #F3565D; }
    .chats li.out .name, .chats li.out .datetime {
      text-align: right; }

.chat-form {
  clear:            both;
  overflow:         hidden;
  margin-top: 15px;
  padding: 10px;
  background-color: #e9eff3;
}
  .chat-form .input-cont {
    margin-right: 40px; }
    .chat-form .input-cont .form-control {
      margin-top: 0;
      width:  100% !important;
      border: 1px solid #ddd;
      background-color: #fff !important; }
      .chat-form .input-cont .form-control:focus {
        border: 1px solid #4b8df9 !important; }
  .chat-form .btn-cont {
    position: relative;
    float: right;
    margin-top: -42px;
    width: 44px; }
    .chat-form .btn-cont .arrow {
      position: absolute;
      top: 17px;
      right: 43px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing:    border-box;
      border-top:    8px solid transparent;
      border-right:  8px solid #4d90fe;
      border-bottom: 8px solid transparent;
    }
    .chat-form .btn-cont .btn {
      margin-top: 8px; }
    .chat-form .btn-cont:hover .arrow {
      border-right-color: #0362fd; }
    .chat-form .btn-cont:hover .btn {
      background-color: #0362fd; }

/***
Customized Bootstrap Close Icon 
***/
.close {
  display: inline-block;
  margin-top: 0px;
  margin-right: 0px;
  width: 9px;
  height: 9px;
  outline: none;
  background-image:  url("../images/remove-icon-small.png") !important;
  background-repeat: no-repeat !important;
  text-indent:       -10000px;
}

/***
Customized Bootstrap Dropdowns
***/
/***
Dropdowns
***/
.dropup.open > .dropdown-toggle, .dropdown.open > .dropdown-toggle {
  border-color: #ddd; }

/***
Dropdown Menu
***/
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  margin:                10px 0px 0px 0px;
  padding: 0px;
  min-width:             175px;
  border:                1px solid #eee;
  -webkit-border-radius: 4px;
  -moz-border-radius:    4px;
  border-radius:         4px;
  background-color: #ffffff;
  box-shadow: 5px 5px rgba(102, 102, 102, 0.1);
  list-style:            none;
  text-shadow:           none;
  font-family:           "Helvetica Neue", Helvetica, Arial, sans-serif;
  -ms-border-radius: 4px ;
  -o-border-radius:      4px;
}
  .dropdown-menu li.divider {
    background: #f1f3f6; }
  .dropdown-menu li.dropdown-header {
    padding: 8px 14px 2px 14px; }
  .dropdown-menu li > a {
    display:     block;
    clear:       both;
    padding: 8px 14px;
    color: #555;
    text-decoration: none;
    white-space: nowrap;
    font-weight: 300;
    line-height: 18px;
  }
    .dropdown-menu li > a > [class^="fa-"], .dropdown-menu li > a > [class*=" fa-"] {
      color: #888; }
    .dropdown-menu li > a > [class^="icon-"], .dropdown-menu li > a > [class*=" icon-"] {
      color: #666; }
    .dropdown-menu li > a > [class^="glyphicon-"], .dropdown-menu li > a > [class*=" glyphicon-"] {
      color: #888; }
  .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
    background-color: #f6f6f6;
    background-image: none;
    color: #555;
    text-decoration:  none;
    filter: none; }
  .dropdown-menu.bottom-up {
    top: auto;
    bottom: 100%;
    margin-bottom: 2px; }
  .dropdown-menu > li:first-child:hover > a {
    border-radius: 4px 4px 0px 0px; }
  .dropdown-menu > li:last-child:hover > a {
    border-radius: 0px 0px 4px 4px; }

.dropdown > .dropdown-menu, .dropdown-toggle > .dropdown-menu, .btn-group > .dropdown-menu {
  margin-top: 10px; }
  .dropdown > .dropdown-menu:before, .dropdown-toggle > .dropdown-menu:before, .btn-group > .dropdown-menu:before {
    position: absolute;
    top: -8px;
    right: auto;
    left: 9px;
    display: inline-block !important;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #e0e0e0;
    border-left: 8px solid transparent;
    content: ''; }
  .dropdown > .dropdown-menu:after, .dropdown-toggle > .dropdown-menu:after, .btn-group > .dropdown-menu:after {
    position: absolute;
    top: -7px;
    right: auto;
    left: 10px;
    display: inline-block !important;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #fff;
    border-left: 7px solid transparent;
    content: ''; }
  .dropdown > .dropdown-menu.pull-left:before, .dropdown-toggle > .dropdown-menu.pull-left:before, .btn-group > .dropdown-menu.pull-left:before {
    right: 9px;
    left:  auto;
  }
  .dropdown > .dropdown-menu.pull-left:after, .dropdown-toggle > .dropdown-menu.pull-left:after, .btn-group > .dropdown-menu.pull-left:after {
    right: 10px;
    left:  auto;
  }
  .dropdown > .dropdown-menu.pull-right:before, .dropdown-toggle > .dropdown-menu.pull-right:before, .btn-group > .dropdown-menu.pull-right:before {
    right: 9px;
    left:  auto;
  }
  .dropdown > .dropdown-menu.pull-right:after, .dropdown-toggle > .dropdown-menu.pull-right:after, .btn-group > .dropdown-menu.pull-right:after {
    right: 10px;
    left:  auto;
  }
.dropdown.dropup > .dropdown-menu, .dropdown-toggle.dropup > .dropdown-menu, .btn-group.dropup > .dropdown-menu {
  margin-top: 0px;
  margin-bottom: 10px; }
  .dropdown.dropup > .dropdown-menu:after, .dropdown.dropup > .dropdown-menu:before, .dropdown-toggle.dropup > .dropdown-menu:after, .dropdown-toggle.dropup > .dropdown-menu:before, .btn-group.dropup > .dropdown-menu:after, .btn-group.dropup > .dropdown-menu:before {
    display: none !important; }

/* Dropdown submenu support for Bootsrap 3 */
.dropdown-submenu {
  position: relative; }
  .dropdown-submenu > .dropdown-menu {
    top: 5px;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px; }
  .dropdown-submenu > a:after {
    position: absolute;
    top: 7px;
    right:       7px;
    display:     inline-block;
    height: auto;
    content: "\f105";
    font-weight: 300;
    font-size:   14px;
    font-family: FontAwesome;
  }
  .dropdown-submenu:hover > .dropdown-menu {
    display: block; }
  .dropdown-submenu:hover > a:after {
    border-left-color: #ffffff; }
  .dropdown-submenu.pull-left {
    float: none; }
    .dropdown-submenu.pull-left > .dropdown-menu {
      left: -100%;
      margin-left: 10px; }
  .dropup .dropdown-submenu > .dropdown-menu {
    top: auto;
    bottom: 0;
    margin-top: 0;
    margin-bottom: -2px; }

.nav.pull-right > li > .dropdown-menu, .nav > li > .dropdown-menu.pull-right {
  right: 0;
  left: auto; }
  .nav.pull-right > li > .dropdown-menu:before, .nav > li > .dropdown-menu.pull-right:before {
    right: 12px;
    left: auto; }
  .nav.pull-right > li > .dropdown-menu:after, .nav > li > .dropdown-menu.pull-right:after {
    right: 13px;
    left: auto; }
  .nav.pull-right > li > .dropdown-menu .dropdown-menu, .nav > li > .dropdown-menu.pull-right .dropdown-menu {
    right: 100%;
    left: auto;
    margin-right: -1px;
    margin-left: 0; }

@media (max-width: 767px) {
  /* 767px */
  .navbar-nav .open .dropdown-menu {
    position: absolute;
    float: left;
    margin-top: 0;
    width:            auto;
    border: 1px solid #efefef;
    background-color: #ffffff;
    box-shadow: 5px 5px rgba(102, 102, 102, 0.1); }
    .navbar-nav .open .dropdown-menu > li > a {
      padding: 6px 0 6px 13px;
      color: #333; }
    .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:active {
      background-color: #eee; } }

/***
Dropdown Checkboxes
***/
.dropdown-content {
  padding: 5px; }
  .dropdown-content form {
    margin: 0; }

.dropdown.inline .dropdown-menu {
  position: relative;
  display:  inline-block;
}

.dropdown-radiobuttons, .dropdown-checkboxes {
  padding: 5px; }
  .dropdown-radiobuttons label, .dropdown-checkboxes label {
    display: block;
    margin-top:  4px;
    margin-bottom: 4px;
    color:       #333;
    font-weight: 300;
  }
    .dropdown-radiobuttons label .radio, .dropdown-checkboxes label .radio {
      margin-right: 3px; }

/***
System feeds
***/
.feeds {
  margin: 0px;
  padding: 0px;
  list-style: none; }
  .feeds li {
    margin-bottom: 7px;
    background-color: #fafafa;
    color:         #82949a;
  }
    .feeds li:before, .feeds li:after {
      display: table;
      content:     "";
      line-height: 0;
    }
    .feeds li:after {
      clear: both; }
    .feeds li:last-child {
      margin-bottom: 0px; }
    .feeds li .col1 {
      float: left;
      clear: both;
      width: 100%;
    }
      .feeds li .col1 > .cont {
        float: left;
        overflow:     hidden;
        margin-right: 75px;
      }
        .feeds li .col1 > .cont > .cont-col1 {
          float: left;
          margin-right: -100%; }
          .feeds li .col1 > .cont > .cont-col1 > .label {
            display: inline-block;
            padding: 5px 4px 6px 5px;
            vertical-align: middle;
            text-align: center; }
            .feeds li .col1 > .cont > .cont-col1 > .label > i {
              text-align: center;
              font-size: 14px; }
        .feeds li .col1 > .cont > .cont-col2 {
          float: left;
          width: 100%; }
          .feeds li .col1 > .cont > .cont-col2 > .desc {
            overflow:       hidden;
            margin-left: 35px;
            padding-top: 4px;
            padding-bottom: 5px;
          }
    .feeds li .col2 {
      float: left;
      margin-left: -75px;
      width:       75px;
    }
      .feeds li .col2 > .date {
        padding: 4px 9px 5px 4px;
        color:      #c1cbd0;
        text-align: right;
        font-style: italic;
      }

/***
Form Layouts
****/
/* Static info */
.static-info {
  margin-bottom: 10px; }
  .static-info .name {
    font-size: 14px; }
  .static-info .value {
    font-weight: 600;
    font-size:   14px;
  }
  .static-info.align-reverse .name, .static-info.align-reverse .value {
    text-align: right; }

/* Help blocks */
.help-block {
  margin-top: 5px;
  margin-bottom: 5px; }

.help-inline {
  display: inline-block;
  padding:   5px;
  color:     #737373;
  font-size: 13px;
}

.form-inline input {
  margin-bottom: 0px !important; }

/* Control Label */
.control-label {
  margin-top: 1px; }
  .control-label .required {
    padding-left: 2px;
    color: #e02222;
    font-size:    12px;
  }

.form {
  padding: 0 !important; }
  .form .form-body {
    padding: 10px; }
    .portlet.light .form .form-body {
      padding-right: 0;
      padding-left:  0;
    }
  .form .form-actions {
    margin: 0;
    padding:          20px 10px;
    border-top: 1px solid #e5e5e5;
    background-color: #f5f5f5;
    *zoom: 1; }
    .portlet.light .form .form-actions {
      padding-right: 0;
      padding-left: 0;
      background:    none;
    }
    .form .form-actions.noborder {
      border-top: 0; }
    .portlet .form .form-actions {
      -webkit-border-radius: 0 0 4px 4px ;
      -moz-border-radius: 0 0 4px 4px ;
      border-radius:    0 0 4px 4px;
      -ms-border-radius: 0 0 4px 4px ;
      -o-border-radius: 0 0 4px 4px;
    }
    .form .form-actions:before, .form .form-actions:after {
      display: table;
      content: " ";
    }
    .form .form-actions:after {
      clear: both; }
    .form .form-actions.right {
      padding-right: 10px;
      padding-left: 0;
      text-align: right; }
      .portlet.light .form .form-actions.right {
        padding-right: 0; }
    .form .form-actions.left {
      padding-right: 0;
      padding-left: 10px;
      text-align: left; }
      .portlet.light .form .form-actions.left {
        padding-left: 0; }
    .form .form-actions.nobg {
      background-color: transparent; }
    .form .form-actions.top {
      margin-top: 0;
      margin-bottom: 20px;
      border-top: 0;
      border-bottom: 1px solid #e5e5e5; }
      .portlet.light .form .form-actions.top {
        background: none; }
    .form .form-actions .btn-set {
      display: inline-block; }
    @media (max-width: 767px) {
      .form .form-actions {
        /* 767px */ }
        .form .form-actions .btn-set {
          float:         left !important;
          margin-top: 3px;
          margin-bottom: 3px;
        }
    }
  .form .form-section {
    margin: 30px 0px 25px 0px;
    padding-bottom: 5px;
    border-bottom: 1px solid #eee; }
    .form .form-section:first-child {
      margin-top: 5px; }

/* Checkboxes */
.checkbox, .form-horizontal .checkbox {
  padding: 0; }
  .checkbox > label, .form-horizontal .checkbox > label {
    padding-left: 0; }

.checkbox-list > label {
  display: block; }
  .checkbox-list > label.checkbox-inline {
    display: inline-block; }
    .checkbox-list > label.checkbox-inline:first-child {
      padding-left: 0; }

/* Radio buttons */
.radio-list > label {
  display: block; }
  .radio-list > label.radio-inline {
    display: inline-block; }
    .radio-list > label.radio-inline:first-child {
      padding-left: 0; }

/* Radio buttons in horizontal forms */
.form-horizontal .radio-list .radio {
  padding-top: 1px; }
.form-horizontal .radio-list > label {
  margin-bottom: 0; }
.form-horizontal .radio > span {
  margin-top: 2px; }

/* Rows seperated form layout */
.form .form-row-seperated .portlet-body {
  padding: 0; }
.form .form-row-seperated .form-group {
  margin: 0;
  padding:       15px 0;
  border-bottom: 1px solid #efefef;
}
  .form .form-row-seperated .form-group.last {
    margin-bottom: 0;
    padding-bottom: 13px;
    border-bottom:  0;
  }
  .form .form-row-seperated .form-group .help-block {
    margin-bottom: 0; }
.form .form-row-seperated .form-body {
  padding: 0; }
.form .form-row-seperated .form-actions {
  padding-right: 15px !important;
  padding-left:  15px !important;
}

/* Form bordered */
.form .form-bordered .form-group {
  margin: 0;
  border-bottom: 1px solid #efefef; }
  .form .form-bordered .form-group > div {
    padding: 15px;
    border-left: 1px solid #efefef; }
    @media (max-width: 991px) {
      .form .form-bordered .form-group > div {
        /* 991px */
        border-left: 0; } }
  .form .form-bordered .form-group.last {
    border-bottom: 0; }
  .form .form-bordered .form-group .control-label {
    padding-top: 20px; }
    @media (max-width: 991px) {
      .form .form-bordered .form-group .control-label {
        /* 991px */
        padding-top: 10px; } }
  .form .form-bordered .form-group .help-block {
    margin-bottom: 0; }
  .form .form-bordered .form-group .form-control {
    margin: 0; }
.form .form-bordered .form-body {
  margin: 0;
  padding: 0; }
.form .form-bordered .form-actions {
  margin-top: 0;
  padding-right: 16px !important;
  padding-left:  16px !important;
}
  @media (max-width: 991px) {
    .form .form-bordered .form-actions {
      /* 991px */
      padding-right: 15px !important;
      padding-left:  15px !important;
    }
  }

/* Horizontal bordered form */
.form .form-horizontal.form-bordered.form-row-stripped .form-group:nth-child(even) {
  background-color: #fcfcfc; }
.form .form-horizontal.form-bordered.form-row-stripped .form-control {
  background: #fff !important; }
.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even) {
  background-color: #fcfcfc; }
  .form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even) > div {
    background-color: #ffffff; }
.form .form-horizontal.form-bordered.form-label-stripped .form-group:nth-child(even) {
  background-color: #fcfcfc; }

/***
Forms
***/
/* Input placeholder font color */
.form-control::-moz-placeholder {
  color: #b3b3b3;
  opacity: 1; }
.form-control:-ms-input-placeholder {
  color: #b3b3b3; }
.form-control::-webkit-input-placeholder {
  color: #b3b3b3; }

/* Form inputs */
.form-control {
  border: 1px solid #e5e5e5;
  -webkit-border-radius: 4px;
  -moz-border-radius:    4px;
  border-radius:         4px;
  background-color:      #fff;
  box-shadow: none;
  color:                 #333;
  font-weight:           normal;
  font-size:             14px;
  transition:            border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -ms-border-radius: 4px ;
  -o-border-radius:      4px;
}
  .form-control:focus {
    outline: 0;
    border-color: #999;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: #eeeeee;
    cursor:           not-allowed;
  }
  .form-control.height-auto {
    height: auto; }
  .form-control.form-control-solid {
    border-color: #F1F3F8;
    background-color: #f1f3f8;
    color: #A6B2BA; }
    .form-control.form-control-solid:focus {
      border-color: #e3e7f1; }
    .form-control.form-control-solid::-moz-placeholder {
      color: #acb7be;
      opacity: 1; }
    .form-control.form-control-solid:-ms-input-placeholder {
      color: #acb7be; }
    .form-control.form-control-solid::-webkit-input-placeholder {
      color: #acb7be; }

/* Form uneditable input */
.uneditable-input {
  padding: 6px 12px;
  min-width: 206px;
  height: 34px;
  border: 1px solid #e5e5e5;
  background-color: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
  color:            #333;
  font-weight:      normal;
  font-size:        14px;
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }

/* Form input sizing */
.input-mini {
  width: 45px !important; }

.input-xsmall {
  width: 80px !important; }

.input-small {
  width: 145px !important; }

.input-medium {
  width: 240px !important; }

.input-large {
  width: 320px !important; }

.input-xlarge {
  width: 420px !important; }

.input-inline {
  display: inline-block;
  width: auto;
  vertical-align: middle; }

.form-group .input-inline {
  margin-right: 5px; }

.input-sm {
  padding: 5px 10px;
  height: 28px;
  font-size: 13px; }

select.input-sm {
  padding:     2px 10px;
  height: 28px;
  line-height: 28px;
}

@media (max-width: 768px) {
  /* 768px */
  .input-large {
    width: 250px !important; }
  .input-xlarge {
    width: 300px !important; } }

/* Input  groups */
.input-group .btn-default {
  border-color: #e5e5e5; }
.input-group .input-group-addon {
  min-width:  39px;
  border-color: #e5e5e5;
  background: #e5e5e5;
}
  .input-group .input-group-addon > i {
    color: #999; }

/* Input spinner */
input[type="text"].spinner, input[type="password"].spinner, input[type="datetime"].spinner, input[type="datetime-local"].spinner, input[type="date"].spinner, input[type="month"].spinner, input[type="time"].spinner, input[type="week"].spinner, input[type="number"].spinner, input[type="email"].spinner, input[type="url"].spinner, input[type="search"].spinner, input[type="tel"].spinner, input[type="color"].spinner {
  background-image:    url("../images/input-spinner.gif") !important;
  background-position: right 8px;
  background-repeat:   no-repeat;
}

/* Form labels */
label {
  font-weight: 400;
  font-size: 14px; }

/* Static form control */
.form-control-static {
  display: inline-block;
  margin:  2px 0;
}

/* Feedback states */
.has-success .help-block, .has-success .help-inline, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline {
  color: #3c763d; }
.has-success .form-control {
  border-color: #d6e9c6;
  -webkit-box-shadow: none;
  box-shadow: none; }
  .has-success .form-control:focus {
    border-color: #bbdba1;
    -webkit-box-shadow: none;
    box-shadow: none; }
.has-success .input-group-addon {
  border-color: #d6e9c6;
  background-color: #dff0d8;
  color:            #3c763d;
}
  .has-success .input-group-addon > i {
    color: #3c763d; }
.has-success .form-control-feedback {
  color: #3c763d; }

.has-warning .help-block, .has-warning .help-inline, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline {
  color: #8a6d3b; }
.has-warning .form-control {
  border-color: #faebcc;
  -webkit-box-shadow: none;
  box-shadow: none; }
  .has-warning .form-control:focus {
    border-color: #f5d89e;
    -webkit-box-shadow: none;
    box-shadow: none; }
.has-warning .input-group-addon {
  border-color: #faebcc;
  background-color: #fcf8e3;
  color:            #8a6d3b;
}
  .has-warning .input-group-addon > i {
    color: #8a6d3b; }
.has-warning .form-control-feedback {
  color: #8a6d3b; }

.has-error .help-block, .has-error .help-inline, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline {
  color: #a94442; }
.has-error .form-control {
  border-color: #ebccd1;
  -webkit-box-shadow: none;
  box-shadow: none; }
  .has-error .form-control:focus {
    border-color: #dca7b0;
    -webkit-box-shadow: none;
    box-shadow: none; }
.has-error .input-group-addon {
  border-color: #ebccd1;
  background-color: #f2dede;
  color:            #a94442;
}
  .has-error .input-group-addon > i {
    color: #a94442; }
.has-error .form-control-feedback {
  color: #a94442; }

/* Circle Inputs */
.input-circle {
  border-radius: 25px !important; }

.input-circle-right {
  border-radius: 0 25px 25px 0 !important; }

.input-circle-left {
  border-radius: 25px 0 0 25px !important; }

.input-circle-bottom {
  border-radius: 0 0 25px 25px !important; }

.input-circle-top {
  border-radius: 25px 25px 0 0 !important; }

/***
Custom icon buttons
***/
.icon-btn {
  position:    relative;
  display:     inline-block;
  margin: 5px 5px 0 0;
  padding: 12px 0px 0px 0px;
  min-width:   80px;
  height:      60px;
  border:      1px solid #ddd;
  background-color: #fafafa;
  background-image: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  color: #646464;
  text-align: center;
  text-shadow: none;
  filter:      none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .icon-btn:hover {
    border-color: #999;
    -webkit-box-shadow: none;
    -moz-box-shadow:    none;
    box-shadow:         none;
    color: #444;
    text-decoration:    none;
    text-shadow: 0 1px 0px white;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition:         all 0.3s ease;
  }
    .icon-btn:hover > .badge {
      -webkit-box-shadow: none;
      -moz-box-shadow:    none;
      box-shadow:         none;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -ms-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition:         all 0.3s ease;
    }
  .icon-btn > div {
    margin-top: 5px;
    margin-bottom: 20px;
    color: #000;
    font-weight: 300;
    font-size:   12px;
  }
  .icon-btn > .badge {
    position: absolute;
    top: -5px;
    right: -5px;
    padding: 3px 6px 3px 6px;
    border-width: 0;
    border-style: solid;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow:  none;
    color:       white;
    text-shadow: none;
    font-weight: 300;
    font-size:   11px;
  }
  .icon-btn > i {
    font-size: 18px; }
  .ie8 .icon-btn:hover {
    filter: none; }

/***
Input icons
***/
.input-icon {
  position: relative; }
  .input-icon > .form-control {
    padding-left: 33px; }
    .input-group .input-icon > .form-control {
      -webkit-border-radius: 4px 0 0 4px ;
      -moz-border-radius: 4px 0 0 4px ;
      border-radius:    4px 0 0 4px;
      -ms-border-radius: 4px 0 0 4px ;
      -o-border-radius: 4px 0 0 4px;
    }
  .input-icon > i {
    position: absolute;
    z-index: 3;
    display:    block;
    margin:     11px 2px 4px 10px;
    width: 16px;
    color:      #ccc;
    text-align: center;
    font-size:  16px;
  }
    .modal .input-icon > i {
      z-index: 10055; }
    .has-success .input-icon > i {
      color: #45B6AF; }
    .has-warning .input-icon > i {
      color: #dfba49; }
    .has-info .input-icon > i {
      color: #89C4F4; }
    .has-error .input-icon > i {
      color: #F3565D; }
  .input-icon.right > .form-control {
    padding-right: 33px;
    padding-left: 12px; }
    .input-group .input-icon.right > .form-control {
      -webkit-border-radius: 0 4px 4px 0 ;
      -moz-border-radius: 0 4px 4px 0 ;
      border-radius:    0 4px 4px 0;
      -ms-border-radius: 0 4px 4px 0 ;
      -o-border-radius: 0 4px 4px 0;
    }
  .input-icon.right > i {
    right: 8px;
    float: right; }
  .input-icon.input-icon-lg > i {
    margin-top: 16px; }
  .input-icon.input-icon-sm > i {
    margin-top: 8px;
    font-size: 13px; }

/***
Customized Bootstrap Labels
***/
.label {
  padding: 3px 6px 3px 6px;
  color: #fff;
  text-shadow: none !important;
  font-weight: 300;
  font-size:   13px;
  font-family: "Open Sans", sans-serif; }
  .label.label-sm {
    padding:   0px 4px 1px 4px;
    font-size: 12px;
  }
  h1 .label, h2 .label, h3 .label, h4 .label, h5 .label, h6 .label {
    font-size: 75%; }

/* Labels variants */
.label-default {
  background-color: #c6c6c6; }
  .label-default[href]:hover, .label-default[href]:focus {
    background-color: #adadad; }

.label-primary {
  background-color: #428bca; }
  .label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #3071a9; }

.label-success {
  background-color: #45B6AF; }
  .label-success[href]:hover, .label-success[href]:focus {
    background-color: #37918b; }

.label-info {
  background-color: #89C4F4; }
  .label-info[href]:hover, .label-info[href]:focus {
    background-color: #5aadf0; }

.label-warning {
  background-color: #dfba49; }
  .label-warning[href]:hover, .label-warning[href]:focus {
    background-color: #d0a625; }

.label-danger {
  background-color: #F3565D; }
  .label-danger[href]:hover, .label-danger[href]:focus {
    background-color: #f0262f; }

/***
Iconic labels
***/
.label.label-icon {
  margin-right: 2px;
  padding: 4px 0px 4px 4px;
  text-align: center !important; }
  .label.label-icon > i {
    text-align: center !important;
    font-size:  12px;
  }
  .ie8 .label.label-icon, .ie9 .label.label-icon {
    padding: 3px 0px 3px 3px; }

/***
Text states
***/
.text-default {
  color: #c6c6c6; }

.text-primary {
  color: #428bca; }

.text-success {
  color: #45B6AF; }

.text-info {
  color: #89C4F4; }

.text-warning {
  color: #dfba49; }

.text-danger {
  color: #F3565D; }

/***
Customized List Group
***/
/* Contextual variants */
.list-group > li:first-child {
  border-radius-topleft: 4px;
  border-radius-topright: 4px; }
.list-group > li:last-child {
  border-radius-bottomleft: 4px;
  border-radius-bottomright: 4px; }

.list-group .list-group-item-success {
  background-color: #dff0d8;
  color:            #3c763d;
}
.list-group a.list-group-item-success {
  color: #3c763d; }
  .list-group a.list-group-item-success .list-group-item-heading {
    color: inherit; }
  .list-group a.list-group-item-success:hover, .list-group a.list-group-item-success:focus {
    background-color: #d0e9c6;
    color:            #3c763d;
  }
  .list-group a.list-group-item-success.active, .list-group a.list-group-item-success.active:hover, .list-group a.list-group-item-success.active:focus {
    border-color: #3c763d;
    background-color: #3c763d;
    color:        #fff;
  }

.list-group .list-group-item-info {
  background-color: #d9edf7;
  color:            #31708f;
}
.list-group a.list-group-item-info {
  color: #31708f; }
  .list-group a.list-group-item-info .list-group-item-heading {
    color: inherit; }
  .list-group a.list-group-item-info:hover, .list-group a.list-group-item-info:focus {
    background-color: #c4e3f3;
    color:            #31708f;
  }
  .list-group a.list-group-item-info.active, .list-group a.list-group-item-info.active:hover, .list-group a.list-group-item-info.active:focus {
    border-color: #31708f;
    background-color: #31708f;
    color:        #fff;
  }

.list-group .list-group-item-warning {
  background-color: #fcf8e3;
  color:            #8a6d3b;
}
.list-group a.list-group-item-warning {
  color: #8a6d3b; }
  .list-group a.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  .list-group a.list-group-item-warning:hover, .list-group a.list-group-item-warning:focus {
    background-color: #faf2cc;
    color:            #8a6d3b;
  }
  .list-group a.list-group-item-warning.active, .list-group a.list-group-item-warning.active:hover, .list-group a.list-group-item-warning.active:focus {
    border-color: #8a6d3b;
    background-color: #8a6d3b;
    color:        #fff;
  }

.list-group .list-group-item-danger {
  background-color: #f2dede;
  color:            #a94442;
}
.list-group a.list-group-item-danger {
  color: #a94442; }
  .list-group a.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  .list-group a.list-group-item-danger:hover, .list-group a.list-group-item-danger:focus {
    background-color: #ebcccc;
    color:            #a94442;
  }
  .list-group a.list-group-item-danger.active, .list-group a.list-group-item-danger.active:hover, .list-group a.list-group-item-danger.active:focus {
    border-color: #a94442;
    background-color: #a94442;
    color:        #fff;
  }

/***
UI Loading
***/
.loading-message {
  display: inline-block;
  margin:         0 auto;
  margin-left: -60px;
  padding: 10px;
  min-width:      125px;
  color: #000 !important;
  vertical-align: middle;
  text-align: center;
  font-weight:    400;
  font-size:      13px;
}
  .loading-message.loading-message-boxed {
    border: 1px solid #ddd;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px ;
    border-radius: 4px ;
    background-color:      #eee;
    -webkit-box-shadow:    0 1px 8px rgba(0, 0, 0, 0.1);
    -moz-box-shadow:       0 1px 8px rgba(0, 0, 0, 0.1);
    box-shadow:            0 1px 8px rgba(0, 0, 0, 0.1);
    -ms-border-radius:     4px;
    -o-border-radius:      4px;
  }
  .loading-message > span {
    vertical-align: middle;
    line-height:    20px;
  }

.page-loading {
  position:              fixed;
  top:                   50%;
  left:                  50%;
  margin-top:            -30px;
  margin-left:           -60px;
  padding: 7px;
  min-width:             125px;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  -moz-border-radius:    4px;
  border-radius:         4px;
  background-color: #eee;
  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
  box-shadow:            0 1px 8px rgba(0, 0, 0, 0.1);
  color:                 #333;
  vertical-align:        middle;
  text-align:            center;
  font-size:             13px;
  -ms-border-radius:     4px;
  -o-border-radius:      4px;
}
  .page-loading > span {
    vertical-align: middle;
    line-height:    20px;
  }

.page-spinner-bar {
  position: fixed;
  top: 40%;
  left: 50%;
  z-index: 10051;
  margin-left: -55px;
  width:   100px;
  text-align: center; }
  .page-spinner-bar > div {
    display:    inline-block;
    margin: 0 5px;
    width: 18px;
    height: 18px;
    border-radius: 100% !important;
    background: #eee;
    -webkit-animation: bounceDelay 1.4s infinite ease-in-out;
    animation: bounceDelay 1.4s infinite ease-in-out;
    /* Prevent first frame from flickering when animation starts */
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both; }
  .page-spinner-bar .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s; }
  .page-spinner-bar .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s; }

.block-spinner-bar {
  display: inline-block;
  width: 80px;
  text-align: center; }
  .block-spinner-bar > div {
    display:    inline-block;
    margin: 0 2px;
    width: 15px;
    height: 15px;
    border-radius: 100% !important;
    background: #eee;
    -webkit-animation: bounceDelay 1.4s infinite ease-in-out;
    animation: bounceDelay 1.4s infinite ease-in-out;
    /* Prevent first frame from flickering when animation starts */
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both; }
  .block-spinner-bar .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s; }
  .block-spinner-bar .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s; }

/***
Metro icons
***/
[class^="m-icon-"] {
  display: inline-block;
  margin-top:        3px;
  width: 14px;
  height: 14px;
  background-image:  url(../images/syncfusion-icons.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  vertical-align:    top;
  line-height:       14px;
}

[class^="m-icon-big-"] {
  display: inline-block;
  margin:            6px;
  width: 30px;
  height: 30px;
  background-image:  url(../images/syncfusion-icons.png);
  background-position: 0 0px;
  background-repeat: no-repeat;
  vertical-align:    middle;
}

/* large icons */
.btn.m-icon-big {
  padding: 9px 16px 8px 16px; }

.btn.m-icon-big.m-icon-only {
  padding: 9px 8px 8px 0px; }

.btn.m-icon-big [class^="m-icon-big-"] {
  margin: 0 0 0 10px; }

.btn.m-icon-ony > i {
  margin-left: 0px; }

/* default icons */
.btn.m-icon {
  padding: 7px 14px 7px 14px; }

.btn.m-icon [class^="m-icon-"] {
  margin: 4px 0 0 5px; }

.btn.m-icon.m-icon-only {
  padding: 7px 10px 7px 6px; }

/* white icon */
.m-icon-white {
  background-image: url(../images/syncfusion-icons-white.png);
}

/*  Misc */
.m-icon-swapright {
  background-position: -27px -10px; }

.m-icon-swapdown {
  background-position: -68px -10px; }

.m-icon-swapleft {
  background-position: -8px -10px; }

.m-icon-swapup {
  background-position: -46px -10px; }

.m-icon-big-swapright {
  background-position: -42px -28px; }

.m-icon-big-swapdown {
  background-position: -115px -28px; }

.m-icon-big-swapleft {
  background-position: -6px -28px; }

.m-icon-big-swapup {
  background-position: -78px -28px; }

/***
Customized Bootstrap Modal 
***/
.modal {
  z-index: 10050;
  overflow-y: auto !important;
  outline: none;
  /* Fix content shifting to the right on modal open due to scrollbar closed */ }
  .page-portlet-fullscreen .modal {
    z-index: 10060; }
  .modal .modal-header {
    border-bottom: 1px solid #EFEFEF; }
    .modal .modal-header h3 {
      font-weight: 300; }
    .modal .modal-header .close {
      margin-top: 0px !important; }
  .modal.draggable-modal .modal-header {
    cursor: move; }
  .modal .modal-dialog {
    z-index: 10051; }
  .modal > .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -22px;
    margin-left: -22px; }
  .modal.in .page-loading {
    display: none; }

.modal-open {
  overflow-y: auto !important; }

.modal-open-noscroll {
  overflow-y: hidden !important; }

.modal-backdrop {
  z-index: 10049;
  outline: none;
  border:  0;
}
  .page-portlet-fullscreen .modal-backdrop {
    z-index: 10059; }
  .modal-backdrop, .modal-backdrop.fade.in {
    background-color: #333 !important; }

/* Full width modal */
.modal-full.modal-dialog {
  width: 99%; }

@media (max-width: 768px) {
  .modal-full.modal-dialog {
    width: auto; } }

/***
Notes
***/
.note {
  margin: 0 0 20px 0;
  padding: 15px 30px 15px 15px;
  border-left: 5px solid #eee;
  -webkit-border-radius: 0 4px 4px 0 ;
  -moz-border-radius: 0 4px 4px 0 ;
  border-radius:    0 4px 4px 0;
  -ms-border-radius: 0 4px 4px 0 ;
  -o-border-radius: 0 4px 4px 0;
}
  .note h1, .note h2, .note h3, .note h4, .note h5, .note h6 {
    margin-top: 0; }
    .note h1 .close, .note h2 .close, .note h3 .close, .note h4 .close, .note h5 .close, .note h6 .close {
      margin-right: -10px; }
  .note p {
    font-size: 13px; }
    .note p:last-child {
      margin-bottom: 0; }
  .note code, .note .highlight {
    background-color: #fff; }
  .note.note-default {
    border-color: #adadad;
    background-color: lightgray;
    color: #333333; }
    .note.note-default.note-bordered {
      border-color:     #a0a0a0;
      background-color: #c3c3c3;
    }
    .note.note-default.note-shadow {
      border-color: #a0a0a0;
      background-color: #c6c6c6;
      box-shadow: 5px 5px rgba(162, 162, 162, 0.2); }
  .note.note-primary {
    border-color: #3085a9;
    background-color: #5697d0;
    color: #D8E3F2; }
    .note.note-primary.note-bordered {
      border-color:     #2a7696;
      background-color: #3e89c9;
    }
    .note.note-primary.note-shadow {
      border-color: #2a7696;
      background-color: #428bca;
      box-shadow: 5px 5px rgba(43, 121, 154, 0.2); }
  .note.note-success {
    border-color: #c9e2b3;
    background-color: #eef7ea;
    color: #3c763d; }
    .note.note-success.note-bordered {
      border-color:     #bbdba1;
      background-color: #dcefd4;
    }
    .note.note-success.note-shadow {
      border-color: #bbdba1;
      background-color: #dff0d8;
      box-shadow: 5px 5px rgba(190, 220, 164, 0.2); }
  .note.note-info {
    border-color: #a6e1ec;
    background-color: #eef7fb;
    color: #31708f; }
    .note.note-info.note-bordered {
      border-color:     #91d9e8;
      background-color: #d5ebf6;
    }
    .note.note-info.note-shadow {
      border-color: #91d9e8;
      background-color: #d9edf7;
      box-shadow: 5px 5px rgba(150, 219, 233, 0.2); }
  .note.note-warning {
    border-color: #f5d89e;
    background-color: #fcf8e3;
    color: #8a6d3b; }
    .note.note-warning.note-bordered {
      border-color:     #f2cf87;
      background-color: #f9f1c7;
    }
    .note.note-warning.note-shadow {
      border-color: #f2cf87;
      background-color: #faf2cc;
      box-shadow: 5px 5px rgba(243, 209, 139, 0.2); }
  .note.note-danger {
    border-color: #e4b9c0;
    background-color: #f9f0f0;
    color: #a94442; }
    .note.note-danger.note-bordered {
      border-color:     #dca7b0;
      background-color: #f1dada;
    }
    .note.note-danger.note-shadow {
      border-color: #dca7b0;
      background-color: #f2dede;
      box-shadow: 5px 5px rgba(222, 171, 179, 0.2); }

/***
Customized Bootstrap Pagination
***/
.pagination {
  margin: 10px 0; }
  .pagination.pagination-circle > li:first-child > a {
    border-radius: 25px 0 0 25px !important; }
  .pagination.pagination-circle > li:last-child > a {
    border-radius: 0 25px 25px 0 !important; }
  .pagination .active > a, .pagination .active > a:hover {
    border-color: #dddddd;
    background: #eee;
    color: #333; }

/***
Customized Bootstrap Panels
***/
.panel {
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important; }
  .panel-group .panel {
    overflow: visible; }
  .panel .panel-body {
    font-size: 13px; }
  .panel .panel-title > a:hover {
    text-decoration: none; }
  .accordion .panel .panel-heading {
    padding: 0; }
  .accordion .panel .panel-title {
    padding: 0; }
    .accordion .panel .panel-title .accordion-toggle {
      display: block;
      padding: 10px 15px; }
    .accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled {
      margin-right:        15px;
      background:          url("../images/accordion-plusminus.png") no-repeat;
      background-position: right -19px;
    }
    .accordion .panel .panel-title .accordion-toggle.accordion-toggle-styled.collapsed {
      background-position: right 12px; }

.panel-default {
  border-color: #e0e0e0; }
  .panel-default > .panel-heading {
    border-color: #e0e0e0;
    background-color: #f9f9f9;
    color:        #333333;
  }
    .panel-default > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #e0e0e0; }
  .panel-default > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #e0e0e0; }

.panel-primary {
  border-color: #3595bd; }
  .panel-primary > .panel-heading {
    border-color: #3595bd;
    background-color: #428bca;
    color:        #d8e3f2;
  }
    .panel-primary > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #3595bd; }
  .panel-primary > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #3595bd; }

.panel-success {
  border-color: #d6e9c6; }
  .panel-success > .panel-heading {
    border-color: #d6e9c6;
    background-color: #dff0d8;
    color:        #3c763d;
  }
    .panel-success > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #d6e9c6; }
  .panel-success > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #d6e9c6; }

.panel-info {
  border-color: #bce8f1; }
  .panel-info > .panel-heading {
    border-color: #bce8f1;
    background-color: #d9edf7;
    color:        #31708f;
  }
    .panel-info > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #bce8f1; }
  .panel-info > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #bce8f1; }

.panel-warning {
  border-color: #faebcc; }
  .panel-warning > .panel-heading {
    border-color: #faebcc;
    background-color: #fcf8e3;
    color:        #8a6d3b;
  }
    .panel-warning > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #faebcc; }
  .panel-warning > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #faebcc; }

.panel-danger {
  border-color: #ebccd1; }
  .panel-danger > .panel-heading {
    border-color: #ebccd1;
    background-color: #f2dede;
    color:        #a94442;
  }
    .panel-danger > .panel-heading + .panel-collapse .panel-body {
      border-top-color: #ebccd1; }
  .panel-danger > .panel-footer + .panel-collapse .panel-body {
    border-bottom-color: #ebccd1; }

/***
Accordions
***/
.accordion-heading {
  background: #eee; }
  .accordion-heading a {
    text-decoration: none; }
  .accordion-heading a:hover {
    text-decoration: none; }

/***
Customized Bootstrap Popover
***/
.popover {
  padding:    0;
  box-shadow: 5px 5px rgba(102, 102, 102, 0.1);
}
  .popover .popover-title {
    margin: 0 !important; }

.popover.name .popover-title, name .popover .popover-content, .popover.name .popover-content {
  color: #89C4F4; }

.popover.name .popover-title, name .popover .popover-content, .popover.name .popover-content {
  color: #428bca; }

.popover.name .popover-title, name .popover .popover-content, .popover.name .popover-content {
  color: #45B6AF; }

.popover.name .popover-title, name .popover .popover-content, .popover.name .popover-content {
  color: #dfba49; }

.popover.name .popover-title, name .popover .popover-content, .popover.name .popover-content {
  color: #F3565D; }

/***
Portlets
***/
/* Full Screen portlet mode */
.page-portlet-fullscreen {
  overflow: hidden; }

/* Basic portlet */
.portlet {
  margin-top: 0px;
  margin-bottom: 25px;
  padding: 0px;
  -webkit-border-radius: 4px ;
  -moz-border-radius: 4px ;
  border-radius:    4px;
  -ms-border-radius: 4px ;
  -o-border-radius: 4px;
}
  .portlet.portlet-fullscreen {
    position: fixed;
    top: 0;
    right: 0;
    bottom:  0;
    left:    0;
    z-index: 10060;
    margin:  0;
    width: 100%;
    height: 100%;
    background: #fff; }
    .portlet.portlet-fullscreen > .portlet-body {
      overflow-x: hidden;
      overflow-y: auto;
      padding: 0 10px; }
    .portlet.portlet-fullscreen > .portlet-title {
      padding: 0 10px; }
  .portlet > .portlet-title {
    margin-bottom: 10px;
    padding:          0;
    min-height: 41px;
    border-bottom:    1px solid #eee;
    -webkit-border-radius: 4px 4px 0 0 ;
    -moz-border-radius: 4px 4px 0 0 ;
    border-radius:    4px 4px 0 0;
    -ms-border-radius: 4px 4px 0 0 ;
    -o-border-radius: 4px 4px 0 0;
  }
    .portlet > .portlet-title:before, .portlet > .portlet-title:after {
      display: table;
      content: " ";
    }
    .portlet > .portlet-title:after {
      clear: both; }
    .portlet > .portlet-title > .caption {
      display: inline-block;
      float:       left;
      padding:     10px 0;
      font-size: 18px;
      line-height: 18px;
    }
      .portlet > .portlet-title > .caption.bold {
        font-weight: 400; }
      .portlet > .portlet-title > .caption > i {
        display:   inline-block;
        float: left;
        margin-top: 4px;
        margin-right: 5px;
        color:     #666;
        font-size: 13px;
      }
        .portlet > .portlet-title > .caption > i.glyphicon {
          margin-top: 2px; }
      .portlet > .portlet-title > .caption > .caption-helper {
        margin: 0;
        padding:     0;
        color: #9eacb4;
        font-weight: 400;
        font-size: 13px;
        line-height: 13px;
      }
    .portlet > .portlet-title > .actions {
      display: inline-block;
      float: right;
      padding: 6px 0; }
      .portlet > .portlet-title > .actions > .dropdown-menu i {
        color: #555555; }
      .portlet > .portlet-title > .actions > .btn, .portlet > .portlet-title > .actions > .btn.btn-sm, .portlet > .portlet-title > .actions > .btn-group > .btn, .portlet > .portlet-title > .actions > .btn-group > .btn.btn-sm {
        padding: 4px 10px;
        font-size: 13px;
        line-height: 1.5; }
        .portlet > .portlet-title > .actions > .btn.btn-default, .portlet > .portlet-title > .actions > .btn.btn-sm.btn-default, .portlet > .portlet-title > .actions > .btn-group > .btn.btn-default, .portlet > .portlet-title > .actions > .btn-group > .btn.btn-sm.btn-default {
          padding: 3px 9px; }
        .portlet > .portlet-title > .actions > .btn > i, .portlet > .portlet-title > .actions > .btn.btn-sm > i, .portlet > .portlet-title > .actions > .btn-group > .btn > i, .portlet > .portlet-title > .actions > .btn-group > .btn.btn-sm > i {
          font-size: 13px; }
      .portlet > .portlet-title > .actions .btn-icon-only {
        padding: 5px 7px 3px 7px; }
        .portlet > .portlet-title > .actions .btn-icon-only.btn-default {
          padding: 4px 6px 2px 6px; }
          .portlet > .portlet-title > .actions .btn-icon-only.btn-default > i {
            font-size: 14px; }
          .portlet > .portlet-title > .actions .btn-icon-only.btn-default.fullscreen {
            padding-top: 3px;
            color: #a0a0a0;
            font-family: FontAwesome;
          }
            .portlet > .portlet-title > .actions .btn-icon-only.btn-default.fullscreen.btn-sm {
              padding: 3px 3px !important;
              width:  27px;
              height: 27px;
            }
            .portlet > .portlet-title > .actions .btn-icon-only.btn-default.fullscreen:before {
              content: "\f065"; }
            .portlet > .portlet-title > .actions .btn-icon-only.btn-default.fullscreen.on:before {
              content: "\f066"; }
    .portlet > .portlet-title > .tools {
      display: inline-block;
      float: right;
      padding: 12px 0 8px 0; }
      .portlet > .portlet-title > .tools > a {
        display: inline-block;
        margin-left: 5px;
        height: 16px;
        opacity: 1 ;
        filter: alpha(opacity=#{$value * 100}) ; }
      .portlet > .portlet-title > .tools > a.remove {
        width:             11px;
        background-image:  url(../images/portlet-remove-icon.png);
        background-repeat: no-repeat;
      }
      .portlet > .portlet-title > .tools > a.config {
        width:             12px;
        background-image:  url(../images/portlet-config-icon.png);
        background-repeat: no-repeat;
      }
      .portlet > .portlet-title > .tools > a.reload {
        width:            13px;
        background-image: url(../images/portlet-reload-icon.png);
      }
      .portlet > .portlet-title > .tools > a.expand {
        visibility:       visible;
        width: 14px;
        background-image: url(../images/portlet-expand-icon.png);
      }
      .portlet > .portlet-title > .tools > a.collapse {
        visibility:       visible;
        width: 14px;
        background-image: url(../images/portlet-collapse-icon.png);
      }
      .portlet > .portlet-title > .tools > a.fullscreen {
        position: relative;
        top:         -3px;
        display:     inline-block;
        color:       #acacac;
        font-size: 13px;
        font-family: FontAwesome;
      }
        .portlet > .portlet-title > .tools > a.fullscreen:before {
          content: "\f065"; }
        .portlet > .portlet-title > .tools > a.fullscreen.on:before {
          content: "\f066"; }
      .portlet > .portlet-title > .tools > a:hover {
        text-decoration: none;
        opacity:       0.8;
        filter:        alpha(opacity=#{$value * 100});
        -webkit-transition: all 0.1s ease-in-out;
        -moz-transition: all 0.1s ease-in-out;
        -ms-transition: all 0.1s ease-in-out;
        -o-transition: all 0.1s ease-in-out;
        transition:    all 0.1s ease-in-out;
      }
    .portlet > .portlet-title > .pagination {
      display: inline-block;
      float:   right;
      margin: 2px 0 0 0;
      padding: 4px 0;
      border:  0;
    }
    .portlet > .portlet-title > .nav-tabs {
      display: inline-block;
      float:      right;
      margin:     0;
      border:     0;
      background: none;
    }
      .portlet > .portlet-title > .nav-tabs > li {
        margin: 0;
        border:     0;
        background: none;
      }
        .portlet > .portlet-title > .nav-tabs > li > a {
          margin: 5px 0 0 1px;
          padding: 8px 10px;
          border:     0;
          background: none;
          color: #fff; }
        .portlet > .portlet-title > .nav-tabs > li.active > a, .portlet > .portlet-title > .nav-tabs > li:hover > a {
          border: 0;
          background: #fff;
          color:  #333;
        }
  .portlet > .portlet-body {
    clear: both;
    -webkit-border-radius: 0 0 4px 4px ;
    -moz-border-radius: 0 0 4px 4px ;
    border-radius:    0 0 4px 4px;
    -ms-border-radius: 0 0 4px 4px ;
    -o-border-radius: 0 0 4px 4px;
  }
  .portlet > .portlet-empty {
    min-height: 125px; }
  .portlet.full-height-content {
    margin-bottom: 0; }

/* Portlet background colors */
/* Side bordered portlet */
.portlet.bordered {
  border-left: 2px solid #e6e9ec !important; }
  .portlet.bordered > .portlet-title {
    border-bottom: 0; }

/* Solid colored portlet */
.portlet.solid {
  padding: 0 10px 10px 10px;
  border: 0px; }
  .portlet.solid > .portlet-title {
    margin-bottom: 10px;
    border-bottom: 0;
  }
    .portlet.solid > .portlet-title > .caption {
      padding: 16px 0 2px 0; }
    .portlet.solid > .portlet-title > .actions {
      padding: 12px 0 6px 0; }
    .portlet.solid > .portlet-title > .tools {
      padding: 14px 0 6px 0; }

/* Solid bordered portlet */
.portlet.solid.bordered > .portlet-title {
  margin-bottom: 10px; }

/* Box portlet */
.portlet.box {
  padding: 0px !important; }
  .portlet.box > .portlet-title {
    margin-bottom: 0;
    padding:       0 10px;
    border-bottom: 0;
    color: #fff; }
    .portlet.box > .portlet-title > .caption {
      padding: 11px 0 9px 0; }
    .portlet.box > .portlet-title > .tools > a.remove {
      background-image: url(../images/portlet-remove-icon-white.png);
    }
    .portlet.box > .portlet-title > .tools > a.config {
      background-image: url(../images/portlet-config-icon-white.png);
    }
    .portlet.box > .portlet-title > .tools > a.reload {
      background-image: url(../images/portlet-reload-icon-white.png);
    }
    .portlet.box > .portlet-title > .tools > a.expand {
      background-image: url(../images/portlet-expand-icon-white.png);
    }
    .portlet.box > .portlet-title > .tools > a.collapse {
      background-image: url(../images/portlet-collapse-icon-white.png);
    }
    .portlet.box > .portlet-title > .tools > a.fullscreen {
      color: #fdfdfd; }
    .portlet.box > .portlet-title > .actions {
      padding: 7px 0 5px 0; }
  .portlet.box > .portlet-body {
    padding:          10px;
    background-color: #fff;
  }
  .portlet.box.portlet-fullscreen > .portlet-body {
    padding: 10px; }

/* Light Portlet */
.portlet.light {
  padding: 12px 20px 15px 20px;
  background-color: #fff; }
  .portlet.light.bordered {
    border: 1px solid #e1e1e1 !important; }
    .portlet.light.bordered > .portlet-title {
      border-bottom: 1px solid #eee; }
  .portlet.light.bg-inverse {
    background: #F7F7F7; }
  .portlet.light > .portlet-title {
    padding: 0;
    min-height: 48px; }
    .portlet.light > .portlet-title > .caption {
      padding: 10px 0;
      color:   #666;
    }
      .portlet.light > .portlet-title > .caption > .caption-subject {
        font-size: 16px; }
      .portlet.light > .portlet-title > .caption > i {
        margin-top: 3px;
        color: #777;
        font-weight: 300;
        font-size:  15px;
      }
      .portlet.light > .portlet-title > .caption.caption-md > .caption-subject {
        font-size: 15px; }
      .portlet.light > .portlet-title > .caption.caption-md > i {
        font-size: 14px; }
    .portlet.light > .portlet-title > .actions {
      padding: 6px 0 14px 0; }
      .portlet.light > .portlet-title > .actions .btn-default {
        color: #666; }
      .portlet.light > .portlet-title > .actions .btn-icon-only {
        width:  27px;
        height: 27px;
      }
      .portlet.light > .portlet-title > .actions .dropdown-menu li > a {
        color: #555; }
    .portlet.light > .portlet-title > .inputs {
      display: inline-block;
      float: right;
      padding: 4px 0; }
      .portlet.light > .portlet-title > .inputs > .portlet-input .input-icon > i {
        margin-top: 9px;
        font-size:  14px;
      }
      .portlet.light > .portlet-title > .inputs > .portlet-input .input-icon > .form-control {
        padding: 2px 26px 3px 10px;
        height: 30px;
        font-size: 13px; }
      .portlet.light > .portlet-title > .inputs > .portlet-input > .form-control {
        padding: 3px 10px;
        height: 30px;
        font-size: 13px; }
    .portlet.light > .portlet-title > .pagination {
      padding: 2px 0 13px 0; }
    .portlet.light > .portlet-title > .tools {
      margin-top: 2px;
      padding:    10px 0 13px 0;
    }
    .portlet.light > .portlet-title > .nav-tabs > li {
      margin: 0;
      padding: 0; }
      .portlet.light > .portlet-title > .nav-tabs > li > a {
        margin: 0;
        padding: 12px 13px 13px 13px;
        color:     #666;
        font-size: 13px;
      }
      .portlet.light > .portlet-title > .nav-tabs > li.active > a, .portlet.light > .portlet-title > .nav-tabs > li:hover > a {
        margin: 0;
        background: none;
        color: #333; }
  .portlet.light.form-fit {
    padding: 0; }
    .portlet.light.form-fit > .portlet-title {
      margin-bottom: 0;
      padding:       17px 20px 10px 20px;
    }
  .portlet.light .portlet-body {
    padding-top: 8px; }
  .portlet.light.portlet-fullscreen > .portlet-body {
    padding: 8px 0; }

.tab-pane > p:last-child {
  margin-bottom: 0px; }

/* Reverse aligned tabs */
.tabs-reversed > li {
  float: right;
  margin-right: 0; }
  .tabs-reversed > li > a {
    margin-right: 0; }

/* jQuery UI Draggable Portlets */
.portlet-sortable:not(.portlet-fullscreen) > .portlet-title {
  cursor: move; }

.portlet-sortable-placeholder {
  margin-bottom: 25px;
  border:        2px dashed #eee;
}

.portlet-sortable-empty {
  height:     45px;
  box-shadow: none !important;
}

/***
Customized Progress Bars
***/
.progress {
  border: 0;
  background-image: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  box-shadow: none;
  filter:     none;
}
  .progress.progress-sm {
    height: 12px; }

.progress > .progress-bar-default {
  background-color: #c6c6c6; }
  .progress-striped .progress > .progress-bar-default {
    background-image: none;
    background-image: none; }

.progress > .progress-bar-success {
  background-color: #45B6AF; }
  .progress-striped .progress > .progress-bar-success {
    background-image: none;
    background-image: none; }

.progress > .progress-bar-info {
  background-color: #89C4F4; }
  .progress-striped .progress > .progress-bar-info {
    background-image: none;
    background-image: none; }

.progress > .progress-bar-danger {
  background-color: #F3565D; }
  .progress-striped .progress > .progress-bar-danger {
    background-image: none;
    background-image: none; }

.progress > .progress-bar-warning {
  background-color: #dfba49; }
  .progress-striped .progress > .progress-bar-warning {
    background-image: none;
    background-image: none; }

/***
Dashboard Stats
***/
.dashboard-stat {
  display: block;
  overflow: hidden;
  margin-bottom:    25px;
  -webkit-border-radius: 4px ;
  -moz-border-radius: 4px ;
  border-radius:    4px;
  -ms-border-radius: 4px ;
  -o-border-radius: 4px;
}
  .dashboard-stat:before, .dashboard-stat:after {
    display: table;
    content: " ";
  }
  .dashboard-stat:after {
    clear: both; }
  .portlet .dashboard-stat:last-child {
    margin-bottom: 0; }
  .dashboard-stat .visual {
    display: block;
    float: left;
    margin-bottom: 15px;
    padding-top: 10px;
    padding-left: 15px;
    width:         80px;
    height:        80px;
    font-size: 35px;
    line-height: 35px; }
    .dashboard-stat .visual > i {
      margin-left: -35px;
      font-size: 110px;
      line-height: 110px; }
  .dashboard-stat .details {
    position: absolute;
    right: 15px;
    padding-right: 15px; }
    .dashboard-stat .details .number {
      margin-bottom: 0px;
      padding-top: 25px;
      text-align: right;
      letter-spacing: -1px;
      font-weight:   300;
      font-size:     34px;
      line-height:   36px;
    }
    .dashboard-stat .details .desc {
      text-align: right;
      letter-spacing: 0px;
      font-weight: 300;
      font-size:   16px;
    }
  .dashboard-stat .more {
    position: relative;
    display: block;
    clear:    both;
    padding: 6px 10px 6px 10px;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 11px;
    opacity: 0.7;
    filter: alpha(opacity=70); }
    .dashboard-stat .more:hover {
      text-decoration: none;
      opacity: 0.9;
      filter: alpha(opacity=90); }
    .dashboard-stat .more > i {
      display: inline-block;
      float:      right;
      margin-top: 1px;
    }

.dashboard-stat-light {
  margin-bottom:  20px;
  padding-bottom: 20px;
}
  .dashboard-stat-light .details {
    margin-bottom: 5px; }
    .dashboard-stat-light .details .number {
      margin-bottom: 0px;
      font-weight:   300;
    }

/***
Dashboard Stats 2
***/
.dashboard-stat2 {
  margin-bottom:     20px;
  padding:           15px 15px 30px 15px;
  -webkit-border-radius: 4px ;
  -moz-border-radius: 4px ;
  border-radius: 4px ;
  background: #fff;
  -ms-border-radius: 4px;
  -o-border-radius:  4px;
}
  .dashboard-stat2 .display {
    margin-bottom: 20px; }
    .dashboard-stat2 .display:before, .dashboard-stat2 .display:after {
      display: table;
      content: " ";
    }
    .dashboard-stat2 .display:after {
      clear: both; }
    .dashboard-stat2 .display .number {
      display: inline-block;
      float:   left;
    }
      .dashboard-stat2 .display .number h3 {
        margin: 0 0 2px 0;
        padding: 0;
        font-weight: 400;
        font-size:   30px;
      }
        .dashboard-stat2 .display .number h3 > small {
          font-size: 23px; }
      .dashboard-stat2 .display .number small {
        color: #AAB5BC;
        text-transform: uppercase;
        font-weight: 600;
        font-size:      14px;
      }
    .dashboard-stat2 .display .icon {
      display: inline-block;
      float: right;
      padding: 7px 0 0 0; }
      .dashboard-stat2 .display .icon > i {
        color: #cbd4e0;
        font-size: 26px; }
  .dashboard-stat2 .progress-info {
    clear: both; }
    .dashboard-stat2 .progress-info .progress {
      display: block;
      clear: both;
      margin:  0;
      height:  4px;
    }
    .dashboard-stat2 .progress-info .status {
      margin-top: 5px;
      color: #AAB5BC;
      text-transform: uppercase;
      font-weight: 600;
      font-size:      11px;
    }
      .dashboard-stat2 .progress-info .status .status-title {
        display: inline-block;
        float:   left;
      }
      .dashboard-stat2 .progress-info .status .status-number {
        display: inline-block;
        float:   right;
      }

/***
Text Stats
***/
.text-stat h3 {
  margin-top: 5px;
  margin-bottom: 0px;
  font-size: 18px; }
.text-stat span {
  font-size: 13px !important; }

@media (max-width: 767px) {
  /* 767px */
  .text-stat {
    margin-top: 20px; } }

/***
Social Icons
***/
.social-icons {
  margin:  0;
  padding: 0;
}
  .social-icons:before, .social-icons:after {
    display: table;
    content: " ";
  }
  .social-icons:after {
    clear: both; }
  .social-icons li {
    display: inline;
    float:      left;
    margin-right: 5px;
    margin-bottom: 5px;
    list-style: none;
    text-indent: -9999px; }
    .social-icons li > a {
      display:            block;
      width:              28px;
      height:             28px;
      -webkit-border-radius: 2px ;
      -moz-border-radius: 2px ;
      border-radius:      2px;
      background-position: 0 0;
      background-repeat: no-repeat;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -ms-transition:     all 0.3s ease-in-out;
      -o-transition:      all 0.3s ease-in-out;
      transition:         all 0.3s ease-in-out;
      -ms-border-radius:  2px;
      -o-border-radius:   2px;
    }
    .social-icons li:hover > a {
      background-position: 0 -38px; }
    .social-icons li .amazon {
      background: url(../images/social/amazon.png) no-repeat;
    }
    .social-icons li .behance {
      background: url(../images/social/behance.png) no-repeat;
    }
    .social-icons li .blogger {
      background: url(../images/social/blogger.png) no-repeat;
    }
    .social-icons li .deviantart {
      background: url(../images/social/deviantart.png) no-repeat;
    }
    .social-icons li .dribbble {
      background: url(../images/social/dribbble.png) no-repeat;
    }
    .social-icons li .dropbox {
      background: url(../images/social/dropbox.png) no-repeat;
    }
    .social-icons li .evernote {
      background: url(../images/social/evernote.png) no-repeat;
    }
    .social-icons li .facebook {
      background: url(../images/social/facebook.png) no-repeat;
    }
    .social-icons li .forrst {
      background: url(../images/social/forrst.png) no-repeat;
    }
    .social-icons li .github {
      background: url(../images/social/github.png) no-repeat;
    }
    .social-icons li .googleplus {
      background: url(../images/social/googleplus.png) no-repeat;
    }
    .social-icons li .jolicloud {
      background: url(../images/social/jolicloud.png) no-repeat;
    }
    .social-icons li .last-fm {
      background: url(../images/social/last-fm.png) no-repeat;
    }
    .social-icons li .linkedin {
      background: url(../images/social/linkedin.png) no-repeat;
    }
    .social-icons li .picasa {
      background: url(../images/social/picasa.png) no-repeat;
    }
    .social-icons li .pintrest {
      background: url(../images/social/pintrest.png) no-repeat;
    }
    .social-icons li .rss {
      background: url(../images/social/rss.png) no-repeat;
    }
    .social-icons li .skype {
      background: url(../images/social/skype.png) no-repeat;
    }
    .social-icons li .spotify {
      background: url(../images/social/spotify.png) no-repeat;
    }
    .social-icons li .stumbleupon {
      background: url(../images/social/stumbleupon.png) no-repeat;
    }
    .social-icons li .tumblr {
      background: url(../images/social/tumblr.png) no-repeat;
    }
    .social-icons li .twitter {
      background: url(../images/social/twitter.png) no-repeat;
    }
    .social-icons li .vimeo {
      background: url(../images/social/vimeo.png) no-repeat;
    }
    .social-icons li .wordpress {
      background: url(../images/social/wordpress.png) no-repeat;
    }
    .social-icons li .xing {
      background: url(../images/social/xing.png) no-repeat;
    }
    .social-icons li .yahoo {
      background: url(../images/social/yahoo.png) no-repeat;
    }
    .social-icons li .youtube {
      background: url(../images/social/youtube.png) no-repeat;
    }
    .social-icons li .vk {
      background: url(../images/social/vk.png) no-repeat;
    }
    .social-icons li .instagram {
      background: url(../images/social/instagram.png) no-repeat;
    }
    .social-icons li .reddit {
      background: url(../images/social/reddit.png) no-repeat;
    }
    .social-icons li .aboutme {
      background: url(../images/social/aboutme.png) no-repeat;
    }
    .social-icons li .flickr {
      background: url(../images/social/flickr.png) no-repeat;
    }
    .social-icons li .foursquare {
      background: url(../images/social/foursquare.png) no-repeat;
    }
    .social-icons li .gravatar {
      background: url(../images/social/gravatar.png) no-repeat;
    }
    .social-icons li .klout {
      background: url(../images/social/klout.png) no-repeat;
    }
    .social-icons li .myspace {
      background: url(../images/social/myspace.png) no-repeat;
    }
    .social-icons li .quora {
      background: url(../images/social/quora.png) no-repeat;
    }
  .social-icons.social-icons-color > li > a {
    background-position: 0 -38px !important;
    opacity:             0.7;
  }
    .social-icons.social-icons-color > li > a:hover {
      opacity: 1; }
  .social-icons.social-icons-circle > li > a {
    border-radius: 25px !important; }

/***
Inline Social Icons
***/
.social-icon {
  display: inline-block !important;
  width: 28px;
  height: 28px;
  -webkit-border-radius: 2px;
  -moz-border-radius:    2px;
  border-radius: 2px ;
  background-position:   0 0;
  background-repeat:     no-repeat;
  -webkit-transition:    all 0.3s ease-in-out;
  -moz-transition:       all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition:         all 0.3s ease-in-out;
  transition:            all 0.3s ease-in-out;
  -ms-border-radius:     2px;
  -o-border-radius:      2px;
}
  .social-icon.social-icon-circle {
    border-radius: 25px !important; }

.social-icon.amazon {
  background: url(../images/social/amazon.png) no-repeat;
}
.social-icon.behance {
  background: url(../images/social/behance.png) no-repeat;
}
.social-icon.blogger {
  background: url(../images/social/blogger.png) no-repeat;
}
.social-icon.deviantart {
  background: url(../images/social/deviantart.png) no-repeat;
}
.social-icon.dribbble {
  background: url(../images/social/dribbble.png) no-repeat;
}
.social-icon.dropbox {
  background: url(../images/social/dropbox.png) no-repeat;
}
.social-icon.evernote {
  background: url(../images/social/evernote.png) no-repeat;
}
.social-icon.facebook {
  background: url(../images/social/facebook.png) no-repeat;
}
.social-icon.forrst {
  background: url(../images/social/forrst.png) no-repeat;
}
.social-icon.github {
  background: url(../images/social/github.png) no-repeat;
}
.social-icon.googleplus {
  background: url(../images/social/googleplus.png) no-repeat;
}
.social-icon.jolicloud {
  background: url(../images/social/jolicloud.png) no-repeat;
}
.social-icon.last-fm {
  background: url(../images/social/last-fm.png) no-repeat;
}
.social-icon.linkedin {
  background: url(../images/social/linkedin.png) no-repeat;
}
.social-icon.picasa {
  background: url(../images/social/picasa.png) no-repeat;
}
.social-icon.pintrest {
  background: url(../images/social/pintrest.png) no-repeat;
}
.social-icon.rss {
  background: url(../images/social/rss.png) no-repeat;
}
.social-icon.skype {
  background: url(../images/social/skype.png) no-repeat;
}
.social-icon.spotify {
  background: url(../images/social/spotify.png) no-repeat;
}
.social-icon.stumbleupon {
  background: url(../images/social/stumbleupon.png) no-repeat;
}
.social-icon.tumblr {
  background: url(../images/social/tumblr.png) no-repeat;
}
.social-icon.twitter {
  background: url(../images/social/twitter.png) no-repeat;
}
.social-icon.vimeo {
  background: url(../images/social/vimeo.png) no-repeat;
}
.social-icon.wordpress {
  background: url(../images/social/wordpress.png) no-repeat;
}
.social-icon.xing {
  background: url(../images/social/xing.png) no-repeat;
}
.social-icon.yahoo {
  background: url(../images/social/yahoo.png) no-repeat;
}
.social-icon.youtube {
  background: url(../images/social/youtube.png) no-repeat;
}
.social-icon.vk {
  background: url(../images/social/vk.png) no-repeat;
}
.social-icon.instagram {
  background: url(../images/social/instagram.png) no-repeat;
}
.social-icon.reddit {
  background: url(../images/social/reddit.png) no-repeat;
}
.social-icon.aboutme {
  background: url(../images/social/aboutme.png) no-repeat;
}
.social-icon.flickr {
  background: url(../images/social/flickr.png) no-repeat;
}
.social-icon.foursquare {
  background: url(../images/social/foursquare.png) no-repeat;
}
.social-icon.gravatar {
  background: url(../images/social/gravatar.png) no-repeat;
}
.social-icon.klout {
  background: url(../images/social/klout.png) no-repeat;
}
.social-icon.myspace {
  background: url(../images/social/myspace.png) no-repeat;
}
.social-icon.quora {
  background: url(../images/social/quora.png) no-repeat;
}
.social-icon:hover {
  background-position: 0 -38px; }

.social-icon-color {
  background-position: 0 -38px !important;
  opacity:             0.7;
}
  .social-icon-color:hover {
    opacity: 1; }

/***
Customized Bootstrap Tables
***/
/***
Default table
***/
.table.table-bordered thead > tr > th {
  border-bottom: 0; }
.table tr.heading > th {
  background-color: #eee !important; }
.table td .img-responsive {
  width: 100%; }

/* Contextual table row variants */
.table > thead > tr > td.active, .table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th {
  background: #a6c8e6;
  color: #132339; }

.table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th {
  background: #92bce0; }

.table > thead > tr > td.success, .table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th {
  background: #dff0d8;
  color: #3c763d; }

.table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th {
  background: #d0e9c6; }

.table > thead > tr > td.info, .table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th {
  background: #d9edf7;
  color: #31708f; }

.table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th {
  background: #c4e3f3; }

.table > thead > tr > td.warning, .table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th {
  background: #fcf8e3;
  color: #8a6d3b; }

.table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th {
  background: #faf2cc; }

.table > thead > tr > td.danger, .table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th {
  background: #f2dede;
  color: #a94442; }

.table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th {
  background: #ebcccc; }

/***
Responsive & Scrollable Tables
***/
.table-scrollable {
  overflow-x: auto;
  overflow-y: hidden;
  margin: 10px 0 !important;
  width:  100%;
  border: 1px solid #dddddd;
}
  .table-scrollable.table-scrollable-borderless {
    border: 0; }
  .table-scrollable > .table {
    margin: 0 !important;
    margin-bottom: 0;
    width: 100% !important;
    background-color: #fff; }
    .table-scrollable > .table > thead > tr > th, .table-scrollable > .table > tbody > tr > th, .table-scrollable > .table > tfoot > tr > th, .table-scrollable > .table > tfoot > tr > th, .table-scrollable > .table > tfoot > tr > td {
      white-space: nowrap; }
  .table-scrollable > .table-bordered {
    border: 0; }
    .table-scrollable > .table-bordered > thead > tr > th:first-child, .table-scrollable > .table-bordered > tbody > tr > th:first-child, .table-scrollable > .table-bordered > tfoot > tr > th:first-child, .table-scrollable > .table-bordered > thead > tr > td:first-child, .table-scrollable > .table-bordered > tbody > tr > td:first-child, .table-scrollable > .table-bordered > tfoot > tr > td:first-child {
      border-left: 0; }
    .table-scrollable > .table-bordered > thead > tr > th:last-child, .table-scrollable > .table-bordered > tbody > tr > th:last-child, .table-scrollable > .table-bordered > tfoot > tr > th:last-child, .table-scrollable > .table-bordered > thead > tr > td:last-child, .table-scrollable > .table-bordered > tbody > tr > td:last-child, .table-scrollable > .table-bordered > tfoot > tr > td:last-child {
      border-right: 0; }
    .table-scrollable > .table-bordered > thead > tr:last-child > th, .table-scrollable > .table-bordered > tbody > tr:last-child > th, .table-scrollable > .table-bordered > tfoot > tr:last-child > th, .table-scrollable > .table-bordered > thead > tr:last-child > td, .table-scrollable > .table-bordered > tbody > tr:last-child > td, .table-scrollable > .table-bordered > tfoot > tr:last-child > td {
      border-bottom: 0; }

/***
Responsive Flip Scroll Tables
***/
.flip-scroll table {
  width: 100%; }

@media only screen and (max-width: 768px) {
  /* 768px */
  .flip-scroll .flip-content:after {
    display: block;
    visibility: hidden;
    clear: both;
    height:     0;
    content:    " ";
    font-size:  0;
  }
  .flip-scroll * html .flip-content {
    zoom: 1; }
  .flip-scroll *:first-child + html .flip-content {
    zoom: 1; }
  .flip-scroll table {
    width: 100%;
    border-spacing:  0;
    border-collapse: collapse;
  }
  .flip-scroll th, .flip-scroll td {
    margin: 0;
    vertical-align: top; }
  .flip-scroll th {
    padding:       5px;
    width:         auto !important;
    border: 0 !important;
    border-right: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    text-align:    left;
    font-size:     13px !important;
  }
  .flip-scroll table {
    position: relative;
    display: block;
    width: 100%; }
  .flip-scroll thead {
    display: block;
    float: left; }
  .flip-scroll tbody {
    position: relative;
    display: block;
    overflow-x: auto;
    width:   auto;
    white-space: nowrap; }
  .flip-scroll thead tr {
    display: block; }
  .flip-scroll th {
    display: block;
    text-align: right; }
  .flip-scroll tbody tr {
    display: inline-block;
    margin-left:    -5px;
    vertical-align: top;
  }
  .flip-scroll td {
    display: block;
    min-height: 1.25em;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    text-align:   left;
  }
  /* sort out borders */
  .flip-scroll th {
    border-bottom: 0;
    border-left: 0; }
  .flip-scroll td {
    border-right: 0;
    border-bottom: 0;
    border-left:   0;
  }
  .flip-scroll tbody tr {
    border-left: 1px solid #ddd; }
  .flip-scroll th:last-child, .flip-scroll td:last-child {
    border-bottom: 1px solid #ddd; } }

/***
Custom tables
***/
.table-toolbar {
  margin-bottom: 15px; }
  .table-toolbar:before, .table-toolbar:after {
    display: table;
    content: " ";
  }
  .table-toolbar:after {
    clear: both; }

.table.table-full-width {
  width: 100% !important; }

.table .btn {
  margin-top: 0px;
  margin-right: 5px;
  margin-left:  0px;
}

.table thead tr th {
  font-weight: 600;
  font-size:   14px;
}

.table-advance {
  margin-bottom: 10px !important; }

.table-advance thead {
  color: #999; }

.table-advance thead tr th {
  background-color: #DDD;
  color:     #666;
  font-weight: 400;
  font-size: 14px;
}

.table-advance div.success, .table-advance div.info, .table-advance div.important, .table-advance div.warning, .table-advance div.danger {
  position: absolute;
  float: left;
  margin-top:   -5px;
  margin-right: 20px !important;
  width: 2px;
  height:       30px;
}

.table-advance tr td {
  border-left-width: 0px; }

.table-advance tr td:first-child {
  border-left-width: 1px !important; }

.table-advance tr td.highlight:first-child a {
  margin-left: 15px; }

.table-advance td.highlight div.primary {
  border-left: 2px solid #428bca; }

.table-advance td.highlight div.success {
  border-left: 2px solid #45B6AF; }

.table-advance td.highlight div.info {
  border-left: 2px solid #89C4F4; }

.table-advance td.highlight div.warning {
  border-left: 2px solid #dfba49; }

.table-advance td.highlight div.danger {
  border-left: 2px solid #F3565D; }

@media (max-width: 767px) {
  /* 767px */
  .table-advance tr > td.highlight:first-child a {
    margin-left: 8px; } }

/***
Light Table
***/
.table.table-light {
  border: 0 !important; }
  .table.table-light > thead > tr:hover > th {
    background: none; }
  .table.table-light > thead > tr.uppercase {
    text-transform: uppercase; }
  .table.table-light > thead > tr > th {
    border:        0;
    border-bottom: 1px solid #f2f5f8;
    color:         #93a2a9;
    font-weight: 600;
    font-size: 11px;
    font-family:   "Open Sans", sans-serif;
  }
  .table.table-light > tbody > tr:last-child > td {
    border: 0; }
  .table.table-light > tbody > tr > td {
    border: 0;
    border-bottom: 1px solid #F2F5F8;
    color: #8896a0;
    vertical-align: middle; }
    .table.table-light > tbody > tr > td.fit {
      padding-right: 3px;
      width:         1px;
    }
    .table.table-light > tbody > tr > td .user-pic {
      display: inline-block;
      height: 30px;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100% ;
      border-radius:         100%;
      vertical-align:        middle;
      -ms-border-radius: 100% ;
      -o-border-radius:      100%;
    }
  .table.table-light.table-hover > tbody > tr > td:hover, .table.table-light.table-hover > tbody > tr > th:hover, .table.table-light.table-hover > tbody > tr:hover > td, .table.table-light.table-hover > tbody > tr:hover > th {
    background: #f9fafb; }

/***
Customized Bootstrap Tabs 
***/
/* Tabs and pills */
.nav-tabs, .nav-pills {
  margin-bottom: 10px; }
  .nav-tabs > li > a, .nav-pills > li > a {
    -webkit-border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0 ;
    border-radius:         4px 4px 0 0;
    font-size:             12px;
    -ms-border-radius: 4px 4px 0 0 ;
    -o-border-radius:      4px 4px 0 0;
  }
    .nav-tabs > li > a > .badge, .nav-pills > li > a > .badge {
      margin-top: -6px; }
  .nav-tabs > li .dropdown-menu:before, .nav-tabs > li .dropdown-menu:after, .nav-pills > li .dropdown-menu:before, .nav-pills > li .dropdown-menu:after {
    display: none; }
  .nav-tabs.nav-tabs-sm > li > a, .nav-tabs.nav-pills-sm > li > a, .nav-pills.nav-tabs-sm > li > a, .nav-pills.nav-pills-sm > li > a {
    font-size: 11px; }
  .nav-tabs .dropdown.open > .dropdown-toggle, .nav-pills .dropdown.open > .dropdown-toggle {
    border-color: transparent;
    background: #eee;
    color:        #0d638f;
  }

/* Left and right tabs */
.tabs-right.nav-tabs, .tabs-left.nav-tabs {
  border-bottom: 0; }
  .tabs-right.nav-tabs > li, .tabs-left.nav-tabs > li {
    float: none; }
    .tabs-right.nav-tabs > li > a, .tabs-left.nav-tabs > li > a {
      margin-right: 0;
      margin-bottom: 3px; }

/* Left tabs */
.tabs-left.nav-tabs {
  border-right: 1px solid #ddd; }
  .tabs-left.nav-tabs > li > a {
    display: block;
    margin-right: -1px; }
    .tabs-left.nav-tabs > li > a:hover, .tabs-left.nav-tabs > li > a:focus {
      border-color:      #eeeeee #dddddd #eeeeee #eeeeee;
      -webkit-border-radius: 4px 0 0 4px ;
      -moz-border-radius: 4px 0 0 4px ;
      border-radius: 4px 0 0 4px ;
      -ms-border-radius: 4px 0 0 4px;
      -o-border-radius:  4px 0 0 4px;
    }
  .tabs-left.nav-tabs > li.active > a, .tabs-left.nav-tabs > li.active > a:hover > li.active > a:focus {
    border-color:        #ddd transparent #ddd #ddd;
    *border-right-color: #ffffff;
    -webkit-border-radius: 4px 0 0 4px ;
    -moz-border-radius: 4px 0 0 4px ;
    border-radius: 4px 0 0 4px ;
    -ms-border-radius:   4px 0 0 4px;
    -o-border-radius:    4px 0 0 4px;
  }

/* Right tabs */
.tabs-right.nav-tabs {
  border-left: 1px solid #ddd; }
  .tabs-right.nav-tabs > li > a {
    display: block;
    margin-left: -1px; }
    .tabs-right.nav-tabs > li > a:hover, .tabs-right.nav-tabs > li > a:focus {
      border-color:      #eeeeee #eeeeee #eeeeee #dddddd;
      -webkit-border-radius: 0 4px 4px 0 ;
      -moz-border-radius: 0 4px 4px 0 ;
      border-radius: 0 4px 4px 0 ;
      -ms-border-radius: 0 4px 4px 0;
      -o-border-radius:  0 4px 4px 0;
    }
  .tabs-right.nav-tabs > li.active > a, .tabs-right.nav-tabs > li.active > a:hover > li.active > a:focus {
    border-color:       #ddd #ddd #ddd transparent;
    *border-left-color: #ffffff;
    -webkit-border-radius: 0 4px 4px 0 ;
    -moz-border-radius: 0 4px 4px 0 ;
    border-radius: 0 4px 4px 0 ;
    -ms-border-radius:  0 4px 4px 0;
    -o-border-radius:   0 4px 4px 0;
  }

/* Below tabs */
.tabs-below > .nav-tabs, .tabs-below > .nav-pills {
  margin-top:    10px;
  margin-bottom: 0px;
  border-bottom: 0;
}

.tabs-below > .nav-tabs {
  margin-top: 10px;
  margin-bottom: 0;
  border-top: 1px solid #ddd;
}
  .tabs-below > .nav-tabs > li > a {
    margin-top: -1px;
    margin-bottom: 0; }
    .tabs-below > .nav-tabs > li > a:hover, .tabs-below > .nav-tabs > li > a:focus {
      border-top-color: #ddd;
      border-bottom-color: transparent; }
    .tabs-below > .nav-tabs > li > a .dropdown-menu {
      -webkit-border-radius: 4px ;
      -moz-border-radius: 4px ;
      border-radius:    4px;
      -ms-border-radius: 4px ;
      -o-border-radius: 4px;
    }
  .tabs-below > .nav-tabs .active a, .tabs-below > .nav-tabs .active a:hover .active a:focus {
    border-color:      transparent #ddd #ddd #ddd !important;
    -webkit-border-radius: 0 0 4px 4px ;
    -moz-border-radius: 0 0 4px 4px ;
    border-radius: 0 0 4px 4px ;
    -ms-border-radius: 0 0 4px 4px;
    -o-border-radius:  0 0 4px 4px;
  }

/***
Custom tabs
***/
/* In BS3.0.0 tabbable class was removed. We had to added it back */
.tabbable:before, .tabbable:after {
  display: table;
  content: " ";
}
.tabbable:after {
  clear: both; }

.tabbable-custom {
  overflow: hidden;
  margin-bottom: 15px;
  padding: 0px;
  /* justified tabs */
  /* boxless tabs */
  /* below justified tabs */
  /* full width tabs */
  /* below tabs */ }
  .tabbable-custom > .nav-tabs {
    margin: 0px;
    border: none;
  }
    .tabbable-custom > .nav-tabs > li {
      margin-right: 2px;
      border-top: 2px solid transparent; }
      .tabbable-custom > .nav-tabs > li > a {
        margin-right: 0;
        -webkit-border-radius: 0 ;
        -moz-border-radius: 0 ;
        border-radius:    0;
        -ms-border-radius: 0 ;
        -o-border-radius: 0;
      }
        .tabbable-custom > .nav-tabs > li > a:hover {
          border-color: transparent;
          background:   none;
        }
      .tabbable-custom > .nav-tabs > li.active {
        position:   relative;
        margin-top: 0;
        border-top: 3px solid #f3565d;
      }
        .tabbable-custom > .nav-tabs > li.active > a {
          border-top: none !important;
          -webkit-border-radius: 0;
          -moz-border-radius: 0 ;
          border-radius:         0;
          font-weight:           400;
          -ms-border-radius: 0 ;
          -o-border-radius:      0;
        }
          .tabbable-custom > .nav-tabs > li.active > a:hover {
            border-color:      #d4d4d4 #d4d4d4 transparent;
            border-top:        none;
            -webkit-border-radius: 0 ;
            -moz-border-radius: 0 ;
            border-radius: 0 ;
            background: #fff;
            -ms-border-radius: 0;
            -o-border-radius:  0;
          }
  .tabbable-custom > .tab-content {
    padding: 10px;
    border:                1px solid #ddd;
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px ;
    border-radius:         0 0 4px 4px;
    background-color:      #fff;
    -ms-border-radius: 0 0 4px 4px ;
    -o-border-radius:      0 0 4px 4px;
  }
  .tabbable-custom.nav-justified > .tab-content {
    margin-top: -1px; }
  .tabbable-custom.boxless > .tab-content {
    padding: 15px 0;
    border-right: none;
    border-bottom: none;
    border-left:   none;
  }
  .tabbable-custom.tabs-below.nav-justified .tab-content {
    margin-top: 0px;
    margin-bottom: -2px;
    -webkit-border-radius: 4px 4px 0 0 ;
    -moz-border-radius: 4px 4px 0 0 ;
    border-radius:    4px 4px 0 0;
    -ms-border-radius: 4px 4px 0 0 ;
    -o-border-radius: 4px 4px 0 0;
  }
  .tabbable-custom.tabbable-full-width > .nav-tabs > li > a {
    padding:   9px 15px;
    color: #424242;
    font-size: 12px;
  }
  .tabbable-custom.tabbable-full-width > .tab-content {
    padding: 15px 0;
    border-right: none;
    border-bottom: none;
    border-left:   none;
  }
  .tabbable-custom.tabs-below .nav-tabs > li > a {
    margin-top:    -1px;
    border-top: none;
    border-bottom: 2px solid transparent;
  }
  .tabbable-custom.tabs-below .nav-tabs > li.active {
    position:      relative;
    margin-bottom: 0;
    border-top:    none;
    border-bottom: 3px solid #d12610;
  }
    .tabbable-custom.tabs-below .nav-tabs > li.active > a {
      border-bottom: none; }
      .tabbable-custom.tabs-below .nav-tabs > li.active > a:hover {
        border-color: #d4d4d4 #d4d4d4 transparent;
        background:   #fff;
      }

.tabbable-custom.tabbable-noborder > .nav-tabs > li > a {
  border: 0; }
.tabbable-custom.tabbable-noborder .tab-content {
  border: 0; }

.tabbable-line > .nav-tabs {
  margin: 0px;
  border: none;
}
  .tabbable-line > .nav-tabs > li {
    margin-right: 2px; }
    .tabbable-line > .nav-tabs > li > a {
      margin-right: 0;
      border: 0;
      color: #737373; }
      .tabbable-line > .nav-tabs > li > a > i {
        color: #a6a6a6; }
    .tabbable-line > .nav-tabs > li.open, .tabbable-line > .nav-tabs > li:hover {
      border-bottom: 4px solid #fbcdcf; }
      .tabbable-line > .nav-tabs > li.open > a, .tabbable-line > .nav-tabs > li:hover > a {
        border: 0;
        background: none !important;
        color: #333; }
        .tabbable-line > .nav-tabs > li.open > a > i, .tabbable-line > .nav-tabs > li:hover > a > i {
          color: #a6a6a6; }
      .tabbable-line > .nav-tabs > li.open .dropdown-menu, .tabbable-line > .nav-tabs > li:hover .dropdown-menu {
        margin-top: 0px; }
    .tabbable-line > .nav-tabs > li.active {
      position:      relative;
      border-bottom: 4px solid #f3565d;
    }
      .tabbable-line > .nav-tabs > li.active > a {
        border: 0;
        color: #333; }
        .tabbable-line > .nav-tabs > li.active > a > i {
          color: #404040; }
.tabbable-line > .tab-content {
  margin-top: -3px;
  padding:          15px 0;
  border: 0;
  border-top: 1px solid #eee;
  background-color: #fff;
}
  .portlet .tabbable-line > .tab-content {
    padding-bottom: 0; }

.tabbable-line.tabs-below > .nav-tabs > li {
  border-top: 4px solid transparent; }
  .tabbable-line.tabs-below > .nav-tabs > li > a {
    margin-top: 0; }
  .tabbable-line.tabs-below > .nav-tabs > li:hover {
    border-top:    4px solid #fbcdcf;
    border-bottom: 0;
  }
  .tabbable-line.tabs-below > .nav-tabs > li.active {
    margin-bottom: -2px;
    border-top:    4px solid #f3565d;
    border-bottom: 0;
  }
.tabbable-line.tabs-below > .tab-content {
  margin-top: -10px;
  padding-bottom: 15px;
  border-top: 0;
  border-bottom:  1px solid #eee;
}

/***
Tiles(new in v1.1.1)
***/
.tiles {
  margin-right: -10px; }
  .tiles:before, .tiles:after {
    display: table;
    content: " "; }
  .tiles:after {
    clear: both; }
  .tiles .tile {
    position:        relative;
    display: block;
    float: left;
    overflow:        hidden;
    margin:          0 10px 10px 0;
    width: 135px !important;
    height:          135px;
    border:          4px solid transparent;
    color: #ffffff;
    text-decoration: none;
    letter-spacing:  0.02em;
    letter-spacing:  0.02em;
    font-weight: 300;
    font-size: 10px;
    line-height: 20px;
    cursor:          pointer;
  }
    .tiles .tile:after, .tiles .tile:before {
      float:   left;
      content: "";
    }
    .tiles .tile.double {
      width: 280px !important; }
    .tiles .tile.double-down {
      height: 280px !important; }
      .tiles .tile.double-down i {
        margin-top: 95px; }
    .tiles .tile:hover {
      border-color: #aaa !important; }
    .tiles .tile:active, .tiles .tile.selected {
      border-color: #ccc !important; }
    .tiles .tile.selected .corner:after {
      position: absolute;
      top: -3px;
      right:         -3px;
      display: inline-block;
      border-right:  40px solid #ccc;
      border-bottom: 40px solid transparent;
      border-left:   40px solid transparent;
      content:       "";
    }

.tiles .tile.selected .check:after {
      position: absolute;
      top: 2px;
  right:       2px;
  display:     inline-block;
  content:     "";
  content:     "\f00c";
  font-size:   10px;
  font-family: FontAwesome;
}
    .tiles .tile.icon {
      padding: 0; }
    .tiles .tile.image .tile-body {
      padding: 0 !important; }
      .tiles .tile.image .tile-body > img {
        min-height: 100%;
        max-width: 100%;
        width:     100%;
        height:    auto;
      }
      .tiles .tile.image .tile-body h3 {
        display: inline-block; }
    .tiles .tile .tile-body {
      position: relative;
      overflow:       hidden;
      margin-bottom:  10px;
      padding:        10px 10px;
      height:         100%;
      color: #000000;
      color: #ffffff;
      vertical-align: top;
      font-weight:    400;
      font-size:      12px;
    }
      .tiles .tile .tile-body p {
        overflow:    hidden;
        color: #000000;
        color: #ffffff;
        font-weight: 400;
        font-size:   10px;
        line-height: 20px;
      }
        .tiles .tile .tile-body p:hover {
          color: rgba(0, 0, 0, 0.8); }
        .tiles .tile .tile-body p:active {
          color: rgba(0, 0, 0, 0.4); }
        .tiles .tile .tile-body p:hover {
          color: #ffffff; }
      .tiles .tile .tile-body img {
        float: left;
        margin-right: 10px; }
        .tiles .tile .tile-body img.pull-right {
          float: right !important;
          margin-right: 0px;
          margin-left:  10px;
        }
      .tiles .tile .tile-body > .content {
        display: inline-block; }
      .tiles .tile .tile-body > i {
        display: block;
        margin-top:  17px;
        text-align:  center;
        font-size: 56px;
        line-height: 56px;
      }
      .tiles .tile .tile-body h1, .tiles .tile .tile-body h2, .tiles .tile .tile-body h3, .tiles .tile .tile-body h4, .tiles .tile .tile-body h5, .tiles .tile .tile-body h6, .tiles .tile .tile-body p {
        margin: 0;
        padding: 0;
        line-height: 14px; }
        .tiles .tile .tile-body h1:hover, .tiles .tile .tile-body h2:hover, .tiles .tile .tile-body h3:hover, .tiles .tile .tile-body h4:hover, .tiles .tile .tile-body h5:hover, .tiles .tile .tile-body h6:hover, .tiles .tile .tile-body p:hover {
          color: #ffffff; }
      .tiles .tile .tile-body h3, .tiles .tile .tile-body h4 {
        margin-bottom: 5px; }
    .tiles .tile .tile-object {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      min-height: 30px;
      background-color: transparent;
      *zoom: 1; }
      .tiles .tile .tile-object:before, .tiles .tile .tile-object:after {
        display: table;
        content: ""; }
      .tiles .tile .tile-object:after {
        clear: both; }
      .tiles .tile .tile-object > .name {
        position: absolute;
        bottom: 0;
        left: 0;
        margin-right: 15px;
        margin-bottom: 5px;
        margin-left: 10px;
        color:        #ffffff;
        font-weight: 400;
        font-size:    10px;
      }
        .tiles .tile .tile-object > .name > i {
          display: block;
          width:          24px;
          height: 18px;
          vertical-align: middle;
          font-size:      24px;
        }
      .tiles .tile .tile-object > .number {
        position: absolute;
        right: 0;
        bottom:         0;
        margin-right:   10px;
        margin-bottom: 0;
        margin-bottom:  8px;
        color: #ffffff;
        text-align: center;
        letter-spacing: 0.01em;
        font-weight: 600;
        font-size: 12px;
        line-height:    14px;
      }

/***
Custimized Bootstrap Wells
***/
.well {
  border: 0;
  background-color: #eee;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important; }

/***
AngularJS Basic Animations
***/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px); }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@-moz-keyframes fadeInUp {
  0% {
    opacity: 0;
    -moz-transform: translateY(15px); }

  100% {
    opacity: 1;
    -moz-transform: translateY(0); } }

@-o-keyframes fadeInUp {
  0% {
    opacity: 0;
    -o-transform: translateY(15px); }

  100% {
    opacity: 1;
    -o-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(15px); }

  100% {
    opacity: 1;
    transform: translateY(0); } }

.fade-in-up {
  -webkit-animation: fadeInUp .5s;
  animation: fadeInUp .5s; }

@-webkit-keyframes bounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }

  40% {
    -webkit-transform: scale(1); } }

@keyframes bounceDelay {
  0%, 80%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }

  40% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

@keyframes input-focus {
  0% {
    left: 20%;
    width: 20%; }

  99% {
    width: 0;
    left: 0;
    opacity: 1; }

  100% {
    opacity: 0; } }

/* Button */
.btn.default {
  background-color: #e5e5e5;
  color:            #333333;
}
  .btn.default:hover, .btn.default:focus, .btn.default:active, .btn.default.active {
    background-color: lightgray;
    color:            #333333;
  }
  .open .btn.default.dropdown-toggle {
    background-color: lightgray;
    color:            #333333;
  }
  .btn.default:active, .btn.default.active {
    background-color: #c6c6c6;
    background-image: none;
  }
    .btn.default:active:hover, .btn.default.active:hover {
      background-color: #cccccc; }
  .open .btn.default.dropdown-toggle {
    background-image: none; }
  .btn.default.disabled, .btn.default.disabled:hover, .btn.default.disabled:focus, .btn.default.disabled:active, .btn.default.disabled.active, .btn.default[disabled], .btn.default[disabled]:hover, .btn.default[disabled]:focus, .btn.default[disabled]:active, .btn.default[disabled].active, fieldset[disabled] .btn.default, fieldset[disabled] .btn.default:hover, fieldset[disabled] .btn.default:focus, fieldset[disabled] .btn.default:active, fieldset[disabled] .btn.default.active {
    background-color: #E5E5E5; }
  .btn.default .badge {
    background-color: #333333;
    color:            #e5e5e5;
  }

/**********
Blue Colors
***********/
/***
Blue Default
***/
/* Button */
.blue.btn {
  background-color: #3598dc;
  color:            #ffffff;
}
  .blue.btn:hover, .blue.btn:focus, .blue.btn:active, .blue.btn.active {
    background-color: #2386ca;
    color:            #ffffff;
  }
  .open .blue.btn.dropdown-toggle {
    background-color: #2386ca;
    color:            #ffffff;
  }
  .blue.btn:active, .blue.btn.active {
    background-color: #1f78b5;
    background-image: none;
  }
    .blue.btn:active:hover, .blue.btn.active:hover {
      background-color: #217ebd; }
  .open .blue.btn.dropdown-toggle {
    background-image: none; }
  .blue.btn.disabled, .blue.btn.disabled:hover, .blue.btn.disabled:focus, .blue.btn.disabled:active, .blue.btn.disabled.active, .blue.btn[disabled], .blue.btn[disabled]:hover, .blue.btn[disabled]:focus, .blue.btn[disabled]:active, .blue.btn[disabled].active, fieldset[disabled] .blue.btn, fieldset[disabled] .blue.btn:hover, fieldset[disabled] .blue.btn:focus, fieldset[disabled] .blue.btn:active, fieldset[disabled] .blue.btn.active {
    background-color: #3598dc; }
  .blue.btn .badge {
    background-color: #ffffff;
    color:            #3598dc;
  }

/* Button Strip */
.btn.blue-stripe {
  border-left: 3px solid #3598dc; }

/* Portlet */
.portlet > .portlet-body.blue, .portlet.blue {
  background-color: #3598dc; }

.portlet.solid.blue > .portlet-title, .portlet.solid.blue > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue {
  border: 1px solid #60aee4;
  border-top: 0; }
  .portlet.box.blue > .portlet-title {
    background-color: #3598dc; }
    .portlet.box.blue > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue > .portlet-title > .actions .btn-default {
      border: 1px solid #95c9ed;
      background: transparent !important;
      background-color: transparent !important;
      color: #aad4f0; }
      .portlet.box.blue > .portlet-title > .actions .btn-default > i {
        color: #b7daf3; }
      .portlet.box.blue > .portlet-title > .actions .btn-default:hover, .portlet.box.blue > .portlet-title > .actions .btn-default:focus, .portlet.box.blue > .portlet-title > .actions .btn-default:active, .portlet.box.blue > .portlet-title > .actions .btn-default.active {
        border: 1px solid #c0dff4;
        color: #d6eaf8; }

/* Statistic Block */
.dashboard-stat.blue {
  background-color: #3598dc; }
  .dashboard-stat.blue.dashboard-stat-light:hover {
    background-color: #258fd7; }
  .dashboard-stat.blue .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue .more {
    background-color: #258fd7;
    color:            #ffffff;
  }

/* General Element */
.bg-blue {
  border-color: #3598dc !important;
  background-color: #3598dc !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue {
  color: #3598dc !important; }

.progress-bar.blue {
  background: #3598dc !important;
  color: #FFFFFF !important; }

/***
Blue Madison
***/
/* Button */
.blue-madison.btn {
  background-color: #578ebe;
  color:            #ffffff;
}
  .blue-madison.btn:hover, .blue-madison.btn:focus, .blue-madison.btn:active, .blue-madison.btn.active {
    background-color: #437cae;
    color:            #ffffff;
  }
  .open .blue-madison.btn.dropdown-toggle {
    background-color: #437cae;
    color:            #ffffff;
  }
  .blue-madison.btn:active, .blue-madison.btn.active {
    background-color: #3c6f9c;
    background-image: none;
  }
    .blue-madison.btn:active:hover, .blue-madison.btn.active:hover {
      background-color: #3f74a3; }
  .open .blue-madison.btn.dropdown-toggle {
    background-image: none; }
  .blue-madison.btn.disabled, .blue-madison.btn.disabled:hover, .blue-madison.btn.disabled:focus, .blue-madison.btn.disabled:active, .blue-madison.btn.disabled.active, .blue-madison.btn[disabled], .blue-madison.btn[disabled]:hover, .blue-madison.btn[disabled]:focus, .blue-madison.btn[disabled]:active, .blue-madison.btn[disabled].active, fieldset[disabled] .blue-madison.btn, fieldset[disabled] .blue-madison.btn:hover, fieldset[disabled] .blue-madison.btn:focus, fieldset[disabled] .blue-madison.btn:active, fieldset[disabled] .blue-madison.btn.active {
    background-color: #578ebe; }
  .blue-madison.btn .badge {
    background-color: #ffffff;
    color:            #578ebe;
  }

/* Button Strip */
.btn.blue-madison-stripe {
  border-left: 3px solid #578ebe; }

/* Portlet */
.portlet > .portlet-body.blue-madison, .portlet.blue-madison {
  background-color: #578ebe; }

.portlet.solid.blue-madison > .portlet-title, .portlet.solid.blue-madison > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-madison > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-madison > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-madison > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-madison > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-madison > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-madison > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-madison > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-madison > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-madison {
  border: 1px solid #7ca7cc;
  border-top: 0; }
  .portlet.box.blue-madison > .portlet-title {
    background-color: #578ebe; }
    .portlet.box.blue-madison > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-madison > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-madison > .portlet-title > .actions .btn-default {
      border: 1px solid #a8c4dd;
      background: transparent !important;
      background-color: transparent !important;
      color: #bad1e4; }
      .portlet.box.blue-madison > .portlet-title > .actions .btn-default > i {
        color: #c5d8e9; }
      .portlet.box.blue-madison > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-madison > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-madison > .portlet-title > .actions .btn-default:active, .portlet.box.blue-madison > .portlet-title > .actions .btn-default.active {
        border: 1px solid #cdddec;
        color: #dfeaf3; }

/* Statistic Block */
.dashboard-stat.blue-madison {
  background-color: #578ebe; }
  .dashboard-stat.blue-madison.dashboard-stat-light:hover {
    background-color: #4884b8; }
  .dashboard-stat.blue-madison .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-madison .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-madison .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-madison .more {
    background-color: #4884b8;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-madison {
  border-color: #578ebe !important;
  background-color: #578ebe !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-madison {
  color: #578ebe !important; }

.progress-bar.blue-madison {
  background: #578ebe !important;
  color: #FFFFFF !important; }

/***
Blue Chambray
***/
/* Button */
.blue-chambray.btn {
  background-color: #2c3e50;
  color:            #ffffff;
}
  .blue-chambray.btn:hover, .blue-chambray.btn:focus, .blue-chambray.btn:active, .blue-chambray.btn.active {
    background-color: #1f2c39;
    color:            #ffffff;
  }
  .open .blue-chambray.btn.dropdown-toggle {
    background-color: #1f2c39;
    color:            #ffffff;
  }
  .blue-chambray.btn:active, .blue-chambray.btn.active {
    background-color: #161f29;
    background-image: none;
  }
    .blue-chambray.btn:active:hover, .blue-chambray.btn.active:hover {
      background-color: #1a242f; }
  .open .blue-chambray.btn.dropdown-toggle {
    background-image: none; }
  .blue-chambray.btn.disabled, .blue-chambray.btn.disabled:hover, .blue-chambray.btn.disabled:focus, .blue-chambray.btn.disabled:active, .blue-chambray.btn.disabled.active, .blue-chambray.btn[disabled], .blue-chambray.btn[disabled]:hover, .blue-chambray.btn[disabled]:focus, .blue-chambray.btn[disabled]:active, .blue-chambray.btn[disabled].active, fieldset[disabled] .blue-chambray.btn, fieldset[disabled] .blue-chambray.btn:hover, fieldset[disabled] .blue-chambray.btn:focus, fieldset[disabled] .blue-chambray.btn:active, fieldset[disabled] .blue-chambray.btn.active {
    background-color: #2C3E50; }
  .blue-chambray.btn .badge {
    background-color: #ffffff;
    color:            #2c3e50;
  }

/* Button Strip */
.btn.blue-chambray-stripe {
  border-left: 3px solid #2C3E50; }

/* Portlet */
.portlet > .portlet-body.blue-chambray, .portlet.blue-chambray {
  background-color: #2C3E50; }

.portlet.solid.blue-chambray > .portlet-title, .portlet.solid.blue-chambray > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-chambray > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-chambray > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-chambray > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-chambray > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-chambray > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-chambray > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-chambray > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-chambray > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-chambray {
  border: 1px solid #3e5771;
  border-top: 0; }
  .portlet.box.blue-chambray > .portlet-title {
    background-color: #2C3E50; }
    .portlet.box.blue-chambray > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-chambray > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-chambray > .portlet-title > .actions .btn-default {
      border: 1px solid #547698;
      background: transparent !important;
      background-color: transparent !important;
      color: #5f83a7; }
      .portlet.box.blue-chambray > .portlet-title > .actions .btn-default > i {
        color: #698aac; }
      .portlet.box.blue-chambray > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-chambray > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-chambray > .portlet-title > .actions .btn-default:active, .portlet.box.blue-chambray > .portlet-title > .actions .btn-default.active {
        border: 1px solid #6f90b0;
        color: #809cb9; }

/* Statistic Block */
.dashboard-stat.blue-chambray {
  background-color: #2C3E50; }
  .dashboard-stat.blue-chambray.dashboard-stat-light:hover {
    background-color: #253443; }
  .dashboard-stat.blue-chambray .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-chambray .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-chambray .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-chambray .more {
    background-color: #253443;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-chambray {
  border-color: #2C3E50 !important;
  background-color: #2C3E50 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-chambray {
  color: #2C3E50 !important; }

.progress-bar.blue-chambray {
  background: #2C3E50 !important;
  color: #FFFFFF !important; }

/***
Blue Ebonyclay
***/
/* Button */
.blue-ebonyclay.btn {
  background-color: #22313f;
  color:            #ffffff;
}
  .blue-ebonyclay.btn:hover, .blue-ebonyclay.btn:focus, .blue-ebonyclay.btn:active, .blue-ebonyclay.btn.active {
    background-color: #151f28;
    color:            #ffffff;
  }
  .open .blue-ebonyclay.btn.dropdown-toggle {
    background-color: #151f28;
    color:            #ffffff;
  }
  .blue-ebonyclay.btn:active, .blue-ebonyclay.btn.active {
    background-color: #0d1217;
    background-image: none;
  }
    .blue-ebonyclay.btn:active:hover, .blue-ebonyclay.btn.active:hover {
      background-color: #10171e; }
  .open .blue-ebonyclay.btn.dropdown-toggle {
    background-image: none; }
  .blue-ebonyclay.btn.disabled, .blue-ebonyclay.btn.disabled:hover, .blue-ebonyclay.btn.disabled:focus, .blue-ebonyclay.btn.disabled:active, .blue-ebonyclay.btn.disabled.active, .blue-ebonyclay.btn[disabled], .blue-ebonyclay.btn[disabled]:hover, .blue-ebonyclay.btn[disabled]:focus, .blue-ebonyclay.btn[disabled]:active, .blue-ebonyclay.btn[disabled].active, fieldset[disabled] .blue-ebonyclay.btn, fieldset[disabled] .blue-ebonyclay.btn:hover, fieldset[disabled] .blue-ebonyclay.btn:focus, fieldset[disabled] .blue-ebonyclay.btn:active, fieldset[disabled] .blue-ebonyclay.btn.active {
    background-color: #22313F; }
  .blue-ebonyclay.btn .badge {
    background-color: #ffffff;
    color:            #22313f;
  }

/* Button Strip */
.btn.blue-ebonyclay-stripe {
  border-left: 3px solid #22313F; }

/* Portlet */
.portlet > .portlet-body.blue-ebonyclay, .portlet.blue-ebonyclay {
  background-color: #22313F; }

.portlet.solid.blue-ebonyclay > .portlet-title, .portlet.solid.blue-ebonyclay > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-ebonyclay > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-ebonyclay > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-ebonyclay > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-ebonyclay {
  border: 1px solid #344b60;
  border-top: 0; }
  .portlet.box.blue-ebonyclay > .portlet-title {
    background-color: #22313F; }
    .portlet.box.blue-ebonyclay > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-ebonyclay > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default {
      border: 1px solid #496a88;
      background: transparent !important;
      background-color: transparent !important;
      color: #527798; }
      .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default > i {
        color: #587ea2; }
      .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default:active, .portlet.box.blue-ebonyclay > .portlet-title > .actions .btn-default.active {
        border: 1px solid #5d83a7;
        color: #6d90b0; }

/* Statistic Block */
.dashboard-stat.blue-ebonyclay {
  background-color: #22313F; }
  .dashboard-stat.blue-ebonyclay.dashboard-stat-light:hover {
    background-color: #1b2732; }
  .dashboard-stat.blue-ebonyclay .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-ebonyclay .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-ebonyclay .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-ebonyclay .more {
    background-color: #1b2732;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-ebonyclay {
  border-color: #22313F !important;
  background-color: #22313F !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-ebonyclay {
  color: #22313F !important; }

.progress-bar.blue-ebonyclay {
  background: #22313F !important;
  color: #FFFFFF !important; }

/***
Blue Hoki
***/
/* Button */
.blue-hoki.btn {
  background-color: #67809f;
  color:            #ffffff;
}
  .blue-hoki.btn:hover, .blue-hoki.btn:focus, .blue-hoki.btn:active, .blue-hoki.btn.active {
    background-color: #586e8b;
    color:            #ffffff;
  }
  .open .blue-hoki.btn.dropdown-toggle {
    background-color: #586e8b;
    color:            #ffffff;
  }
  .blue-hoki.btn:active, .blue-hoki.btn.active {
    background-color: #4e627b;
    background-image: none;
  }
    .blue-hoki.btn:active:hover, .blue-hoki.btn.active:hover {
      background-color: #526781; }
  .open .blue-hoki.btn.dropdown-toggle {
    background-image: none; }
  .blue-hoki.btn.disabled, .blue-hoki.btn.disabled:hover, .blue-hoki.btn.disabled:focus, .blue-hoki.btn.disabled:active, .blue-hoki.btn.disabled.active, .blue-hoki.btn[disabled], .blue-hoki.btn[disabled]:hover, .blue-hoki.btn[disabled]:focus, .blue-hoki.btn[disabled]:active, .blue-hoki.btn[disabled].active, fieldset[disabled] .blue-hoki.btn, fieldset[disabled] .blue-hoki.btn:hover, fieldset[disabled] .blue-hoki.btn:focus, fieldset[disabled] .blue-hoki.btn:active, fieldset[disabled] .blue-hoki.btn.active {
    background-color: #67809F; }
  .blue-hoki.btn .badge {
    background-color: #ffffff;
    color:            #67809f;
  }

/* Button Strip */
.btn.blue-hoki-stripe {
  border-left: 3px solid #67809F; }

/* Portlet */
.portlet > .portlet-body.blue-hoki, .portlet.blue-hoki {
  background-color: #67809F; }

.portlet.solid.blue-hoki > .portlet-title, .portlet.solid.blue-hoki > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-hoki > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-hoki > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-hoki > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-hoki > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-hoki > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-hoki > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-hoki > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-hoki > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-hoki {
  border: 1px solid #869ab3;
  border-top: 0; }
  .portlet.box.blue-hoki > .portlet-title {
    background-color: #67809F; }
    .portlet.box.blue-hoki > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-hoki > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-hoki > .portlet-title > .actions .btn-default {
      border: 1px solid #acb9ca;
      background: transparent !important;
      background-color: transparent !important;
      color: #bbc7d4; }
      .portlet.box.blue-hoki > .portlet-title > .actions .btn-default > i {
        color: #c5ceda; }
      .portlet.box.blue-hoki > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-hoki > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-hoki > .portlet-title > .actions .btn-default:active, .portlet.box.blue-hoki > .portlet-title > .actions .btn-default.active {
        border: 1px solid #cbd4de;
        color: #dbe1e8; }

/* Statistic Block */
.dashboard-stat.blue-hoki {
  background-color: #67809F; }
  .dashboard-stat.blue-hoki.dashboard-stat-light:hover {
    background-color: #5e7694; }
  .dashboard-stat.blue-hoki .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-hoki .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-hoki .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-hoki .more {
    background-color: #5e7694;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-hoki {
  border-color: #67809F !important;
  background-color: #67809F !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-hoki {
  color: #67809F !important; }

.progress-bar.blue-hoki {
  background: #67809F !important;
  color: #FFFFFF !important; }

/***
Blue Stell
***/
/* Button */
.blue-steel.btn {
  background-color: #4b77be;
  color:            #ffffff;
}
  .blue-steel.btn:hover, .blue-steel.btn:focus, .blue-steel.btn:active, .blue-steel.btn.active {
    background-color: #3d66a8;
    color:            #ffffff;
  }
  .open .blue-steel.btn.dropdown-toggle {
    background-color: #3d66a8;
    color:            #ffffff;
  }
  .blue-steel.btn:active, .blue-steel.btn.active {
    background-color: #365b96;
    background-image: none;
  }
    .blue-steel.btn:active:hover, .blue-steel.btn.active:hover {
      background-color: #395f9d; }
  .open .blue-steel.btn.dropdown-toggle {
    background-image: none; }
  .blue-steel.btn.disabled, .blue-steel.btn.disabled:hover, .blue-steel.btn.disabled:focus, .blue-steel.btn.disabled:active, .blue-steel.btn.disabled.active, .blue-steel.btn[disabled], .blue-steel.btn[disabled]:hover, .blue-steel.btn[disabled]:focus, .blue-steel.btn[disabled]:active, .blue-steel.btn[disabled].active, fieldset[disabled] .blue-steel.btn, fieldset[disabled] .blue-steel.btn:hover, fieldset[disabled] .blue-steel.btn:focus, fieldset[disabled] .blue-steel.btn:active, fieldset[disabled] .blue-steel.btn.active {
    background-color: #4B77BE; }
  .blue-steel.btn .badge {
    background-color: #ffffff;
    color:            #4b77be;
  }

/* Button Strip */
.btn.blue-steel-stripe {
  border-left: 3px solid #4B77BE; }

/* Portlet */
.portlet > .portlet-body.blue-steel, .portlet.blue-steel {
  background-color: #4B77BE; }

.portlet.solid.blue-steel > .portlet-title, .portlet.solid.blue-steel > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-steel > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-steel > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-steel > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-steel > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-steel > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-steel > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-steel > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-steel > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-steel {
  border: 1px solid #7093cc;
  border-top: 0; }
  .portlet.box.blue-steel > .portlet-title {
    background-color: #4B77BE; }
    .portlet.box.blue-steel > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-steel > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-steel > .portlet-title > .actions .btn-default {
      border: 1px solid #9db5dc;
      background: transparent !important;
      background-color: transparent !important;
      color: #b0c3e3; }
      .portlet.box.blue-steel > .portlet-title > .actions .btn-default > i {
        color: #bbcce7; }
      .portlet.box.blue-steel > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-steel > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-steel > .portlet-title > .actions .btn-default:active, .portlet.box.blue-steel > .portlet-title > .actions .btn-default.active {
        border: 1px solid #c3d2e9;
        color: #d6e0f0; }

/* Statistic Block */
.dashboard-stat.blue-steel {
  background-color: #4B77BE; }
  .dashboard-stat.blue-steel.dashboard-stat-light:hover {
    background-color: #416db4; }
  .dashboard-stat.blue-steel .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-steel .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-steel .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-steel .more {
    background-color: #416db4;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-steel {
  border-color: #4B77BE !important;
  background-color: #4B77BE !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-steel {
  color: #4B77BE !important; }

.progress-bar.blue-steel {
  background: #4B77BE !important;
  color: #FFFFFF !important; }

/***
Blue Soft
***/
/* Button */
.blue-soft.btn {
  background-color: #4c87b9;
  color:            #ffffff;
}
  .blue-soft.btn:hover, .blue-soft.btn:focus, .blue-soft.btn:active, .blue-soft.btn.active {
    background-color: #3f75a2;
    color:            #ffffff;
  }
  .open .blue-soft.btn.dropdown-toggle {
    background-color: #3f75a2;
    color:            #ffffff;
  }
  .blue-soft.btn:active, .blue-soft.btn.active {
    background-color: #386890;
    background-image: none;
  }
    .blue-soft.btn:active:hover, .blue-soft.btn.active:hover {
      background-color: #3b6d97; }
  .open .blue-soft.btn.dropdown-toggle {
    background-image: none; }
  .blue-soft.btn.disabled, .blue-soft.btn.disabled:hover, .blue-soft.btn.disabled:focus, .blue-soft.btn.disabled:active, .blue-soft.btn.disabled.active, .blue-soft.btn[disabled], .blue-soft.btn[disabled]:hover, .blue-soft.btn[disabled]:focus, .blue-soft.btn[disabled]:active, .blue-soft.btn[disabled].active, fieldset[disabled] .blue-soft.btn, fieldset[disabled] .blue-soft.btn:hover, fieldset[disabled] .blue-soft.btn:focus, fieldset[disabled] .blue-soft.btn:active, fieldset[disabled] .blue-soft.btn.active {
    background-color: #4c87b9; }
  .blue-soft.btn .badge {
    background-color: #ffffff;
    color:            #4c87b9;
  }

/* Button Strip */
.btn.blue-soft-stripe {
  border-left: 3px solid #4c87b9; }

/* Portlet */
.portlet > .portlet-body.blue-soft, .portlet.blue-soft {
  background-color: #4c87b9; }

.portlet.solid.blue-soft > .portlet-title, .portlet.solid.blue-soft > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-soft > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-soft > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-soft > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-soft > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-soft > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-soft > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-soft > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-soft > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-soft {
  border: 1px solid #71a0c7;
  border-top: 0; }
  .portlet.box.blue-soft > .portlet-title {
    background-color: #4c87b9; }
    .portlet.box.blue-soft > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-soft > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-soft > .portlet-title > .actions .btn-default {
      border: 1px solid #9dbdd9;
      background: transparent !important;
      background-color: transparent !important;
      color: #afc9e0; }
      .portlet.box.blue-soft > .portlet-title > .actions .btn-default > i {
        color: #bad1e4; }
      .portlet.box.blue-soft > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-soft > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-soft > .portlet-title > .actions .btn-default:active, .portlet.box.blue-soft > .portlet-title > .actions .btn-default.active {
        border: 1px solid #c1d6e7;
        color: #d4e2ee; }

/* Statistic Block */
.dashboard-stat.blue-soft {
  background-color: #4c87b9; }
  .dashboard-stat.blue-soft.dashboard-stat-light:hover {
    background-color: #447dad; }
  .dashboard-stat.blue-soft .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-soft .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-soft .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-soft .more {
    background-color: #447dad;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-soft {
  border-color: #4c87b9 !important;
  background-color: #4c87b9 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-soft {
  color: #4c87b9 !important; }

.progress-bar.blue-soft {
  background: #4c87b9 !important;
  color: #FFFFFF !important; }

/***
Blue Dark
***/
/* Button */
.blue-dark.btn {
  background-color: #5e738b;
  color:            #ffffff;
}
  .blue-dark.btn:hover, .blue-dark.btn:focus, .blue-dark.btn:active, .blue-dark.btn.active {
    background-color: #506176;
    color:            #ffffff;
  }
  .open .blue-dark.btn.dropdown-toggle {
    background-color: #506176;
    color:            #ffffff;
  }
  .blue-dark.btn:active, .blue-dark.btn.active {
    background-color: #455566;
    background-image: none;
  }
    .blue-dark.btn:active:hover, .blue-dark.btn.active:hover {
      background-color: #495a6d; }
  .open .blue-dark.btn.dropdown-toggle {
    background-image: none; }
  .blue-dark.btn.disabled, .blue-dark.btn.disabled:hover, .blue-dark.btn.disabled:focus, .blue-dark.btn.disabled:active, .blue-dark.btn.disabled.active, .blue-dark.btn[disabled], .blue-dark.btn[disabled]:hover, .blue-dark.btn[disabled]:focus, .blue-dark.btn[disabled]:active, .blue-dark.btn[disabled].active, fieldset[disabled] .blue-dark.btn, fieldset[disabled] .blue-dark.btn:hover, fieldset[disabled] .blue-dark.btn:focus, fieldset[disabled] .blue-dark.btn:active, fieldset[disabled] .blue-dark.btn.active {
    background-color: #5e738b; }
  .blue-dark.btn .badge {
    background-color: #ffffff;
    color:            #5e738b;
  }

/* Button Strip */
.btn.blue-dark-stripe {
  border-left: 3px solid #5e738b; }

/* Portlet */
.portlet > .portlet-body.blue-dark, .portlet.blue-dark {
  background-color: #5e738b; }

.portlet.solid.blue-dark > .portlet-title, .portlet.solid.blue-dark > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-dark > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-dark > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-dark > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-dark > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-dark > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-dark > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-dark > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-dark > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-dark {
  border: 1px solid #788da4;
  border-top: 0; }
  .portlet.box.blue-dark > .portlet-title {
    background-color: #5e738b; }
    .portlet.box.blue-dark > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-dark > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-dark > .portlet-title > .actions .btn-default {
      border: 1px solid #9dacbd;
      background: transparent !important;
      background-color: transparent !important;
      color: #acb8c7; }
      .portlet.box.blue-dark > .portlet-title > .actions .btn-default > i {
        color: #b5c0cd; }
      .portlet.box.blue-dark > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-dark > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-dark > .portlet-title > .actions .btn-default:active, .portlet.box.blue-dark > .portlet-title > .actions .btn-default.active {
        border: 1px solid #bbc5d1;
        color: #cad2db; }

/* Statistic Block */
.dashboard-stat.blue-dark {
  background-color: #5e738b; }
  .dashboard-stat.blue-dark.dashboard-stat-light:hover {
    background-color: #56697f; }
  .dashboard-stat.blue-dark .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-dark .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-dark .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-dark .more {
    background-color: #56697f;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-dark {
  border-color: #5e738b !important;
  background-color: #5e738b !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-dark {
  color: #5e738b !important; }

.progress-bar.blue-dark {
  background: #5e738b !important;
  color: #FFFFFF !important; }

/***
Blue Sharp
***/
/* Button */
.blue-sharp.btn {
  background-color: #5c9bd1;
  color:            #ffffff;
}
  .blue-sharp.btn:hover, .blue-sharp.btn:focus, .blue-sharp.btn:active, .blue-sharp.btn.active {
    background-color: #408ac9;
    color:            #ffffff;
  }
  .open .blue-sharp.btn.dropdown-toggle {
    background-color: #408ac9;
    color:            #ffffff;
  }
  .blue-sharp.btn:active, .blue-sharp.btn.active {
    background-color: #357dbb;
    background-image: none;
  }
    .blue-sharp.btn:active:hover, .blue-sharp.btn.active:hover {
      background-color: #3782c3; }
  .open .blue-sharp.btn.dropdown-toggle {
    background-image: none; }
  .blue-sharp.btn.disabled, .blue-sharp.btn.disabled:hover, .blue-sharp.btn.disabled:focus, .blue-sharp.btn.disabled:active, .blue-sharp.btn.disabled.active, .blue-sharp.btn[disabled], .blue-sharp.btn[disabled]:hover, .blue-sharp.btn[disabled]:focus, .blue-sharp.btn[disabled]:active, .blue-sharp.btn[disabled].active, fieldset[disabled] .blue-sharp.btn, fieldset[disabled] .blue-sharp.btn:hover, fieldset[disabled] .blue-sharp.btn:focus, fieldset[disabled] .blue-sharp.btn:active, fieldset[disabled] .blue-sharp.btn.active {
    background-color: #5C9BD1; }
  .blue-sharp.btn .badge {
    background-color: #ffffff;
    color:            #5c9bd1;
  }

/* Button Strip */
.btn.blue-sharp-stripe {
  border-left: 3px solid #5C9BD1; }

/* Portlet */
.portlet > .portlet-body.blue-sharp, .portlet.blue-sharp {
  background-color: #5C9BD1; }

.portlet.solid.blue-sharp > .portlet-title, .portlet.solid.blue-sharp > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.blue-sharp > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.blue-sharp > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.blue-sharp > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.blue-sharp > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.blue-sharp > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.blue-sharp > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.blue-sharp > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.blue-sharp > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.blue-sharp {
  border: 1px solid #84b3dc;
  border-top: 0; }
  .portlet.box.blue-sharp > .portlet-title {
    background-color: #5C9BD1; }
    .portlet.box.blue-sharp > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.blue-sharp > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.blue-sharp > .portlet-title > .actions .btn-default {
      border: 1px solid #b4d1ea;
      background: transparent !important;
      background-color: transparent !important;
      color: #c7ddef; }
      .portlet.box.blue-sharp > .portlet-title > .actions .btn-default > i {
        color: #d3e4f3; }
      .portlet.box.blue-sharp > .portlet-title > .actions .btn-default:hover, .portlet.box.blue-sharp > .portlet-title > .actions .btn-default:focus, .portlet.box.blue-sharp > .portlet-title > .actions .btn-default:active, .portlet.box.blue-sharp > .portlet-title > .actions .btn-default.active {
        border: 1px solid #dbe9f5;
        color: #eff5fb; }

/* Statistic Block */
.dashboard-stat.blue-sharp {
  background-color: #5C9BD1; }
  .dashboard-stat.blue-sharp.dashboard-stat-light:hover {
    background-color: #4c91cd; }
  .dashboard-stat.blue-sharp .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.blue-sharp .details .number {
    color: #FFFFFF; }
  .dashboard-stat.blue-sharp .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.blue-sharp .more {
    background-color: #4c91cd;
    color:            #ffffff;
  }

/* General Element */
.bg-blue-sharp {
  border-color: #5C9BD1 !important;
  background-color: #5C9BD1 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-blue-sharp {
  color: #5C9BD1 !important; }

.progress-bar.blue-sharp {
  background: #5C9BD1 !important;
  color: #FFFFFF !important; }

/***********
Green Colors
************/
/***
Green Default
***/
/* Button */
.green.btn {
  background-color: #26a69a;
  color:            #ffffff;
}
  .green.btn:hover, .green.btn:focus, .green.btn:active, .green.btn.active {
    background-color: #1f897f;
    color:            #ffffff;
  }
  .open .green.btn.dropdown-toggle {
    background-color: #1f897f;
    color:            #ffffff;
  }
  .green.btn:active, .green.btn.active {
    background-color: #1b746c;
    background-image: none;
  }
    .green.btn:active:hover, .green.btn.active:hover {
      background-color: #1c7d74; }
  .open .green.btn.dropdown-toggle {
    background-image: none; }
  .green.btn.disabled, .green.btn.disabled:hover, .green.btn.disabled:focus, .green.btn.disabled:active, .green.btn.disabled.active, .green.btn[disabled], .green.btn[disabled]:hover, .green.btn[disabled]:focus, .green.btn[disabled]:active, .green.btn[disabled].active, fieldset[disabled] .green.btn, fieldset[disabled] .green.btn:hover, fieldset[disabled] .green.btn:focus, fieldset[disabled] .green.btn:active, fieldset[disabled] .green.btn.active {
    background-color: #26a69a; }
  .green.btn .badge {
    background-color: #ffffff;
    color:            #26a69a;
  }

/* Button Strip */
.btn.green-stripe {
  border-left: 3px solid #26a69a; }

/* Portlet */
.portlet > .portlet-body.green, .portlet.green {
  background-color: #26a69a; }

.portlet.solid.green > .portlet-title, .portlet.solid.green > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green {
  border: 1px solid #30d0c1;
  border-top: 0; }
  .portlet.box.green > .portlet-title {
    background-color: #26a69a; }
    .portlet.box.green > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green > .portlet-title > .actions .btn-default {
      border: 1px solid #61dbd0;
      background: transparent !important;
      background-color: transparent !important;
      color: #76e0d6; }
      .portlet.box.green > .portlet-title > .actions .btn-default > i {
        color: #83e3da; }
      .portlet.box.green > .portlet-title > .actions .btn-default:hover, .portlet.box.green > .portlet-title > .actions .btn-default:focus, .portlet.box.green > .portlet-title > .actions .btn-default:active, .portlet.box.green > .portlet-title > .actions .btn-default.active {
        border: 1px solid #8be4dc;
        color: #a0e9e2; }

/* Statistic Block */
.dashboard-stat.green {
  background-color: #26a69a; }
  .dashboard-stat.green.dashboard-stat-light:hover {
    background-color: #22958b; }
  .dashboard-stat.green .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green .more {
    background-color: #22958b;
    color:            #ffffff;
  }

/* General Element */
.bg-green {
  border-color: #26a69a !important;
  background-color: #26a69a !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green {
  color: #26a69a !important; }

.progress-bar.green {
  background: #26a69a !important;
  color: #FFFFFF !important; }

/***
Green Meadow
***/
/* Button */
.green-meadow.btn {
  background-color: #1bbc9b;
  color:            #ffffff;
}
  .green-meadow.btn:hover, .green-meadow.btn:focus, .green-meadow.btn:active, .green-meadow.btn.active {
    background-color: #179d81;
    color:            #ffffff;
  }
  .open .green-meadow.btn.dropdown-toggle {
    background-color: #179d81;
    color:            #ffffff;
  }
  .green-meadow.btn:active, .green-meadow.btn.active {
    background-color: #13866f;
    background-image: none;
  }
    .green-meadow.btn:active:hover, .green-meadow.btn.active:hover {
      background-color: #158f76; }
  .open .green-meadow.btn.dropdown-toggle {
    background-image: none; }
  .green-meadow.btn.disabled, .green-meadow.btn.disabled:hover, .green-meadow.btn.disabled:focus, .green-meadow.btn.disabled:active, .green-meadow.btn.disabled.active, .green-meadow.btn[disabled], .green-meadow.btn[disabled]:hover, .green-meadow.btn[disabled]:focus, .green-meadow.btn[disabled]:active, .green-meadow.btn[disabled].active, fieldset[disabled] .green-meadow.btn, fieldset[disabled] .green-meadow.btn:hover, fieldset[disabled] .green-meadow.btn:focus, fieldset[disabled] .green-meadow.btn:active, fieldset[disabled] .green-meadow.btn.active {
    background-color: #1BBC9B; }
  .green-meadow.btn .badge {
    background-color: #ffffff;
    color:            #1bbc9b;
  }

/* Button Strip */
.btn.green-meadow-stripe {
  border-left: 3px solid #1BBC9B; }

/* Portlet */
.portlet > .portlet-body.green-meadow, .portlet.green-meadow {
  background-color: #1BBC9B; }

.portlet.solid.green-meadow > .portlet-title, .portlet.solid.green-meadow > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-meadow > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-meadow > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-meadow > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-meadow > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-meadow > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-meadow > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-meadow > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-meadow > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-meadow {
  border: 1px solid #2ae0bb;
  border-top: 0; }
  .portlet.box.green-meadow > .portlet-title {
    background-color: #1BBC9B; }
    .portlet.box.green-meadow > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-meadow > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-meadow > .portlet-title > .actions .btn-default {
      border: 1px solid #5fe8cc;
      background: transparent !important;
      background-color: transparent !important;
      color: #75ebd3; }
      .portlet.box.green-meadow > .portlet-title > .actions .btn-default > i {
        color: #83edd7; }
      .portlet.box.green-meadow > .portlet-title > .actions .btn-default:hover, .portlet.box.green-meadow > .portlet-title > .actions .btn-default:focus, .portlet.box.green-meadow > .portlet-title > .actions .btn-default:active, .portlet.box.green-meadow > .portlet-title > .actions .btn-default.active {
        border: 1px solid #8ceeda;
        color: #a2f2e1; }

/* Statistic Block */
.dashboard-stat.green-meadow {
  background-color: #1BBC9B; }
  .dashboard-stat.green-meadow.dashboard-stat-light:hover {
    background-color: #18aa8c; }
  .dashboard-stat.green-meadow .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-meadow .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-meadow .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-meadow .more {
    background-color: #18aa8c;
    color:            #ffffff;
  }

/* General Element */
.bg-green-meadow {
  border-color: #1BBC9B !important;
  background-color: #1BBC9B !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-meadow {
  color: #1BBC9B !important; }

.progress-bar.green-meadow {
  background: #1BBC9B !important;
  color: #FFFFFF !important; }

/***
Green Seagreen
***/
/* Button */
.green-seagreen.btn {
  background-color: #1ba39c;
  color:            #ffffff;
}
  .green-seagreen.btn:hover, .green-seagreen.btn:focus, .green-seagreen.btn:active, .green-seagreen.btn.active {
    background-color: #16847f;
    color:            #ffffff;
  }
  .open .green-seagreen.btn.dropdown-toggle {
    background-color: #16847f;
    color:            #ffffff;
  }
  .green-seagreen.btn:active, .green-seagreen.btn.active {
    background-color: #126e6a;
    background-image: none;
  }
    .green-seagreen.btn:active:hover, .green-seagreen.btn.active:hover {
      background-color: #147772; }
  .open .green-seagreen.btn.dropdown-toggle {
    background-image: none; }
  .green-seagreen.btn.disabled, .green-seagreen.btn.disabled:hover, .green-seagreen.btn.disabled:focus, .green-seagreen.btn.disabled:active, .green-seagreen.btn.disabled.active, .green-seagreen.btn[disabled], .green-seagreen.btn[disabled]:hover, .green-seagreen.btn[disabled]:focus, .green-seagreen.btn[disabled]:active, .green-seagreen.btn[disabled].active, fieldset[disabled] .green-seagreen.btn, fieldset[disabled] .green-seagreen.btn:hover, fieldset[disabled] .green-seagreen.btn:focus, fieldset[disabled] .green-seagreen.btn:active, fieldset[disabled] .green-seagreen.btn.active {
    background-color: #1BA39C; }
  .green-seagreen.btn .badge {
    background-color: #ffffff;
    color:            #1ba39c;
  }

/* Button Strip */
.btn.green-seagreen-stripe {
  border-left: 3px solid #1BA39C; }

/* Portlet */
.portlet > .portlet-body.green-seagreen, .portlet.green-seagreen {
  background-color: #1BA39C; }

.portlet.solid.green-seagreen > .portlet-title, .portlet.solid.green-seagreen > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-seagreen > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-seagreen > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-seagreen > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-seagreen > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-seagreen > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-seagreen > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-seagreen > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-seagreen > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-seagreen {
  border: 1px solid #22cfc6;
  border-top: 0; }
  .portlet.box.green-seagreen > .portlet-title {
    background-color: #1BA39C; }
    .portlet.box.green-seagreen > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-seagreen > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-seagreen > .portlet-title > .actions .btn-default {
      border: 1px solid #4de1da;
      background: transparent !important;
      background-color: transparent !important;
      color: #63e5de; }
      .portlet.box.green-seagreen > .portlet-title > .actions .btn-default > i {
        color: #70e7e1; }
      .portlet.box.green-seagreen > .portlet-title > .actions .btn-default:hover, .portlet.box.green-seagreen > .portlet-title > .actions .btn-default:focus, .portlet.box.green-seagreen > .portlet-title > .actions .btn-default:active, .portlet.box.green-seagreen > .portlet-title > .actions .btn-default.active {
        border: 1px solid #78e9e3;
        color: #8eece8; }

/* Statistic Block */
.dashboard-stat.green-seagreen {
  background-color: #1BA39C; }
  .dashboard-stat.green-seagreen.dashboard-stat-light:hover {
    background-color: #18918b; }
  .dashboard-stat.green-seagreen .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-seagreen .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-seagreen .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-seagreen .more {
    background-color: #18918b;
    color:            #ffffff;
  }

/* General Element */
.bg-green-seagreen {
  border-color: #1BA39C !important;
  background-color: #1BA39C !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-seagreen {
  color: #1BA39C !important; }

.progress-bar.green-seagreen {
  background: #1BA39C !important;
  color: #FFFFFF !important; }

/***
Green Turquoise
***/
/* Button */
.green-turquoise.btn {
  background-color: #36d7b7;
  color:            #ffffff;
}
  .green-turquoise.btn:hover, .green-turquoise.btn:focus, .green-turquoise.btn:active, .green-turquoise.btn.active {
    background-color: #27c3a4;
    color:            #ffffff;
  }
  .open .green-turquoise.btn.dropdown-toggle {
    background-color: #27c3a4;
    color:            #ffffff;
  }
  .green-turquoise.btn:active, .green-turquoise.btn.active {
    background-color: #22ad92;
    background-image: none;
  }
    .green-turquoise.btn:active:hover, .green-turquoise.btn.active:hover {
      background-color: #24b699; }
  .open .green-turquoise.btn.dropdown-toggle {
    background-image: none; }
  .green-turquoise.btn.disabled, .green-turquoise.btn.disabled:hover, .green-turquoise.btn.disabled:focus, .green-turquoise.btn.disabled:active, .green-turquoise.btn.disabled.active, .green-turquoise.btn[disabled], .green-turquoise.btn[disabled]:hover, .green-turquoise.btn[disabled]:focus, .green-turquoise.btn[disabled]:active, .green-turquoise.btn[disabled].active, fieldset[disabled] .green-turquoise.btn, fieldset[disabled] .green-turquoise.btn:hover, fieldset[disabled] .green-turquoise.btn:focus, fieldset[disabled] .green-turquoise.btn:active, fieldset[disabled] .green-turquoise.btn.active {
    background-color: #36D7B7; }
  .green-turquoise.btn .badge {
    background-color: #ffffff;
    color:            #36d7b7;
  }

/* Button Strip */
.btn.green-turquoise-stripe {
  border-left: 3px solid #36D7B7; }

/* Portlet */
.portlet > .portlet-body.green-turquoise, .portlet.green-turquoise {
  background-color: #36D7B7; }

.portlet.solid.green-turquoise > .portlet-title, .portlet.solid.green-turquoise > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-turquoise > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-turquoise > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-turquoise > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-turquoise > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-turquoise > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-turquoise > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-turquoise > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-turquoise > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-turquoise {
  border: 1px solid #61dfc6;
  border-top: 0; }
  .portlet.box.green-turquoise > .portlet-title {
    background-color: #36D7B7; }
    .portlet.box.green-turquoise > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-turquoise > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-turquoise > .portlet-title > .actions .btn-default {
      border: 1px solid #94ead9;
      background: transparent !important;
      background-color: transparent !important;
      color: #a9eee0; }
      .portlet.box.green-turquoise > .portlet-title > .actions .btn-default > i {
        color: #b6f0e5; }
      .portlet.box.green-turquoise > .portlet-title > .actions .btn-default:hover, .portlet.box.green-turquoise > .portlet-title > .actions .btn-default:focus, .portlet.box.green-turquoise > .portlet-title > .actions .btn-default:active, .portlet.box.green-turquoise > .portlet-title > .actions .btn-default.active {
        border: 1px solid #bef2e8;
        color: #d3f6ef; }

/* Statistic Block */
.dashboard-stat.green-turquoise {
  background-color: #36D7B7; }
  .dashboard-stat.green-turquoise.dashboard-stat-light:hover {
    background-color: #29cfae; }
  .dashboard-stat.green-turquoise .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-turquoise .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-turquoise .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-turquoise .more {
    background-color: #29cfae;
    color:            #ffffff;
  }

/* General Element */
.bg-green-turquoise {
  border-color: #36D7B7 !important;
  background-color: #36D7B7 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-turquoise {
  color: #36D7B7 !important; }

.progress-bar.green-turquoise {
  background: #36D7B7 !important;
  color: #FFFFFF !important; }

/***
Green Haze
***/
/* Button */
.green-haze.btn {
  background-color: #44b6ae;
  color:            #ffffff;
}
  .green-haze.btn:hover, .green-haze.btn:focus, .green-haze.btn:active, .green-haze.btn.active {
    background-color: #3a9c95;
    color:            #ffffff;
  }
  .open .green-haze.btn.dropdown-toggle {
    background-color: #3a9c95;
    color:            #ffffff;
  }
  .green-haze.btn:active, .green-haze.btn.active {
    background-color: #338983;
    background-image: none;
  }
    .green-haze.btn:active:hover, .green-haze.btn.active:hover {
      background-color: #36918b; }
  .open .green-haze.btn.dropdown-toggle {
    background-image: none; }
  .green-haze.btn.disabled, .green-haze.btn.disabled:hover, .green-haze.btn.disabled:focus, .green-haze.btn.disabled:active, .green-haze.btn.disabled.active, .green-haze.btn[disabled], .green-haze.btn[disabled]:hover, .green-haze.btn[disabled]:focus, .green-haze.btn[disabled]:active, .green-haze.btn[disabled].active, fieldset[disabled] .green-haze.btn, fieldset[disabled] .green-haze.btn:hover, fieldset[disabled] .green-haze.btn:focus, fieldset[disabled] .green-haze.btn:active, fieldset[disabled] .green-haze.btn.active {
    background-color: #44b6ae; }
  .green-haze.btn .badge {
    background-color: #ffffff;
    color:            #44b6ae;
  }

/* Button Strip */
.btn.green-haze-stripe {
  border-left: 3px solid #44b6ae; }

/* Portlet */
.portlet > .portlet-body.green-haze, .portlet.green-haze {
  background-color: #44b6ae; }

.portlet.solid.green-haze > .portlet-title, .portlet.solid.green-haze > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-haze > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-haze > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-haze > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-haze > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-haze > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-haze > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-haze > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-haze > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-haze {
  border: 1px solid #67c6bf;
  border-top: 0; }
  .portlet.box.green-haze > .portlet-title {
    background-color: #44b6ae; }
    .portlet.box.green-haze > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-haze > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-haze > .portlet-title > .actions .btn-default {
      border: 1px solid #93d7d2;
      background: transparent !important;
      background-color: transparent !important;
      color: #a6deda; }
      .portlet.box.green-haze > .portlet-title > .actions .btn-default > i {
        color: #b1e2de; }
      .portlet.box.green-haze > .portlet-title > .actions .btn-default:hover, .portlet.box.green-haze > .portlet-title > .actions .btn-default:focus, .portlet.box.green-haze > .portlet-title > .actions .btn-default:active, .portlet.box.green-haze > .portlet-title > .actions .btn-default.active {
        border: 1px solid #b9e5e2;
        color: #cbece9; }

/* Statistic Block */
.dashboard-stat.green-haze {
  background-color: #44b6ae; }
  .dashboard-stat.green-haze.dashboard-stat-light:hover {
    background-color: #3ea7a0; }
  .dashboard-stat.green-haze .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-haze .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-haze .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-haze .more {
    background-color: #3ea7a0;
    color:            #ffffff;
  }

/* General Element */
.bg-green-haze {
  border-color: #44b6ae !important;
  background-color: #44b6ae !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-haze {
  color: #44b6ae !important; }

.progress-bar.green-haze {
  background: #44b6ae !important;
  color: #FFFFFF !important; }

/***
Green Jungle
***/
/* Button */
.green-jungle.btn {
  background-color: #26c281;
  color:            #ffffff;
}
  .green-jungle.btn:hover, .green-jungle.btn:focus, .green-jungle.btn:active, .green-jungle.btn.active {
    background-color: #20a46d;
    color:            #ffffff;
  }
  .open .green-jungle.btn.dropdown-toggle {
    background-color: #20a46d;
    color:            #ffffff;
  }
  .green-jungle.btn:active, .green-jungle.btn.active {
    background-color: #1c8f5f;
    background-image: none;
  }
    .green-jungle.btn:active:hover, .green-jungle.btn.active:hover {
      background-color: #1e9765; }
  .open .green-jungle.btn.dropdown-toggle {
    background-image: none; }
  .green-jungle.btn.disabled, .green-jungle.btn.disabled:hover, .green-jungle.btn.disabled:focus, .green-jungle.btn.disabled:active, .green-jungle.btn.disabled.active, .green-jungle.btn[disabled], .green-jungle.btn[disabled]:hover, .green-jungle.btn[disabled]:focus, .green-jungle.btn[disabled]:active, .green-jungle.btn[disabled].active, fieldset[disabled] .green-jungle.btn, fieldset[disabled] .green-jungle.btn:hover, fieldset[disabled] .green-jungle.btn:focus, fieldset[disabled] .green-jungle.btn:active, fieldset[disabled] .green-jungle.btn.active {
    background-color: #26C281; }
  .green-jungle.btn .badge {
    background-color: #ffffff;
    color:            #26c281;
  }

/* Button Strip */
.btn.green-jungle-stripe {
  border-left: 3px solid #26C281; }

/* Portlet */
.portlet > .portlet-body.green-jungle, .portlet.green-jungle {
  background-color: #26C281; }

.portlet.solid.green-jungle > .portlet-title, .portlet.solid.green-jungle > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-jungle > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-jungle > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-jungle > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-jungle > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-jungle > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-jungle > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-jungle > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-jungle > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-jungle {
  border: 1px solid #41da9a;
  border-top: 0; }
  .portlet.box.green-jungle > .portlet-title {
    background-color: #26C281; }
    .portlet.box.green-jungle > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-jungle > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-jungle > .portlet-title > .actions .btn-default {
      border: 1px solid #74e4b5;
      background: transparent !important;
      background-color: transparent !important;
      color: #8ae8c1; }
      .portlet.box.green-jungle > .portlet-title > .actions .btn-default > i {
        color: #96ebc8; }
      .portlet.box.green-jungle > .portlet-title > .actions .btn-default:hover, .portlet.box.green-jungle > .portlet-title > .actions .btn-default:focus, .portlet.box.green-jungle > .portlet-title > .actions .btn-default:active, .portlet.box.green-jungle > .portlet-title > .actions .btn-default.active {
        border: 1px solid #9feccc;
        color: #b4f0d7; }

/* Statistic Block */
.dashboard-stat.green-jungle {
  background-color: #26C281; }
  .dashboard-stat.green-jungle.dashboard-stat-light:hover {
    background-color: #23b176; }
  .dashboard-stat.green-jungle .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-jungle .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-jungle .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-jungle .more {
    background-color: #23b176;
    color:            #ffffff;
  }

/* General Element */
.bg-green-jungle {
  border-color: #26C281 !important;
  background-color: #26C281 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-jungle {
  color: #26C281 !important; }

.progress-bar.green-jungle {
  background: #26C281 !important;
  color: #FFFFFF !important; }

/***
Green Sharp
***/
/* Button */
.green-sharp.btn {
  background-color: #4db3a2;
  color:            #ffffff;
}
  .green-sharp.btn:hover, .green-sharp.btn:focus, .green-sharp.btn:active, .green-sharp.btn.active {
    background-color: #429a8c;
    color:            #ffffff;
  }
  .open .green-sharp.btn.dropdown-toggle {
    background-color: #429a8c;
    color:            #ffffff;
  }
  .green-sharp.btn:active, .green-sharp.btn.active {
    background-color: #3a897b;
    background-image: none;
  }
    .green-sharp.btn:active:hover, .green-sharp.btn.active:hover {
      background-color: #3d9082; }
  .open .green-sharp.btn.dropdown-toggle {
    background-image: none; }
  .green-sharp.btn.disabled, .green-sharp.btn.disabled:hover, .green-sharp.btn.disabled:focus, .green-sharp.btn.disabled:active, .green-sharp.btn.disabled.active, .green-sharp.btn[disabled], .green-sharp.btn[disabled]:hover, .green-sharp.btn[disabled]:focus, .green-sharp.btn[disabled]:active, .green-sharp.btn[disabled].active, fieldset[disabled] .green-sharp.btn, fieldset[disabled] .green-sharp.btn:hover, fieldset[disabled] .green-sharp.btn:focus, fieldset[disabled] .green-sharp.btn:active, fieldset[disabled] .green-sharp.btn.active {
    background-color: #4DB3A2; }
  .green-sharp.btn .badge {
    background-color: #ffffff;
    color:            #4db3a2;
  }

/* Button Strip */
.btn.green-sharp-stripe {
  border-left: 3px solid #4DB3A2; }

/* Portlet */
.portlet > .portlet-body.green-sharp, .portlet.green-sharp {
  background-color: #4DB3A2; }

.portlet.solid.green-sharp > .portlet-title, .portlet.solid.green-sharp > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-sharp > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-sharp > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-sharp > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-sharp > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-sharp > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-sharp > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-sharp > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-sharp > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-sharp {
  border: 1px solid #71c2b5;
  border-top: 0; }
  .portlet.box.green-sharp > .portlet-title {
    background-color: #4DB3A2; }
    .portlet.box.green-sharp > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-sharp > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-sharp > .portlet-title > .actions .btn-default {
      border: 1px solid #9cd5cb;
      background: transparent !important;
      background-color: transparent !important;
      color: #addcd4; }
      .portlet.box.green-sharp > .portlet-title > .actions .btn-default > i {
        color: #b8e1da; }
      .portlet.box.green-sharp > .portlet-title > .actions .btn-default:hover, .portlet.box.green-sharp > .portlet-title > .actions .btn-default:focus, .portlet.box.green-sharp > .portlet-title > .actions .btn-default:active, .portlet.box.green-sharp > .portlet-title > .actions .btn-default.active {
        border: 1px solid #bfe4de;
        color: #d1ebe7; }

/* Statistic Block */
.dashboard-stat.green-sharp {
  background-color: #4DB3A2; }
  .dashboard-stat.green-sharp.dashboard-stat-light:hover {
    background-color: #46a595; }
  .dashboard-stat.green-sharp .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-sharp .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-sharp .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-sharp .more {
    background-color: #46a595;
    color:            #ffffff;
  }

/* General Element */
.bg-green-sharp {
  border-color: #4DB3A2 !important;
  background-color: #4DB3A2 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-sharp {
  color: #4DB3A2 !important; }

.progress-bar.green-sharp {
  background: #4DB3A2 !important;
  color: #FFFFFF !important; }

/***
Green Sharp
***/
/* Button */
.green-soft.btn {
  background-color: #3faba4;
  color:            #ffffff;
}
  .green-soft.btn:hover, .green-soft.btn:focus, .green-soft.btn:active, .green-soft.btn.active {
    background-color: #35918b;
    color:            #ffffff;
  }
  .open .green-soft.btn.dropdown-toggle {
    background-color: #35918b;
    color:            #ffffff;
  }
  .green-soft.btn:active, .green-soft.btn.active {
    background-color: #2f7e79;
    background-image: none;
  }
    .green-soft.btn:active:hover, .green-soft.btn.active:hover {
      background-color: #318680; }
  .open .green-soft.btn.dropdown-toggle {
    background-image: none; }
  .green-soft.btn.disabled, .green-soft.btn.disabled:hover, .green-soft.btn.disabled:focus, .green-soft.btn.disabled:active, .green-soft.btn.disabled.active, .green-soft.btn[disabled], .green-soft.btn[disabled]:hover, .green-soft.btn[disabled]:focus, .green-soft.btn[disabled]:active, .green-soft.btn[disabled].active, fieldset[disabled] .green-soft.btn, fieldset[disabled] .green-soft.btn:hover, fieldset[disabled] .green-soft.btn:focus, fieldset[disabled] .green-soft.btn:active, fieldset[disabled] .green-soft.btn.active {
    background-color: #3faba4; }
  .green-soft.btn .badge {
    background-color: #ffffff;
    color:            #3faba4;
  }

/* Button Strip */
.btn.green-soft-stripe {
  border-left: 3px solid #3faba4; }

/* Portlet */
.portlet > .portlet-body.green-soft, .portlet.green-soft {
  background-color: #3faba4; }

.portlet.solid.green-soft > .portlet-title, .portlet.solid.green-soft > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.green-soft > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.green-soft > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.green-soft > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.green-soft > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.green-soft > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.green-soft > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.green-soft > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.green-soft > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.green-soft {
  border: 1px solid #5bc2bc;
  border-top: 0; }
  .portlet.box.green-soft > .portlet-title {
    background-color: #3faba4; }
    .portlet.box.green-soft > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.green-soft > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.green-soft > .portlet-title > .actions .btn-default {
      border: 1px solid #87d3ce;
      background: transparent !important;
      background-color: transparent !important;
      color: #9adad6; }
      .portlet.box.green-soft > .portlet-title > .actions .btn-default > i {
        color: #a5deda; }
      .portlet.box.green-soft > .portlet-title > .actions .btn-default:hover, .portlet.box.green-soft > .portlet-title > .actions .btn-default:focus, .portlet.box.green-soft > .portlet-title > .actions .btn-default:active, .portlet.box.green-soft > .portlet-title > .actions .btn-default.active {
        border: 1px solid #ade1dd;
        color: #bfe7e5; }

/* Statistic Block */
.dashboard-stat.green-soft {
  background-color: #3faba4; }
  .dashboard-stat.green-soft.dashboard-stat-light:hover {
    background-color: #3a9c96; }
  .dashboard-stat.green-soft .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.green-soft .details .number {
    color: #FFFFFF; }
  .dashboard-stat.green-soft .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.green-soft .more {
    background-color: #3a9c96;
    color:            #ffffff;
  }

/* General Element */
.bg-green-soft {
  border-color: #3faba4 !important;
  background-color: #3faba4 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-green-soft {
  color: #3faba4 !important; }

.progress-bar.green-soft {
  background: #3faba4 !important;
  color: #FFFFFF !important; }

/***********
Grey Colors
************/
/***
Grey Default
***/
/* Button */
.grey.btn {
  background-color: #e5e5e5;
  color:            #333333;
}
  .grey.btn:hover, .grey.btn:focus, .grey.btn:active, .grey.btn.active {
    background-color: lightgray;
    color:            #333333;
  }
  .open .grey.btn.dropdown-toggle {
    background-color: lightgray;
    color:            #333333;
  }
  .grey.btn:active, .grey.btn.active {
    background-color: #c6c6c6;
    background-image: none;
  }
    .grey.btn:active:hover, .grey.btn.active:hover {
      background-color: #cccccc; }
  .open .grey.btn.dropdown-toggle {
    background-image: none; }
  .grey.btn.disabled, .grey.btn.disabled:hover, .grey.btn.disabled:focus, .grey.btn.disabled:active, .grey.btn.disabled.active, .grey.btn[disabled], .grey.btn[disabled]:hover, .grey.btn[disabled]:focus, .grey.btn[disabled]:active, .grey.btn[disabled].active, fieldset[disabled] .grey.btn, fieldset[disabled] .grey.btn:hover, fieldset[disabled] .grey.btn:focus, fieldset[disabled] .grey.btn:active, fieldset[disabled] .grey.btn.active {
    background-color: #E5E5E5; }
  .grey.btn .badge {
    background-color: #333333;
    color:            #e5e5e5;
  }

/* Button Strip */
.btn.grey-stripe {
  border-left: 3px solid #E5E5E5; }

/* Portlet */
.portlet > .portlet-body.grey, .portlet.grey {
  background-color: #E5E5E5; }

.portlet.solid.grey > .portlet-title, .portlet.solid.grey > .portlet-body {
  border: 0;
  color: #333333; }
.portlet.solid.grey > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey > .portlet-title > .caption > i {
    color: #333333; }
.portlet.solid.grey > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey {
  border: 1px solid white;
  border-top: 0; }
  .portlet.box.grey > .portlet-title {
    background-color: #E5E5E5; }
    .portlet.box.grey > .portlet-title > .caption {
      color: #333333; }
      .portlet.box.grey > .portlet-title > .caption > i {
        color: #333333; }
    .portlet.box.grey > .portlet-title > .actions .btn-default {
      border: 1px solid white;
      background: transparent !important;
      background-color: transparent !important;
      color: white; }
      .portlet.box.grey > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey > .portlet-title > .actions .btn-default:hover, .portlet.box.grey > .portlet-title > .actions .btn-default:focus, .portlet.box.grey > .portlet-title > .actions .btn-default:active, .portlet.box.grey > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey {
  background-color: #E5E5E5; }
  .dashboard-stat.grey.dashboard-stat-light:hover {
    background-color: #dbdbdb; }
  .dashboard-stat.grey .visual > i {
    color: #333333;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey .details .number {
    color: #333333; }
  .dashboard-stat.grey .details .desc {
    color: #333333;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey .more {
    background-color: #dbdbdb;
    color:            #333333;
  }

/* General Element */
.bg-grey {
  border-color: #E5E5E5 !important;
  background-color: #E5E5E5 !important;
  background-image: none !important;
  color: #333333 !important; }

/* General Text & Icon Font Colors */
.font-grey {
  color: #E5E5E5 !important; font-size: 11px; }

.progress-bar.grey {
  background: #E5E5E5 !important;
  color: #333333 !important; }

/***
Grey Steel
***/
/* Button */
.grey-steel.btn {
  background-color: #e9edef;
  color:            #80898e;
}
  .grey-steel.btn:hover, .grey-steel.btn:focus, .grey-steel.btn:active, .grey-steel.btn.active {
    background-color: #d4dce0;
    color:            #80898e;
  }
  .open .grey-steel.btn.dropdown-toggle {
    background-color: #d4dce0;
    color:            #80898e;
  }
  .grey-steel.btn:active, .grey-steel.btn.active {
    background-color: #c6d0d5;
    background-image: none;
  }
    .grey-steel.btn:active:hover, .grey-steel.btn.active:hover {
      background-color: #cbd5da; }
  .open .grey-steel.btn.dropdown-toggle {
    background-image: none; }
  .grey-steel.btn.disabled, .grey-steel.btn.disabled:hover, .grey-steel.btn.disabled:focus, .grey-steel.btn.disabled:active, .grey-steel.btn.disabled.active, .grey-steel.btn[disabled], .grey-steel.btn[disabled]:hover, .grey-steel.btn[disabled]:focus, .grey-steel.btn[disabled]:active, .grey-steel.btn[disabled].active, fieldset[disabled] .grey-steel.btn, fieldset[disabled] .grey-steel.btn:hover, fieldset[disabled] .grey-steel.btn:focus, fieldset[disabled] .grey-steel.btn:active, fieldset[disabled] .grey-steel.btn.active {
    background-color: #e9edef; }
  .grey-steel.btn .badge {
    background-color: #80898e;
    color:            #e9edef;
  }

/* Button Strip */
.btn.grey-steel-stripe {
  border-left: 3px solid #e9edef; }

/* Portlet */
.portlet > .portlet-body.grey-steel, .portlet.grey-steel {
  background-color: #e9edef; }

.portlet.solid.grey-steel > .portlet-title, .portlet.solid.grey-steel > .portlet-body {
  border: 0;
  color: #80898e; }
.portlet.solid.grey-steel > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-steel > .portlet-title > .caption > i {
    color: #80898e; }
.portlet.solid.grey-steel > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-steel > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-steel > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-steel > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-steel > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-steel > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-steel {
  border: 1px solid white;
  border-top: 0; }
  .portlet.box.grey-steel > .portlet-title {
    background-color: #e9edef; }
    .portlet.box.grey-steel > .portlet-title > .caption {
      color: #80898e; }
      .portlet.box.grey-steel > .portlet-title > .caption > i {
        color: #80898e; }
    .portlet.box.grey-steel > .portlet-title > .actions .btn-default {
      border: 1px solid white;
      background: transparent !important;
      background-color: transparent !important;
      color: white; }
      .portlet.box.grey-steel > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey-steel > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-steel > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-steel > .portlet-title > .actions .btn-default:active, .portlet.box.grey-steel > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-steel {
  background-color: #e9edef; }
  .dashboard-stat.grey-steel.dashboard-stat-light:hover {
    background-color: #dde3e6; }
  .dashboard-stat.grey-steel .visual > i {
    color: #80898e;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-steel .details .number {
    color: #80898e; }
  .dashboard-stat.grey-steel .details .desc {
    color: #80898e;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-steel .more {
    background-color: #dde3e6;
    color:            #80898e;
  }

/* General Element */
.bg-grey-steel {
  border-color: #e9edef !important;
  background-color: #e9edef !important;
  background-image: none !important;
  color: #80898e !important; }

/* General Text & Icon Font Colors */
.font-grey-steel {
  color: #e9edef !important; }

.progress-bar.grey-steel {
  background: #e9edef !important;
  color: #80898e !important; }

/***
Grey Cararra
***/
/* Button */
.grey-cararra.btn {
  background-color: #fafafa;
  color:            #333333;
}
  .grey-cararra.btn:hover, .grey-cararra.btn:focus, .grey-cararra.btn:active, .grey-cararra.btn.active {
    background-color: #e8e8e8;
    color:            #333333;
  }
  .open .grey-cararra.btn.dropdown-toggle {
    background-color: #e8e8e8;
    color:            #333333;
  }
  .grey-cararra.btn:active, .grey-cararra.btn.active {
    background-color: #dbdbdb;
    background-image: none;
  }
    .grey-cararra.btn:active:hover, .grey-cararra.btn.active:hover {
      background-color: #e1e1e1; }
  .open .grey-cararra.btn.dropdown-toggle {
    background-image: none; }
  .grey-cararra.btn.disabled, .grey-cararra.btn.disabled:hover, .grey-cararra.btn.disabled:focus, .grey-cararra.btn.disabled:active, .grey-cararra.btn.disabled.active, .grey-cararra.btn[disabled], .grey-cararra.btn[disabled]:hover, .grey-cararra.btn[disabled]:focus, .grey-cararra.btn[disabled]:active, .grey-cararra.btn[disabled].active, fieldset[disabled] .grey-cararra.btn, fieldset[disabled] .grey-cararra.btn:hover, fieldset[disabled] .grey-cararra.btn:focus, fieldset[disabled] .grey-cararra.btn:active, fieldset[disabled] .grey-cararra.btn.active {
    background-color: #fafafa; }
  .grey-cararra.btn .badge {
    background-color: #333333;
    color:            #fafafa;
  }

/* Button Strip */
.btn.grey-cararra-stripe {
  border-left: 3px solid #fafafa; }

/* Portlet */
.portlet > .portlet-body.grey-cararra, .portlet.grey-cararra {
  background-color: #fafafa; }

.portlet.solid.grey-cararra > .portlet-title, .portlet.solid.grey-cararra > .portlet-body {
  border: 0;
  color: #333333; }
.portlet.solid.grey-cararra > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-cararra > .portlet-title > .caption > i {
    color: #333333; }
.portlet.solid.grey-cararra > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-cararra > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-cararra > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-cararra > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-cararra > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-cararra > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-cararra {
  border: 1px solid white;
  border-top: 0; }
  .portlet.box.grey-cararra > .portlet-title {
    background-color: #fafafa; }
    .portlet.box.grey-cararra > .portlet-title > .caption {
      color: #333333; }
      .portlet.box.grey-cararra > .portlet-title > .caption > i {
        color: #333333; }
    .portlet.box.grey-cararra > .portlet-title > .actions .btn-default {
      border: 1px solid white;
      background: transparent !important;
      background-color: transparent !important;
      color: white; }
      .portlet.box.grey-cararra > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey-cararra > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-cararra > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-cararra > .portlet-title > .actions .btn-default:active, .portlet.box.grey-cararra > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-cararra {
  background-color: #fafafa; }
  .dashboard-stat.grey-cararra.dashboard-stat-light:hover {
    background-color: #f0f0f0; }
  .dashboard-stat.grey-cararra .visual > i {
    color: #333333;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-cararra .details .number {
    color: #333333; }
  .dashboard-stat.grey-cararra .details .desc {
    color: #333333;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-cararra .more {
    background-color: #f0f0f0;
    color:            #333333;
  }

/* General Element */
.bg-grey-cararra {
  border-color: #fafafa !important;
  background-color: #fafafa !important;
  background-image: none !important;
  color: #333333 !important; }

/* General Text & Icon Font Colors */
.font-grey-cararra {
  color: #fafafa !important; }

.progress-bar.grey-cararra {
  background: #fafafa !important;
  color: #333333 !important; }

/***
Grey Gallery
***/
/* Button */
.grey-gallery.btn {
  background-color: #555555;
  color:            #ffffff;
}
  .grey-gallery.btn:hover, .grey-gallery.btn:focus, .grey-gallery.btn:active, .grey-gallery.btn.active {
    background-color: #434343;
    color:            #ffffff;
  }
  .open .grey-gallery.btn.dropdown-toggle {
    background-color: #434343;
    color:            #ffffff;
  }
  .grey-gallery.btn:active, .grey-gallery.btn.active {
    background-color: #363636;
    background-image: none;
  }
    .grey-gallery.btn:active:hover, .grey-gallery.btn.active:hover {
      background-color: #3b3b3b; }
  .open .grey-gallery.btn.dropdown-toggle {
    background-image: none; }
  .grey-gallery.btn.disabled, .grey-gallery.btn.disabled:hover, .grey-gallery.btn.disabled:focus, .grey-gallery.btn.disabled:active, .grey-gallery.btn.disabled.active, .grey-gallery.btn[disabled], .grey-gallery.btn[disabled]:hover, .grey-gallery.btn[disabled]:focus, .grey-gallery.btn[disabled]:active, .grey-gallery.btn[disabled].active, fieldset[disabled] .grey-gallery.btn, fieldset[disabled] .grey-gallery.btn:hover, fieldset[disabled] .grey-gallery.btn:focus, fieldset[disabled] .grey-gallery.btn:active, fieldset[disabled] .grey-gallery.btn.active {
    background-color: #555555; }
  .grey-gallery.btn .badge {
    background-color: #ffffff;
    color:            #555555;
  }

/* Button Strip */
.btn.grey-gallery-stripe {
  border-left: 3px solid #555555; }

/* Portlet */
.portlet > .portlet-body.grey-gallery, .portlet.grey-gallery {
  background-color: #555555; }

.portlet.solid.grey-gallery > .portlet-title, .portlet.solid.grey-gallery > .portlet-body {
  border: 0;
  color: #ffffff; }
.portlet.solid.grey-gallery > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-gallery > .portlet-title > .caption > i {
    color: #ffffff; }
.portlet.solid.grey-gallery > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-gallery > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-gallery > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-gallery > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-gallery > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-gallery > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-gallery {
  border: 1px solid #6e6e6e;
  border-top: 0; }
  .portlet.box.grey-gallery > .portlet-title {
    background-color: #555555; }
    .portlet.box.grey-gallery > .portlet-title > .caption {
      color: #ffffff; }
      .portlet.box.grey-gallery > .portlet-title > .caption > i {
        color: #ffffff; }
    .portlet.box.grey-gallery > .portlet-title > .actions .btn-default {
      border: 1px solid #8d8d8d;
      background: transparent !important;
      background-color: transparent !important;
      color: #9a9a9a; }
      .portlet.box.grey-gallery > .portlet-title > .actions .btn-default > i {
        color: #a2a2a2; }
      .portlet.box.grey-gallery > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-gallery > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-gallery > .portlet-title > .actions .btn-default:active, .portlet.box.grey-gallery > .portlet-title > .actions .btn-default.active {
        border: 1px solid #a7a7a7;
        color: #b3b3b3; }

/* Statistic Block */
.dashboard-stat.grey-gallery {
  background-color: #555555; }
  .dashboard-stat.grey-gallery.dashboard-stat-light:hover {
    background-color: #4b4b4b; }
  .dashboard-stat.grey-gallery .visual > i {
    color: #ffffff;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-gallery .details .number {
    color: #ffffff; }
  .dashboard-stat.grey-gallery .details .desc {
    color: #ffffff;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-gallery .more {
    background-color: #4b4b4b;
    color:            #ffffff;
  }

/* General Element */
.bg-grey-gallery {
  border-color: #555555 !important;
  background-color: #555555 !important;
  background-image: none !important;
  color: #ffffff !important; }

/* General Text & Icon Font Colors */
.font-grey-gallery {
  color: #555555 !important;  font-size: 6px;}

.progress-bar.grey-gallery {
  background: #555555 !important;
  color: #ffffff !important; }

/***
Grey Cascade
***/
/* Button */
.grey-cascade.btn {
  background-color: #95a5a6;
  color:            #ffffff;
}
  .grey-cascade.btn:hover, .grey-cascade.btn:focus, .grey-cascade.btn:active, .grey-cascade.btn.active {
    background-color: #829596;
    color:            #ffffff;
  }
  .open .grey-cascade.btn.dropdown-toggle {
    background-color: #829596;
    color:            #ffffff;
  }
  .grey-cascade.btn:active, .grey-cascade.btn.active {
    background-color: #74898a;
    background-image: none;
  }
    .grey-cascade.btn:active:hover, .grey-cascade.btn.active:hover {
      background-color: #798d8f; }
  .open .grey-cascade.btn.dropdown-toggle {
    background-image: none; }
  .grey-cascade.btn.disabled, .grey-cascade.btn.disabled:hover, .grey-cascade.btn.disabled:focus, .grey-cascade.btn.disabled:active, .grey-cascade.btn.disabled.active, .grey-cascade.btn[disabled], .grey-cascade.btn[disabled]:hover, .grey-cascade.btn[disabled]:focus, .grey-cascade.btn[disabled]:active, .grey-cascade.btn[disabled].active, fieldset[disabled] .grey-cascade.btn, fieldset[disabled] .grey-cascade.btn:hover, fieldset[disabled] .grey-cascade.btn:focus, fieldset[disabled] .grey-cascade.btn:active, fieldset[disabled] .grey-cascade.btn.active {
    background-color: #95A5A6; }
  .grey-cascade.btn .badge {
    background-color: #ffffff;
    color:            #95a5a6;
  }

/* Button Strip */
.btn.grey-cascade-stripe {
  border-left: 3px solid #95A5A6; }

/* Portlet */
.portlet > .portlet-body.grey-cascade, .portlet.grey-cascade {
  background-color: #95A5A6; }

.portlet.solid.grey-cascade > .portlet-title, .portlet.solid.grey-cascade > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.grey-cascade > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-cascade > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.grey-cascade > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-cascade > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-cascade > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-cascade > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-cascade > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-cascade > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-cascade {
  border: 1px solid #b1bdbd;
  border-top: 0; }
  .portlet.box.grey-cascade > .portlet-title {
    background-color: #95A5A6; }
    .portlet.box.grey-cascade > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.grey-cascade > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.grey-cascade > .portlet-title > .actions .btn-default {
      border: 1px solid #d2d9d9;
      background: transparent !important;
      background-color: transparent !important;
      color: #e0e5e5; }
      .portlet.box.grey-cascade > .portlet-title > .actions .btn-default > i {
        color: #e8ecec; }
      .portlet.box.grey-cascade > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-cascade > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-cascade > .portlet-title > .actions .btn-default:active, .portlet.box.grey-cascade > .portlet-title > .actions .btn-default.active {
        border: 1px solid #eef0f0;
        color: #fcfcfc; }

/* Statistic Block */
.dashboard-stat.grey-cascade {
  background-color: #95A5A6; }
  .dashboard-stat.grey-cascade.dashboard-stat-light:hover {
    background-color: #8a9c9d; }
  .dashboard-stat.grey-cascade .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-cascade .details .number {
    color: #FFFFFF; }
  .dashboard-stat.grey-cascade .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-cascade .more {
    background-color: #8a9c9d;
    color:            #ffffff;
  }

/* General Element */
.bg-grey-cascade {
  border-color: #95A5A6 !important;
  background-color: #95A5A6 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-grey-cascade {
  color: #95A5A6 !important; }

.progress-bar.grey-cascade {
  background: #95A5A6 !important;
  color: #FFFFFF !important; }

/***
Grey Silver
***/
/* Button */
.grey-silver.btn {
  background-color: #bfbfbf;
  color:            #fafcfb;
}
  .grey-silver.btn:hover, .grey-silver.btn:focus, .grey-silver.btn:active, .grey-silver.btn.active {
    background-color: #adadad;
    color:            #fafcfb;
  }
  .open .grey-silver.btn.dropdown-toggle {
    background-color: #adadad;
    color:            #fafcfb;
  }
  .grey-silver.btn:active, .grey-silver.btn.active {
    background-color: #a0a0a0;
    background-image: none;
  }
    .grey-silver.btn:active:hover, .grey-silver.btn.active:hover {
      background-color: #a6a6a6; }
  .open .grey-silver.btn.dropdown-toggle {
    background-image: none; }
  .grey-silver.btn.disabled, .grey-silver.btn.disabled:hover, .grey-silver.btn.disabled:focus, .grey-silver.btn.disabled:active, .grey-silver.btn.disabled.active, .grey-silver.btn[disabled], .grey-silver.btn[disabled]:hover, .grey-silver.btn[disabled]:focus, .grey-silver.btn[disabled]:active, .grey-silver.btn[disabled].active, fieldset[disabled] .grey-silver.btn, fieldset[disabled] .grey-silver.btn:hover, fieldset[disabled] .grey-silver.btn:focus, fieldset[disabled] .grey-silver.btn:active, fieldset[disabled] .grey-silver.btn.active {
    background-color: #BFBFBF; }
  .grey-silver.btn .badge {
    background-color: #fafcfb;
    color:            #bfbfbf;
  }

/* Button Strip */
.btn.grey-silver-stripe {
  border-left: 3px solid #BFBFBF; }

/* Portlet */
.portlet > .portlet-body.grey-silver, .portlet.grey-silver {
  background-color: #BFBFBF; }

.portlet.solid.grey-silver > .portlet-title, .portlet.solid.grey-silver > .portlet-body {
  border: 0;
  color: #FAFCFB; }
.portlet.solid.grey-silver > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-silver > .portlet-title > .caption > i {
    color: #FAFCFB; }
.portlet.solid.grey-silver > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-silver > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-silver > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-silver > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-silver > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-silver > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-silver {
  border: 1px solid #d9d9d9;
  border-top: 0; }
  .portlet.box.grey-silver > .portlet-title {
    background-color: #BFBFBF; }
    .portlet.box.grey-silver > .portlet-title > .caption {
      color: #FAFCFB; }
      .portlet.box.grey-silver > .portlet-title > .caption > i {
        color: #FAFCFB; }
    .portlet.box.grey-silver > .portlet-title > .actions .btn-default {
      border: 1px solid #f7f7f7;
      background: transparent !important;
      background-color: transparent !important;
      color: white; }
      .portlet.box.grey-silver > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey-silver > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-silver > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-silver > .portlet-title > .actions .btn-default:active, .portlet.box.grey-silver > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-silver {
  background-color: #BFBFBF; }
  .dashboard-stat.grey-silver.dashboard-stat-light:hover {
    background-color: #b5b5b5; }
  .dashboard-stat.grey-silver .visual > i {
    color: #FAFCFB;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-silver .details .number {
    color: #FAFCFB; }
  .dashboard-stat.grey-silver .details .desc {
    color: #FAFCFB;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-silver .more {
    background-color: #b5b5b5;
    color:            #fafcfb;
  }

/* General Element */
.bg-grey-silver {
  border-color: #BFBFBF !important;
  background-color: #BFBFBF !important;
  background-image: none !important;
  color: #FAFCFB !important; }

/* General Text & Icon Font Colors */
.font-grey-silver {
  color: #BFBFBF !important; }

.progress-bar.grey-silver {
  background: #BFBFBF !important;
  color: #FAFCFB !important; }

/***
Grey Salsa
***/
/* Button */
.grey-salsa.btn {
  background-color: #acb5c3;
  color:            #fafcfb;
}
  .grey-salsa.btn:hover, .grey-salsa.btn:focus, .grey-salsa.btn:active, .grey-salsa.btn.active {
    background-color: #97a3b4;
    color:            #fafcfb;
  }
  .open .grey-salsa.btn.dropdown-toggle {
    background-color: #97a3b4;
    color:            #fafcfb;
  }
  .grey-salsa.btn:active, .grey-salsa.btn.active {
    background-color: #8895a9;
    background-image: none;
  }
    .grey-salsa.btn:active:hover, .grey-salsa.btn.active:hover {
      background-color: #8e9bae; }
  .open .grey-salsa.btn.dropdown-toggle {
    background-image: none; }
  .grey-salsa.btn.disabled, .grey-salsa.btn.disabled:hover, .grey-salsa.btn.disabled:focus, .grey-salsa.btn.disabled:active, .grey-salsa.btn.disabled.active, .grey-salsa.btn[disabled], .grey-salsa.btn[disabled]:hover, .grey-salsa.btn[disabled]:focus, .grey-salsa.btn[disabled]:active, .grey-salsa.btn[disabled].active, fieldset[disabled] .grey-salsa.btn, fieldset[disabled] .grey-salsa.btn:hover, fieldset[disabled] .grey-salsa.btn:focus, fieldset[disabled] .grey-salsa.btn:active, fieldset[disabled] .grey-salsa.btn.active {
    background-color: #ACB5C3; }
  .grey-salsa.btn .badge {
    background-color: #fafcfb;
    color:            #acb5c3;
  }

/* Button Strip */
.btn.grey-salsa-stripe {
  border-left: 3px solid #ACB5C3; }

/* Portlet */
.portlet > .portlet-body.grey-salsa, .portlet.grey-salsa {
  background-color: #ACB5C3; }

.portlet.solid.grey-salsa > .portlet-title, .portlet.solid.grey-salsa > .portlet-body {
  border: 0;
  color: #FAFCFB; }
.portlet.solid.grey-salsa > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-salsa > .portlet-title > .caption > i {
    color: #FAFCFB; }
.portlet.solid.grey-salsa > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-salsa > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-salsa > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-salsa > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-salsa > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-salsa > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-salsa {
  border: 1px solid #cacfd8;
  border-top: 0; }
  .portlet.box.grey-salsa > .portlet-title {
    background-color: #ACB5C3; }
    .portlet.box.grey-salsa > .portlet-title > .caption {
      color: #FAFCFB; }
      .portlet.box.grey-salsa > .portlet-title > .caption > i {
        color: #FAFCFB; }
    .portlet.box.grey-salsa > .portlet-title > .actions .btn-default {
      border: 1px solid #edeff2;
      background: transparent !important;
      background-color: transparent !important;
      color: #fcfcfd; }
      .portlet.box.grey-salsa > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey-salsa > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-salsa > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-salsa > .portlet-title > .actions .btn-default:active, .portlet.box.grey-salsa > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-salsa {
  background-color: #ACB5C3; }
  .dashboard-stat.grey-salsa.dashboard-stat-light:hover {
    background-color: #a0aaba; }
  .dashboard-stat.grey-salsa .visual > i {
    color: #FAFCFB;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-salsa .details .number {
    color: #FAFCFB; }
  .dashboard-stat.grey-salsa .details .desc {
    color: #FAFCFB;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-salsa .more {
    background-color: #a0aaba;
    color:            #fafcfb;
  }

/* General Element */
.bg-grey-salsa {
  border-color: #ACB5C3 !important;
  background-color: #ACB5C3 !important;
  background-image: none !important;
  color: #FAFCFB !important; }

/* General Text & Icon Font Colors */
.font-grey-salsa {
  color: #ACB5C3 !important; }

.progress-bar.grey-salsa {
  background: #ACB5C3 !important;
  color: #FAFCFB !important; }

/***
Grey Salt
***/
/* Button */
.grey-salt.btn {
  background-color: #bfcad1;
  color:            #fafcfb;
}
  .grey-salt.btn:hover, .grey-salt.btn:focus, .grey-salt.btn:active, .grey-salt.btn.active {
    background-color: #aab9c2;
    color:            #fafcfb;
  }
  .open .grey-salt.btn.dropdown-toggle {
    background-color: #aab9c2;
    color:            #fafcfb;
  }
  .grey-salt.btn:active, .grey-salt.btn.active {
    background-color: #9badb7;
    background-image: none;
  }
    .grey-salt.btn:active:hover, .grey-salt.btn.active:hover {
      background-color: #a1b1bc; }
  .open .grey-salt.btn.dropdown-toggle {
    background-image: none; }
  .grey-salt.btn.disabled, .grey-salt.btn.disabled:hover, .grey-salt.btn.disabled:focus, .grey-salt.btn.disabled:active, .grey-salt.btn.disabled.active, .grey-salt.btn[disabled], .grey-salt.btn[disabled]:hover, .grey-salt.btn[disabled]:focus, .grey-salt.btn[disabled]:active, .grey-salt.btn[disabled].active, fieldset[disabled] .grey-salt.btn, fieldset[disabled] .grey-salt.btn:hover, fieldset[disabled] .grey-salt.btn:focus, fieldset[disabled] .grey-salt.btn:active, fieldset[disabled] .grey-salt.btn.active {
    background-color: #bfcad1; }
  .grey-salt.btn .badge {
    background-color: #fafcfb;
    color:            #bfcad1;
  }

/* Button Strip */
.btn.grey-salt-stripe {
  border-left: 3px solid #bfcad1; }

/* Portlet */
.portlet > .portlet-body.grey-salt, .portlet.grey-salt {
  background-color: #bfcad1; }

.portlet.solid.grey-salt > .portlet-title, .portlet.solid.grey-salt > .portlet-body {
  border: 0;
  color: #FAFCFB; }
.portlet.solid.grey-salt > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-salt > .portlet-title > .caption > i {
    color: #FAFCFB; }
.portlet.solid.grey-salt > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-salt > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-salt > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-salt > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-salt > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-salt > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-salt {
  border: 1px solid #dde3e6;
  border-top: 0; }
  .portlet.box.grey-salt > .portlet-title {
    background-color: #bfcad1; }
    .portlet.box.grey-salt > .portlet-title > .caption {
      color: #FAFCFB; }
      .portlet.box.grey-salt > .portlet-title > .caption > i {
        color: #FAFCFB; }
    .portlet.box.grey-salt > .portlet-title > .actions .btn-default {
      border: 1px solid white;
      background: transparent !important;
      background-color: transparent !important;
      color: white; }
      .portlet.box.grey-salt > .portlet-title > .actions .btn-default > i {
        color: white; }
      .portlet.box.grey-salt > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-salt > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-salt > .portlet-title > .actions .btn-default:active, .portlet.box.grey-salt > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-salt {
  background-color: #bfcad1; }
  .dashboard-stat.grey-salt.dashboard-stat-light:hover {
    background-color: #b3c0c8; }
  .dashboard-stat.grey-salt .visual > i {
    color: #FAFCFB;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-salt .details .number {
    color: #FAFCFB; }
  .dashboard-stat.grey-salt .details .desc {
    color: #FAFCFB;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-salt .more {
    background-color: #b3c0c8;
    color:            #fafcfb;
  }

/* General Element */
.bg-grey-salt {
  border-color: #bfcad1 !important;
  background-color: #bfcad1 !important;
  background-image: none !important;
  color: #FAFCFB !important; }

/* General Text & Icon Font Colors */
.font-grey-salt {
  color: #bfcad1 !important; }

.progress-bar.grey-salt {
  background: #bfcad1 !important;
  color: #FAFCFB !important; }

/***
Grey Mint
***/
/* Button */
.grey-mint.btn {
  background-color: #9eacb4;
  color:            #fafcfb;
}
  .grey-mint.btn:hover, .grey-mint.btn:focus, .grey-mint.btn:active, .grey-mint.btn.active {
    background-color: #8a9ba4;
    color:            #fafcfb;
  }
  .open .grey-mint.btn.dropdown-toggle {
    background-color: #8a9ba4;
    color:            #fafcfb;
  }
  .grey-mint.btn:active, .grey-mint.btn.active {
    background-color: #7b8e99;
    background-image: none;
  }
    .grey-mint.btn:active:hover, .grey-mint.btn.active:hover {
      background-color: #81939e; }
  .open .grey-mint.btn.dropdown-toggle {
    background-image: none; }
  .grey-mint.btn.disabled, .grey-mint.btn.disabled:hover, .grey-mint.btn.disabled:focus, .grey-mint.btn.disabled:active, .grey-mint.btn.disabled.active, .grey-mint.btn[disabled], .grey-mint.btn[disabled]:hover, .grey-mint.btn[disabled]:focus, .grey-mint.btn[disabled]:active, .grey-mint.btn[disabled].active, fieldset[disabled] .grey-mint.btn, fieldset[disabled] .grey-mint.btn:hover, fieldset[disabled] .grey-mint.btn:focus, fieldset[disabled] .grey-mint.btn:active, fieldset[disabled] .grey-mint.btn.active {
    background-color: #9eacb4; }
  .grey-mint.btn .badge {
    background-color: #fafcfb;
    color:            #9eacb4;
  }

/* Button Strip */
.btn.grey-mint-stripe {
  border-left: 3px solid #9eacb4; }

/* Portlet */
.portlet > .portlet-body.grey-mint, .portlet.grey-mint {
  background-color: #9eacb4; }

.portlet.solid.grey-mint > .portlet-title, .portlet.solid.grey-mint > .portlet-body {
  border: 0;
  color: #FAFCFB; }
.portlet.solid.grey-mint > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.grey-mint > .portlet-title > .caption > i {
    color: #FAFCFB; }
.portlet.solid.grey-mint > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.grey-mint > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.grey-mint > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.grey-mint > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.grey-mint > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.grey-mint > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.grey-mint {
  border: 1px solid #bbc5ca;
  border-top: 0; }
  .portlet.box.grey-mint > .portlet-title {
    background-color: #9eacb4; }
    .portlet.box.grey-mint > .portlet-title > .caption {
      color: #FAFCFB; }
      .portlet.box.grey-mint > .portlet-title > .caption > i {
        color: #FAFCFB; }
    .portlet.box.grey-mint > .portlet-title > .actions .btn-default {
      border: 1px solid #dde2e5;
      background: transparent !important;
      background-color: transparent !important;
      color: #eceef0; }
      .portlet.box.grey-mint > .portlet-title > .actions .btn-default > i {
        color: #f4f6f7; }
      .portlet.box.grey-mint > .portlet-title > .actions .btn-default:hover, .portlet.box.grey-mint > .portlet-title > .actions .btn-default:focus, .portlet.box.grey-mint > .portlet-title > .actions .btn-default:active, .portlet.box.grey-mint > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fafbfb;
        color: white; }

/* Statistic Block */
.dashboard-stat.grey-mint {
  background-color: #9eacb4; }
  .dashboard-stat.grey-mint.dashboard-stat-light:hover {
    background-color: #92a2ab; }
  .dashboard-stat.grey-mint .visual > i {
    color: #FAFCFB;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.grey-mint .details .number {
    color: #FAFCFB; }
  .dashboard-stat.grey-mint .details .desc {
    color: #FAFCFB;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.grey-mint .more {
    background-color: #92a2ab;
    color:            #fafcfb;
  }

/* General Element */
.bg-grey-mint {
  border-color: #9eacb4 !important;
  background-color: #9eacb4 !important;
  background-image: none !important;
  color: #FAFCFB !important; }

/* General Text & Icon Font Colors */
.font-grey-mint {
  color: #9eacb4 !important; }

.progress-bar.grey-mint {
  background: #9eacb4 !important;
  color: #FAFCFB !important; }

/***********
Red Colors
************/
/***
Red Default
***/
/* Button */
.red.btn {
  background-color: #cb5a5e;
  color:            #ffffff;
}
  .red.btn:hover, .red.btn:focus, .red.btn:active, .red.btn.active {
    background-color: #c23f44;
    color:            #ffffff;
  }
  .open .red.btn.dropdown-toggle {
    background-color: #c23f44;
    color:            #ffffff;
  }
  .red.btn:active, .red.btn.active {
    background-color: #b0383c;
    background-image: none;
  }
    .red.btn:active:hover, .red.btn.active:hover {
      background-color: #b83a3e; }
  .open .red.btn.dropdown-toggle {
    background-image: none; }
  .red.btn.disabled, .red.btn.disabled:hover, .red.btn.disabled:focus, .red.btn.disabled:active, .red.btn.disabled.active, .red.btn[disabled], .red.btn[disabled]:hover, .red.btn[disabled]:focus, .red.btn[disabled]:active, .red.btn[disabled].active, fieldset[disabled] .red.btn, fieldset[disabled] .red.btn:hover, fieldset[disabled] .red.btn:focus, fieldset[disabled] .red.btn:active, fieldset[disabled] .red.btn.active {
    background-color: #cb5a5e; }
  .red.btn .badge {
    background-color: #ffffff;
    color:            #cb5a5e;
  }

/* Button Strip */
.btn.red-stripe {
  border-left: 3px solid #cb5a5e; }

/* Portlet */
.portlet > .portlet-body.red, .portlet.red {
  background-color: #cb5a5e; }

.portlet.solid.red > .portlet-title, .portlet.solid.red > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red {
  border: 1px solid #d78184;
  border-top: 0; }
  .portlet.box.red > .portlet-title {
    background-color: #cb5a5e; }
    .portlet.box.red > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red > .portlet-title > .actions .btn-default {
      border: 1px solid #e6afb1;
      background: transparent !important;
      background-color: transparent !important;
      color: #ecc3c4; }
      .portlet.box.red > .portlet-title > .actions .btn-default > i {
        color: #f0ced0; }
      .portlet.box.red > .portlet-title > .actions .btn-default:hover, .portlet.box.red > .portlet-title > .actions .btn-default:focus, .portlet.box.red > .portlet-title > .actions .btn-default:active, .portlet.box.red > .portlet-title > .actions .btn-default.active {
        border: 1px solid #f2d6d7;
        color: #f8e9ea; }

/* Statistic Block */
.dashboard-stat.red {
  background-color: #cb5a5e; }
  .dashboard-stat.red.dashboard-stat-light:hover {
    background-color: #c64a4f; }
  .dashboard-stat.red .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red .more {
    background-color: #c64a4f;
    color:            #ffffff;
  }

/* General Element */
.bg-red {
  border-color: #cb5a5e !important;
  background-color: #cb5a5e !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red {
  color: #cb5a5e !important; }

.progress-bar.red {
  background: #cb5a5e !important;
  color: #FFFFFF !important; }

/***
Red Pink
***/
/* Button */
.red-pink.btn {
  background-color: #e08283;
  color:            #ffffff;
}
  .red-pink.btn:hover, .red-pink.btn:focus, .red-pink.btn:active, .red-pink.btn.active {
    background-color: #d96567;
    color:            #ffffff;
  }
  .open .red-pink.btn.dropdown-toggle {
    background-color: #d96567;
    color:            #ffffff;
  }
  .red-pink.btn:active, .red-pink.btn.active {
    background-color: #d45152;
    background-image: none;
  }
    .red-pink.btn:active:hover, .red-pink.btn.active:hover {
      background-color: #d6595a; }
  .open .red-pink.btn.dropdown-toggle {
    background-image: none; }
  .red-pink.btn.disabled, .red-pink.btn.disabled:hover, .red-pink.btn.disabled:focus, .red-pink.btn.disabled:active, .red-pink.btn.disabled.active, .red-pink.btn[disabled], .red-pink.btn[disabled]:hover, .red-pink.btn[disabled]:focus, .red-pink.btn[disabled]:active, .red-pink.btn[disabled].active, fieldset[disabled] .red-pink.btn, fieldset[disabled] .red-pink.btn:hover, fieldset[disabled] .red-pink.btn:focus, fieldset[disabled] .red-pink.btn:active, fieldset[disabled] .red-pink.btn.active {
    background-color: #E08283; }
  .red-pink.btn .badge {
    background-color: #ffffff;
    color:            #e08283;
  }

/* Button Strip */
.btn.red-pink-stripe {
  border-left: 3px solid #E08283; }

/* Portlet */
.portlet > .portlet-body.red-pink, .portlet.red-pink {
  background-color: #E08283; }

.portlet.solid.red-pink > .portlet-title, .portlet.solid.red-pink > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-pink > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-pink > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-pink > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-pink > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-pink > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-pink > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-pink > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-pink > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-pink {
  border: 1px solid #eaabac;
  border-top: 0; }
  .portlet.box.red-pink > .portlet-title {
    background-color: #E08283; }
    .portlet.box.red-pink > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-pink > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-pink > .portlet-title > .actions .btn-default {
      border: 1px solid #f6dcdc;
      background: transparent !important;
      background-color: transparent !important;
      color: #fbf0f0; }
      .portlet.box.red-pink > .portlet-title > .actions .btn-default > i {
        color: #fefdfd; }
      .portlet.box.red-pink > .portlet-title > .actions .btn-default:hover, .portlet.box.red-pink > .portlet-title > .actions .btn-default:focus, .portlet.box.red-pink > .portlet-title > .actions .btn-default:active, .portlet.box.red-pink > .portlet-title > .actions .btn-default.active {
        border: 1px solid white;
        color: white; }

/* Statistic Block */
.dashboard-stat.red-pink {
  background-color: #E08283; }
  .dashboard-stat.red-pink.dashboard-stat-light:hover {
    background-color: #dc7273; }
  .dashboard-stat.red-pink .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-pink .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-pink .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-pink .more {
    background-color: #dc7273;
    color:            #ffffff;
  }

/* General Element */
.bg-red-pink {
  border-color: #E08283 !important;
  background-color: #E08283 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-pink {
  color: #E08283 !important; }

.progress-bar.red-pink {
  background: #E08283 !important;
  color: #FFFFFF !important; }

/***
Red Sunglo
***/
/* Button */
.red-sunglo.btn {
  background-color: #e26a6a;
  color:            #ffffff;
}
  .red-sunglo.btn:hover, .red-sunglo.btn:focus, .red-sunglo.btn:active, .red-sunglo.btn.active {
    background-color: #dc4c4c;
    color:            #ffffff;
  }
  .open .red-sunglo.btn.dropdown-toggle {
    background-color: #dc4c4c;
    color:            #ffffff;
  }
  .red-sunglo.btn:active, .red-sunglo.btn.active {
    background-color: #d83737;
    background-image: none;
  }
    .red-sunglo.btn:active:hover, .red-sunglo.btn.active:hover {
      background-color: #da3f3f; }
  .open .red-sunglo.btn.dropdown-toggle {
    background-image: none; }
  .red-sunglo.btn.disabled, .red-sunglo.btn.disabled:hover, .red-sunglo.btn.disabled:focus, .red-sunglo.btn.disabled:active, .red-sunglo.btn.disabled.active, .red-sunglo.btn[disabled], .red-sunglo.btn[disabled]:hover, .red-sunglo.btn[disabled]:focus, .red-sunglo.btn[disabled]:active, .red-sunglo.btn[disabled].active, fieldset[disabled] .red-sunglo.btn, fieldset[disabled] .red-sunglo.btn:hover, fieldset[disabled] .red-sunglo.btn:focus, fieldset[disabled] .red-sunglo.btn:active, fieldset[disabled] .red-sunglo.btn.active {
    background-color: #E26A6A; }
  .red-sunglo.btn .badge {
    background-color: #ffffff;
    color:            #e26a6a;
  }

/* Button Strip */
.btn.red-sunglo-stripe {
  border-left: 3px solid #E26A6A; }

/* Portlet */
.portlet > .portlet-body.red-sunglo, .portlet.red-sunglo {
  background-color: #E26A6A; }

.portlet.solid.red-sunglo > .portlet-title, .portlet.solid.red-sunglo > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-sunglo > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-sunglo > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-sunglo > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-sunglo > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-sunglo > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-sunglo > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-sunglo > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-sunglo > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-sunglo {
  border: 1px solid #ea9595;
  border-top: 0; }
  .portlet.box.red-sunglo > .portlet-title {
    background-color: #E26A6A; }
    .portlet.box.red-sunglo > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-sunglo > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-sunglo > .portlet-title > .actions .btn-default {
      border: 1px solid #f4c8c8;
      background: transparent !important;
      background-color: transparent !important;
      color: #f8dddd; }
      .portlet.box.red-sunglo > .portlet-title > .actions .btn-default > i {
        color: #fbeaea; }
      .portlet.box.red-sunglo > .portlet-title > .actions .btn-default:hover, .portlet.box.red-sunglo > .portlet-title > .actions .btn-default:focus, .portlet.box.red-sunglo > .portlet-title > .actions .btn-default:active, .portlet.box.red-sunglo > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fdf3f3;
        color: white; }

/* Statistic Block */
.dashboard-stat.red-sunglo {
  background-color: #E26A6A; }
  .dashboard-stat.red-sunglo.dashboard-stat-light:hover {
    background-color: #df5959; }
  .dashboard-stat.red-sunglo .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-sunglo .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-sunglo .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-sunglo .more {
    background-color: #df5959;
    color:            #ffffff;
  }

/* General Element */
.bg-red-sunglo {
  border-color: #E26A6A !important;
  background-color: #E26A6A !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-sunglo {
  color: #E26A6A !important; }

.progress-bar.red-sunglo {
  background: #E26A6A !important;
  color: #FFFFFF !important; }

/***
Red Intense
***/
/* Button */
.red-intense.btn {
  background-color: #e35b5a;
  color:            #ffffff;
}
  .red-intense.btn:hover, .red-intense.btn:focus, .red-intense.btn:active, .red-intense.btn.active {
    background-color: #de3d3b;
    color:            #ffffff;
  }
  .open .red-intense.btn.dropdown-toggle {
    background-color: #de3d3b;
    color:            #ffffff;
  }
  .red-intense.btn:active, .red-intense.btn.active {
    background-color: #da2726;
    background-image: none;
  }
    .red-intense.btn:active:hover, .red-intense.btn.active:hover {
      background-color: #dc302e; }
  .open .red-intense.btn.dropdown-toggle {
    background-image: none; }
  .red-intense.btn.disabled, .red-intense.btn.disabled:hover, .red-intense.btn.disabled:focus, .red-intense.btn.disabled:active, .red-intense.btn.disabled.active, .red-intense.btn[disabled], .red-intense.btn[disabled]:hover, .red-intense.btn[disabled]:focus, .red-intense.btn[disabled]:active, .red-intense.btn[disabled].active, fieldset[disabled] .red-intense.btn, fieldset[disabled] .red-intense.btn:hover, fieldset[disabled] .red-intense.btn:focus, fieldset[disabled] .red-intense.btn:active, fieldset[disabled] .red-intense.btn.active {
    background-color: #e35b5a; }
  .red-intense.btn .badge {
    background-color: #ffffff;
    color:            #e35b5a;
  }

/* Button Strip */
.btn.red-intense-stripe {
  border-left: 3px solid #e35b5a; }

/* Portlet */
.portlet > .portlet-body.red-intense, .portlet.red-intense {
  background-color: #e35b5a; }

.portlet.solid.red-intense > .portlet-title, .portlet.solid.red-intense > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-intense > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-intense > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-intense > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-intense > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-intense > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-intense > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-intense > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-intense > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-intense {
  border: 1px solid #ea8686;
  border-top: 0; }
  .portlet.box.red-intense > .portlet-title {
    background-color: #e35b5a; }
    .portlet.box.red-intense > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-intense > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-intense > .portlet-title > .actions .btn-default {
      border: 1px solid #f3baba;
      background: transparent !important;
      background-color: transparent !important;
      color: #f7d0d0; }
      .portlet.box.red-intense > .portlet-title > .actions .btn-default > i {
        color: #f9dddd; }
      .portlet.box.red-intense > .portlet-title > .actions .btn-default:hover, .portlet.box.red-intense > .portlet-title > .actions .btn-default:focus, .portlet.box.red-intense > .portlet-title > .actions .btn-default:active, .portlet.box.red-intense > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fbe6e6;
        color: #fefbfb; }

/* Statistic Block */
.dashboard-stat.red-intense {
  background-color: #e35b5a; }
  .dashboard-stat.red-intense.dashboard-stat-light:hover {
    background-color: #e04a49; }
  .dashboard-stat.red-intense .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-intense .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-intense .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-intense .more {
    background-color: #e04a49;
    color:            #ffffff;
  }

/* General Element */
.bg-red-intense {
  border-color: #e35b5a !important;
  background-color: #e35b5a !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-intense {
  color: #e35b5a !important; }

.progress-bar.red-intense {
  background: #e35b5a !important;
  color: #FFFFFF !important; }

/***
Red Thunderbird
***/
/* Button */
.red-thunderbird.btn {
  background-color: #d91e18;
  color:            #ffffff;
}
  .red-thunderbird.btn:hover, .red-thunderbird.btn:focus, .red-thunderbird.btn:active, .red-thunderbird.btn.active {
    background-color: #b91a14;
    color:            #ffffff;
  }
  .open .red-thunderbird.btn.dropdown-toggle {
    background-color: #b91a14;
    color:            #ffffff;
  }
  .red-thunderbird.btn:active, .red-thunderbird.btn.active {
    background-color: #a21612;
    background-image: none;
  }
    .red-thunderbird.btn:active:hover, .red-thunderbird.btn.active:hover {
      background-color: #ab1813; }
  .open .red-thunderbird.btn.dropdown-toggle {
    background-image: none; }
  .red-thunderbird.btn.disabled, .red-thunderbird.btn.disabled:hover, .red-thunderbird.btn.disabled:focus, .red-thunderbird.btn.disabled:active, .red-thunderbird.btn.disabled.active, .red-thunderbird.btn[disabled], .red-thunderbird.btn[disabled]:hover, .red-thunderbird.btn[disabled]:focus, .red-thunderbird.btn[disabled]:active, .red-thunderbird.btn[disabled].active, fieldset[disabled] .red-thunderbird.btn, fieldset[disabled] .red-thunderbird.btn:hover, fieldset[disabled] .red-thunderbird.btn:focus, fieldset[disabled] .red-thunderbird.btn:active, fieldset[disabled] .red-thunderbird.btn.active {
    background-color: #D91E18; }
  .red-thunderbird.btn .badge {
    background-color: #ffffff;
    color:            #d91e18;
  }

/* Button Strip */
.btn.red-thunderbird-stripe {
  border-left: 3px solid #D91E18; }

/* Portlet */
.portlet > .portlet-body.red-thunderbird, .portlet.red-thunderbird {
  background-color: #D91E18; }

.portlet.solid.red-thunderbird > .portlet-title, .portlet.solid.red-thunderbird > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-thunderbird > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-thunderbird > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-thunderbird > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-thunderbird {
  border: 1px solid #e9403b;
  border-top: 0; }
  .portlet.box.red-thunderbird > .portlet-title {
    background-color: #D91E18; }
    .portlet.box.red-thunderbird > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-thunderbird > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default {
      border: 1px solid #ef7672;
      background: transparent !important;
      background-color: transparent !important;
      color: #f28c89; }
      .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default > i {
        color: #f39997; }
      .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default:hover, .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default:focus, .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default:active, .portlet.box.red-thunderbird > .portlet-title > .actions .btn-default.active {
        border: 1px solid #f4a2a0;
        color: #f7b9b7; }

/* Statistic Block */
.dashboard-stat.red-thunderbird {
  background-color: #D91E18; }
  .dashboard-stat.red-thunderbird.dashboard-stat-light:hover {
    background-color: #c71b16; }
  .dashboard-stat.red-thunderbird .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-thunderbird .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-thunderbird .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-thunderbird .more {
    background-color: #c71b16;
    color:            #ffffff;
  }

/* General Element */
.bg-red-thunderbird {
  border-color: #D91E18 !important;
  background-color: #D91E18 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-thunderbird {
  color: #D91E18 !important; }

.progress-bar.red-thunderbird {
  background: #D91E18 !important;
  color: #FFFFFF !important; }

/***
Red Flamingo
***/
/* Button */
.red-flamingo.btn {
  background-color: #ef4836;
  color:            #ffffff;
}
  .red-flamingo.btn:hover, .red-flamingo.btn:focus, .red-flamingo.btn:active, .red-flamingo.btn.active {
    background-color: #ec2a15;
    color:            #ffffff;
  }
  .open .red-flamingo.btn.dropdown-toggle {
    background-color: #ec2a15;
    color:            #ffffff;
  }
  .red-flamingo.btn:active, .red-flamingo.btn.active {
    background-color: #d72411;
    background-image: none;
  }
    .red-flamingo.btn:active:hover, .red-flamingo.btn.active:hover {
      background-color: #e02612; }
  .open .red-flamingo.btn.dropdown-toggle {
    background-image: none; }
  .red-flamingo.btn.disabled, .red-flamingo.btn.disabled:hover, .red-flamingo.btn.disabled:focus, .red-flamingo.btn.disabled:active, .red-flamingo.btn.disabled.active, .red-flamingo.btn[disabled], .red-flamingo.btn[disabled]:hover, .red-flamingo.btn[disabled]:focus, .red-flamingo.btn[disabled]:active, .red-flamingo.btn[disabled].active, fieldset[disabled] .red-flamingo.btn, fieldset[disabled] .red-flamingo.btn:hover, fieldset[disabled] .red-flamingo.btn:focus, fieldset[disabled] .red-flamingo.btn:active, fieldset[disabled] .red-flamingo.btn.active {
    background-color: #EF4836; }
  .red-flamingo.btn .badge {
    background-color: #ffffff;
    color:            #ef4836;
  }

/* Button Strip */
.btn.red-flamingo-stripe {
  border-left: 3px solid #EF4836; }

/* Portlet */
.portlet > .portlet-body.red-flamingo, .portlet.red-flamingo {
  background-color: #EF4836; }

.portlet.solid.red-flamingo > .portlet-title, .portlet.solid.red-flamingo > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-flamingo > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-flamingo > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-flamingo > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-flamingo > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-flamingo > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-flamingo > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-flamingo > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-flamingo > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-flamingo {
  border: 1px solid #f37365;
  border-top: 0; }
  .portlet.box.red-flamingo > .portlet-title {
    background-color: #EF4836; }
    .portlet.box.red-flamingo > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-flamingo > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-flamingo > .portlet-title > .actions .btn-default {
      border: 1px solid #f7a79e;
      background: transparent !important;
      background-color: transparent !important;
      color: #f9bcb6; }
      .portlet.box.red-flamingo > .portlet-title > .actions .btn-default > i {
        color: #fac9c4; }
      .portlet.box.red-flamingo > .portlet-title > .actions .btn-default:hover, .portlet.box.red-flamingo > .portlet-title > .actions .btn-default:focus, .portlet.box.red-flamingo > .portlet-title > .actions .btn-default:active, .portlet.box.red-flamingo > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fbd2cd;
        color: #fde7e5; }

/* Statistic Block */
.dashboard-stat.red-flamingo {
  background-color: #EF4836; }
  .dashboard-stat.red-flamingo.dashboard-stat-light:hover {
    background-color: #ed3723; }
  .dashboard-stat.red-flamingo .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-flamingo .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-flamingo .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-flamingo .more {
    background-color: #ed3723;
    color:            #ffffff;
  }

/* General Element */
.bg-red-flamingo {
  border-color: #EF4836 !important;
  background-color: #EF4836 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-flamingo {
  color: #EF4836 !important; }

.progress-bar.red-flamingo {
  background: #EF4836 !important;
  color: #FFFFFF !important; }

/***
Red Flamingo
***/
/* Button */
.red-soft.btn {
  background-color: #d05454;
  color:            #ffffff;
}
  .red-soft.btn:hover, .red-soft.btn:focus, .red-soft.btn:active, .red-soft.btn.active {
    background-color: #c83838;
    color:            #ffffff;
  }
  .open .red-soft.btn.dropdown-toggle {
    background-color: #c83838;
    color:            #ffffff;
  }
  .red-soft.btn:active, .red-soft.btn.active {
    background-color: #b53232;
    background-image: none;
  }
    .red-soft.btn:active:hover, .red-soft.btn.active:hover {
      background-color: #bd3434; }
  .open .red-soft.btn.dropdown-toggle {
    background-image: none; }
  .red-soft.btn.disabled, .red-soft.btn.disabled:hover, .red-soft.btn.disabled:focus, .red-soft.btn.disabled:active, .red-soft.btn.disabled.active, .red-soft.btn[disabled], .red-soft.btn[disabled]:hover, .red-soft.btn[disabled]:focus, .red-soft.btn[disabled]:active, .red-soft.btn[disabled].active, fieldset[disabled] .red-soft.btn, fieldset[disabled] .red-soft.btn:hover, fieldset[disabled] .red-soft.btn:focus, fieldset[disabled] .red-soft.btn:active, fieldset[disabled] .red-soft.btn.active {
    background-color: #d05454; }
  .red-soft.btn .badge {
    background-color: #ffffff;
    color:            #d05454;
  }

/* Button Strip */
.btn.red-soft-stripe {
  border-left: 3px solid #d05454; }

/* Portlet */
.portlet > .portlet-body.red-soft, .portlet.red-soft {
  background-color: #d05454; }

.portlet.solid.red-soft > .portlet-title, .portlet.solid.red-soft > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-soft > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-soft > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-soft > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-soft > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-soft > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-soft > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-soft > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-soft > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-soft {
  border: 1px solid #db7c7c;
  border-top: 0; }
  .portlet.box.red-soft > .portlet-title {
    background-color: #d05454; }
    .portlet.box.red-soft > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-soft > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-soft > .portlet-title > .actions .btn-default {
      border: 1px solid #e8acac;
      background: transparent !important;
      background-color: transparent !important;
      color: #eec0c0; }
      .portlet.box.red-soft > .portlet-title > .actions .btn-default > i {
        color: #f1cccc; }
      .portlet.box.red-soft > .portlet-title > .actions .btn-default:hover, .portlet.box.red-soft > .portlet-title > .actions .btn-default:focus, .portlet.box.red-soft > .portlet-title > .actions .btn-default:active, .portlet.box.red-soft > .portlet-title > .actions .btn-default.active {
        border: 1px solid #f3d4d4;
        color: #f9e8e8; }

/* Statistic Block */
.dashboard-stat.red-soft {
  background-color: #d05454; }
  .dashboard-stat.red-soft.dashboard-stat-light:hover {
    background-color: #cc4444; }
  .dashboard-stat.red-soft .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-soft .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-soft .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-soft .more {
    background-color: #cc4444;
    color:            #ffffff;
  }

/* General Element */
.bg-red-soft {
  border-color: #d05454 !important;
  background-color: #d05454 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-soft {
  color: #d05454 !important; }

.progress-bar.red-soft {
  background: #d05454 !important;
  color: #FFFFFF !important; }

/***
Red Haze
***/
/* Button */
.red-haze.btn {
  background-color: #f36a5a;
  color:            #ffffff;
}
  .red-haze.btn:hover, .red-haze.btn:focus, .red-haze.btn:active, .red-haze.btn.active {
    background-color: #f14c39;
    color:            #ffffff;
  }
  .open .red-haze.btn.dropdown-toggle {
    background-color: #f14c39;
    color:            #ffffff;
  }
  .red-haze.btn:active, .red-haze.btn.active {
    background-color: #ef3621;
    background-image: none;
  }
    .red-haze.btn:active:hover, .red-haze.btn.active:hover {
      background-color: #f03f2a; }
  .open .red-haze.btn.dropdown-toggle {
    background-image: none; }
  .red-haze.btn.disabled, .red-haze.btn.disabled:hover, .red-haze.btn.disabled:focus, .red-haze.btn.disabled:active, .red-haze.btn.disabled.active, .red-haze.btn[disabled], .red-haze.btn[disabled]:hover, .red-haze.btn[disabled]:focus, .red-haze.btn[disabled]:active, .red-haze.btn[disabled].active, fieldset[disabled] .red-haze.btn, fieldset[disabled] .red-haze.btn:hover, fieldset[disabled] .red-haze.btn:focus, fieldset[disabled] .red-haze.btn:active, fieldset[disabled] .red-haze.btn.active {
    background-color: #f36a5a; }
  .red-haze.btn .badge {
    background-color: #ffffff;
    color:            #f36a5a;
  }

/* Button Strip */
.btn.red-haze-stripe {
  border-left: 3px solid #f36a5a; }

/* Portlet */
.portlet > .portlet-body.red-haze, .portlet.red-haze {
  background-color: #f36a5a; }

.portlet.solid.red-haze > .portlet-title, .portlet.solid.red-haze > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.red-haze > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.red-haze > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.red-haze > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.red-haze > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.red-haze > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.red-haze > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.red-haze > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.red-haze > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.red-haze {
  border: 1px solid #f6958a;
  border-top: 0; }
  .portlet.box.red-haze > .portlet-title {
    background-color: #f36a5a; }
    .portlet.box.red-haze > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.red-haze > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.red-haze > .portlet-title > .actions .btn-default {
      border: 1px solid #fbc8c3;
      background: transparent !important;
      background-color: transparent !important;
      color: #fcdeda; }
      .portlet.box.red-haze > .portlet-title > .actions .btn-default > i {
        color: #fdebe9; }
      .portlet.box.red-haze > .portlet-title > .actions .btn-default:hover, .portlet.box.red-haze > .portlet-title > .actions .btn-default:focus, .portlet.box.red-haze > .portlet-title > .actions .btn-default:active, .portlet.box.red-haze > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fef3f2;
        color: white; }

/* Statistic Block */
.dashboard-stat.red-haze {
  background-color: #f36a5a; }
  .dashboard-stat.red-haze.dashboard-stat-light:hover {
    background-color: #f25947; }
  .dashboard-stat.red-haze .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.red-haze .details .number {
    color: #FFFFFF; }
  .dashboard-stat.red-haze .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.red-haze .more {
    background-color: #f25947;
    color:            #ffffff;
  }

/* General Element */
.bg-red-haze {
  border-color: #f36a5a !important;
  background-color: #f36a5a !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-red-haze {
  color: #f36a5a !important; }

.progress-bar.red-haze {
  background: #f36a5a !important;
  color: #FFFFFF !important; }

/***********
Yellow Colors
************/
/***
Yellow Default
***/
/* Button */
.yellow.btn {
  background-color: #c49f47;
  color:            #ffffff;
}
  .yellow.btn:hover, .yellow.btn:focus, .yellow.btn:active, .yellow.btn.active {
    background-color: #af8c38;
    color:            #ffffff;
  }
  .open .yellow.btn.dropdown-toggle {
    background-color: #af8c38;
    color:            #ffffff;
  }
  .yellow.btn:active, .yellow.btn.active {
    background-color: #9c7c32;
    background-image: none;
  }
    .yellow.btn:active:hover, .yellow.btn.active:hover {
      background-color: #a48334; }
  .open .yellow.btn.dropdown-toggle {
    background-image: none; }
  .yellow.btn.disabled, .yellow.btn.disabled:hover, .yellow.btn.disabled:focus, .yellow.btn.disabled:active, .yellow.btn.disabled.active, .yellow.btn[disabled], .yellow.btn[disabled]:hover, .yellow.btn[disabled]:focus, .yellow.btn[disabled]:active, .yellow.btn[disabled].active, fieldset[disabled] .yellow.btn, fieldset[disabled] .yellow.btn:hover, fieldset[disabled] .yellow.btn:focus, fieldset[disabled] .yellow.btn:active, fieldset[disabled] .yellow.btn.active {
    background-color: #c49f47; }
  .yellow.btn .badge {
    background-color: #ffffff;
    color:            #c49f47;
  }

/* Button Strip */
.btn.yellow-stripe {
  border-left: 3px solid #c49f47; }

/* Portlet */
.portlet > .portlet-body.yellow, .portlet.yellow {
  background-color: #c49f47; }

.portlet.solid.yellow > .portlet-title, .portlet.solid.yellow > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow {
  border: 1px solid #d0b36e;
  border-top: 0; }
  .portlet.box.yellow > .portlet-title {
    background-color: #c49f47; }
    .portlet.box.yellow > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow > .portlet-title > .actions .btn-default {
      border: 1px solid #dfcb9c;
      background: transparent !important;
      background-color: transparent !important;
      color: #e5d5af; }
      .portlet.box.yellow > .portlet-title > .actions .btn-default > i {
        color: #e9dbbb; }
      .portlet.box.yellow > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow > .portlet-title > .actions .btn-default:active, .portlet.box.yellow > .portlet-title > .actions .btn-default.active {
        border: 1px solid #ecdfc3;
        color: #f2ead6; }

/* Statistic Block */
.dashboard-stat.yellow {
  background-color: #c49f47; }
  .dashboard-stat.yellow.dashboard-stat-light:hover {
    background-color: #bb953c; }
  .dashboard-stat.yellow .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow .more {
    background-color: #bb953c;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow {
  border-color: #c49f47 !important;
  background-color: #c49f47 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow {
  color: #c49f47 !important; }

.progress-bar.yellow {
  background: #c49f47 !important;
  color: #FFFFFF !important; }

/***
Yellow Gold
***/
/* Button */
.yellow-gold.btn {
  background-color: #e87e04;
  color:            #ffffff;
}
  .yellow-gold.btn:hover, .yellow-gold.btn:focus, .yellow-gold.btn:active, .yellow-gold.btn.active {
    background-color: #c56b03;
    color:            #ffffff;
  }
  .open .yellow-gold.btn.dropdown-toggle {
    background-color: #c56b03;
    color:            #ffffff;
  }
  .yellow-gold.btn:active, .yellow-gold.btn.active {
    background-color: #ac5d03;
    background-image: none;
  }
    .yellow-gold.btn:active:hover, .yellow-gold.btn.active:hover {
      background-color: #b66303; }
  .open .yellow-gold.btn.dropdown-toggle {
    background-image: none; }
  .yellow-gold.btn.disabled, .yellow-gold.btn.disabled:hover, .yellow-gold.btn.disabled:focus, .yellow-gold.btn.disabled:active, .yellow-gold.btn.disabled.active, .yellow-gold.btn[disabled], .yellow-gold.btn[disabled]:hover, .yellow-gold.btn[disabled]:focus, .yellow-gold.btn[disabled]:active, .yellow-gold.btn[disabled].active, fieldset[disabled] .yellow-gold.btn, fieldset[disabled] .yellow-gold.btn:hover, fieldset[disabled] .yellow-gold.btn:focus, fieldset[disabled] .yellow-gold.btn:active, fieldset[disabled] .yellow-gold.btn.active {
    background-color: #E87E04; }
  .yellow-gold.btn .badge {
    background-color: #ffffff;
    color:            #e87e04;
  }

/* Button Strip */
.btn.yellow-gold-stripe {
  border-left: 3px solid #E87E04; }

/* Portlet */
.portlet > .portlet-body.yellow-gold, .portlet.yellow-gold {
  background-color: #E87E04; }

.portlet.solid.yellow-gold > .portlet-title, .portlet.solid.yellow-gold > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow-gold > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow-gold > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow-gold > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow-gold > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow-gold > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow-gold > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow-gold > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow-gold > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow-gold {
  border: 1px solid #fb9724;
  border-top: 0; }
  .portlet.box.yellow-gold > .portlet-title {
    background-color: #E87E04; }
    .portlet.box.yellow-gold > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow-gold > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow-gold > .portlet-title > .actions .btn-default {
      border: 1px solid #fcb460;
      background: transparent !important;
      background-color: transparent !important;
      color: #fdbf79; }
      .portlet.box.yellow-gold > .portlet-title > .actions .btn-default > i {
        color: #fdc788; }
      .portlet.box.yellow-gold > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow-gold > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow-gold > .portlet-title > .actions .btn-default:active, .portlet.box.yellow-gold > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fdcb92;
        color: #fed7ab; }

/* Statistic Block */
.dashboard-stat.yellow-gold {
  background-color: #E87E04; }
  .dashboard-stat.yellow-gold.dashboard-stat-light:hover {
    background-color: #d47304; }
  .dashboard-stat.yellow-gold .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow-gold .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow-gold .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow-gold .more {
    background-color: #d47304;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow-gold {
  border-color: #E87E04 !important;
  background-color: #E87E04 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow-gold {
  color: #E87E04 !important; }

.progress-bar.yellow-gold {
  background: #E87E04 !important;
  color: #FFFFFF !important; }

/***
Yellow Casablanca
***/
/* Button */
.yellow-casablanca.btn {
  background-color: #f2784b;
  color:            #ffffff;
}
  .yellow-casablanca.btn:hover, .yellow-casablanca.btn:focus, .yellow-casablanca.btn:active, .yellow-casablanca.btn.active {
    background-color: #f05f2a;
    color:            #ffffff;
  }
  .open .yellow-casablanca.btn.dropdown-toggle {
    background-color: #f05f2a;
    color:            #ffffff;
  }
  .yellow-casablanca.btn:active, .yellow-casablanca.btn.active {
    background-color: #ee4d12;
    background-image: none;
  }
    .yellow-casablanca.btn:active:hover, .yellow-casablanca.btn.active:hover {
      background-color: #ef541b; }
  .open .yellow-casablanca.btn.dropdown-toggle {
    background-image: none; }
  .yellow-casablanca.btn.disabled, .yellow-casablanca.btn.disabled:hover, .yellow-casablanca.btn.disabled:focus, .yellow-casablanca.btn.disabled:active, .yellow-casablanca.btn.disabled.active, .yellow-casablanca.btn[disabled], .yellow-casablanca.btn[disabled]:hover, .yellow-casablanca.btn[disabled]:focus, .yellow-casablanca.btn[disabled]:active, .yellow-casablanca.btn[disabled].active, fieldset[disabled] .yellow-casablanca.btn, fieldset[disabled] .yellow-casablanca.btn:hover, fieldset[disabled] .yellow-casablanca.btn:focus, fieldset[disabled] .yellow-casablanca.btn:active, fieldset[disabled] .yellow-casablanca.btn.active {
    background-color: #f2784b; }
  .yellow-casablanca.btn .badge {
    background-color: #ffffff;
    color:            #f2784b;
  }

/* Button Strip */
.btn.yellow-casablanca-stripe {
  border-left: 3px solid #f2784b; }

/* Portlet */
.portlet > .portlet-body.yellow-casablanca, .portlet.yellow-casablanca {
  background-color: #f2784b; }

.portlet.solid.yellow-casablanca > .portlet-title, .portlet.solid.yellow-casablanca > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow-casablanca > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow-casablanca > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow-casablanca > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow-casablanca {
  border: 1px solid #f59c7b;
  border-top: 0; }
  .portlet.box.yellow-casablanca > .portlet-title {
    background-color: #f2784b; }
    .portlet.box.yellow-casablanca > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow-casablanca > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default {
      border: 1px solid #fac6b4;
      background: transparent !important;
      background-color: transparent !important;
      color: #fbd8cb; }
      .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default > i {
        color: #fce3da; }
      .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default:active, .portlet.box.yellow-casablanca > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fdeae3;
        color: #fffcfb; }

/* Statistic Block */
.dashboard-stat.yellow-casablanca {
  background-color: #f2784b; }
  .dashboard-stat.yellow-casablanca.dashboard-stat-light:hover {
    background-color: #f16a38; }
  .dashboard-stat.yellow-casablanca .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow-casablanca .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow-casablanca .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow-casablanca .more {
    background-color: #f16a38;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow-casablanca {
  border-color: #f2784b !important;
  background-color: #f2784b !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow-casablanca {
  color: #f2784b !important; }

.progress-bar.yellow-casablanca {
  background: #f2784b !important;
  color: #FFFFFF !important; }

/***
Yellow Crusta
***/
/* Button */
.yellow-crusta.btn {
  background-color: #f3c200;
  color:            #ffffff;
}
  .yellow-crusta.btn:hover, .yellow-crusta.btn:focus, .yellow-crusta.btn:active, .yellow-crusta.btn.active {
    background-color: #cfa500;
    color:            #ffffff;
  }
  .open .yellow-crusta.btn.dropdown-toggle {
    background-color: #cfa500;
    color:            #ffffff;
  }
  .yellow-crusta.btn:active, .yellow-crusta.btn.active {
    background-color: #b69100;
    background-image: none;
  }
    .yellow-crusta.btn:active:hover, .yellow-crusta.btn.active:hover {
      background-color: #c09900; }
  .open .yellow-crusta.btn.dropdown-toggle {
    background-image: none; }
  .yellow-crusta.btn.disabled, .yellow-crusta.btn.disabled:hover, .yellow-crusta.btn.disabled:focus, .yellow-crusta.btn.disabled:active, .yellow-crusta.btn.disabled.active, .yellow-crusta.btn[disabled], .yellow-crusta.btn[disabled]:hover, .yellow-crusta.btn[disabled]:focus, .yellow-crusta.btn[disabled]:active, .yellow-crusta.btn[disabled].active, fieldset[disabled] .yellow-crusta.btn, fieldset[disabled] .yellow-crusta.btn:hover, fieldset[disabled] .yellow-crusta.btn:focus, fieldset[disabled] .yellow-crusta.btn:active, fieldset[disabled] .yellow-crusta.btn.active {
    background-color: #f3c200; }
  .yellow-crusta.btn .badge {
    background-color: #ffffff;
    color:            #f3c200;
  }

/* Button Strip */
.btn.yellow-crusta-stripe {
  border-left: 3px solid #f3c200; }

/* Portlet */
.portlet > .portlet-body.yellow-crusta, .portlet.yellow-crusta {
  background-color: #f3c200; }

.portlet.solid.yellow-crusta > .portlet-title, .portlet.solid.yellow-crusta > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow-crusta > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow-crusta > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow-crusta > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow-crusta {
  border: 1px solid #ffd327;
  border-top: 0; }
  .portlet.box.yellow-crusta > .portlet-title {
    background-color: #f3c200; }
    .portlet.box.yellow-crusta > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow-crusta > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default {
      border: 1px solid #ffe064;
      background: transparent !important;
      background-color: transparent !important;
      color: #ffe57e; }
      .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default > i {
        color: #ffe88d; }
      .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default:active, .portlet.box.yellow-crusta > .portlet-title > .actions .btn-default.active {
        border: 1px solid #ffea97;
        color: #ffefb1; }

/* Statistic Block */
.dashboard-stat.yellow-crusta {
  background-color: #f3c200; }
  .dashboard-stat.yellow-crusta.dashboard-stat-light:hover {
    background-color: #dfb200; }
  .dashboard-stat.yellow-crusta .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow-crusta .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow-crusta .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow-crusta .more {
    background-color: #dfb200;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow-crusta {
  border-color: #f3c200 !important;
  background-color: #f3c200 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow-crusta {
  color: #f3c200 !important; }

.progress-bar.yellow-crusta {
  background: #f3c200 !important;
  color: #FFFFFF !important; }

/***
Yellow Lemon
***/
/* Button */
.yellow-lemon.btn {
  background-color: #f7ca18;
  color:            #ffffff;
}
  .yellow-lemon.btn:hover, .yellow-lemon.btn:focus, .yellow-lemon.btn:active, .yellow-lemon.btn.active {
    background-color: #e3b708;
    color:            #ffffff;
  }
  .open .yellow-lemon.btn.dropdown-toggle {
    background-color: #e3b708;
    color:            #ffffff;
  }
  .yellow-lemon.btn:active, .yellow-lemon.btn.active {
    background-color: #cba307;
    background-image: none;
  }
    .yellow-lemon.btn:active:hover, .yellow-lemon.btn.active:hover {
      background-color: #d5ab07; }
  .open .yellow-lemon.btn.dropdown-toggle {
    background-image: none; }
  .yellow-lemon.btn.disabled, .yellow-lemon.btn.disabled:hover, .yellow-lemon.btn.disabled:focus, .yellow-lemon.btn.disabled:active, .yellow-lemon.btn.disabled.active, .yellow-lemon.btn[disabled], .yellow-lemon.btn[disabled]:hover, .yellow-lemon.btn[disabled]:focus, .yellow-lemon.btn[disabled]:active, .yellow-lemon.btn[disabled].active, fieldset[disabled] .yellow-lemon.btn, fieldset[disabled] .yellow-lemon.btn:hover, fieldset[disabled] .yellow-lemon.btn:focus, fieldset[disabled] .yellow-lemon.btn:active, fieldset[disabled] .yellow-lemon.btn.active {
    background-color: #F7CA18; }
  .yellow-lemon.btn .badge {
    background-color: #ffffff;
    color:            #f7ca18;
  }

/* Button Strip */
.btn.yellow-lemon-stripe {
  border-left: 3px solid #F7CA18; }

/* Portlet */
.portlet > .portlet-body.yellow-lemon, .portlet.yellow-lemon {
  background-color: #F7CA18; }

.portlet.solid.yellow-lemon > .portlet-title, .portlet.solid.yellow-lemon > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow-lemon > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow-lemon > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow-lemon > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow-lemon {
  border: 1px solid #f9d549;
  border-top: 0; }
  .portlet.box.yellow-lemon > .portlet-title {
    background-color: #F7CA18; }
    .portlet.box.yellow-lemon > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow-lemon > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default {
      border: 1px solid #fbe384;
      background: transparent !important;
      background-color: transparent !important;
      color: #fce99d; }
      .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default > i {
        color: #fcecac; }
      .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default:active, .portlet.box.yellow-lemon > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fceeb6;
        color: #fdf4ce; }

/* Statistic Block */
.dashboard-stat.yellow-lemon {
  background-color: #F7CA18; }
  .dashboard-stat.yellow-lemon.dashboard-stat-light:hover {
    background-color: #f2c308; }
  .dashboard-stat.yellow-lemon .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow-lemon .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow-lemon .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow-lemon .more {
    background-color: #f2c308;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow-lemon {
  border-color: #F7CA18 !important;
  background-color: #F7CA18 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow-lemon {
  color: #F7CA18 !important; }

.progress-bar.yellow-lemon {
  background: #F7CA18 !important;
  color: #FFFFFF !important; }

/***
Yellow Saffron
***/
/* Button */
.yellow-saffron.btn {
  background-color: #f4d03f;
  color:            #ffffff;
}
  .yellow-saffron.btn:hover, .yellow-saffron.btn:focus, .yellow-saffron.btn:active, .yellow-saffron.btn.active {
    background-color: #f2c81d;
    color:            #ffffff;
  }
  .open .yellow-saffron.btn.dropdown-toggle {
    background-color: #f2c81d;
    color:            #ffffff;
  }
  .yellow-saffron.btn:active, .yellow-saffron.btn.active {
    background-color: #e8bd0d;
    background-image: none;
  }
    .yellow-saffron.btn:active:hover, .yellow-saffron.btn.active:hover {
      background-color: #f1c40f; }
  .open .yellow-saffron.btn.dropdown-toggle {
    background-image: none; }
  .yellow-saffron.btn.disabled, .yellow-saffron.btn.disabled:hover, .yellow-saffron.btn.disabled:focus, .yellow-saffron.btn.disabled:active, .yellow-saffron.btn.disabled.active, .yellow-saffron.btn[disabled], .yellow-saffron.btn[disabled]:hover, .yellow-saffron.btn[disabled]:focus, .yellow-saffron.btn[disabled]:active, .yellow-saffron.btn[disabled].active, fieldset[disabled] .yellow-saffron.btn, fieldset[disabled] .yellow-saffron.btn:hover, fieldset[disabled] .yellow-saffron.btn:focus, fieldset[disabled] .yellow-saffron.btn:active, fieldset[disabled] .yellow-saffron.btn.active {
    background-color: #F4D03F; }
  .yellow-saffron.btn .badge {
    background-color: #ffffff;
    color:            #f4d03f;
  }

/* Button Strip */
.btn.yellow-saffron-stripe {
  border-left: 3px solid #F4D03F; }

/* Portlet */
.portlet > .portlet-body.yellow-saffron, .portlet.yellow-saffron {
  background-color: #F4D03F; }

.portlet.solid.yellow-saffron > .portlet-title, .portlet.solid.yellow-saffron > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.yellow-saffron > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.yellow-saffron > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.yellow-saffron > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.yellow-saffron {
  border: 1px solid #f7dc6f;
  border-top: 0; }
  .portlet.box.yellow-saffron > .portlet-title {
    background-color: #F4D03F; }
    .portlet.box.yellow-saffron > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.yellow-saffron > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default {
      border: 1px solid #faeaa9;
      background: transparent !important;
      background-color: transparent !important;
      color: #fbf0c1; }
      .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default > i {
        color: #fcf3d0; }
      .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default:hover, .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default:focus, .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default:active, .portlet.box.yellow-saffron > .portlet-title > .actions .btn-default.active {
        border: 1px solid #fdf6d9;
        color: #fefcf1; }

/* Statistic Block */
.dashboard-stat.yellow-saffron {
  background-color: #F4D03F; }
  .dashboard-stat.yellow-saffron.dashboard-stat-light:hover {
    background-color: #f3cb2c; }
  .dashboard-stat.yellow-saffron .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.yellow-saffron .details .number {
    color: #FFFFFF; }
  .dashboard-stat.yellow-saffron .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.yellow-saffron .more {
    background-color: #f3cb2c;
    color:            #ffffff;
  }

/* General Element */
.bg-yellow-saffron {
  border-color: #F4D03F !important;
  background-color: #F4D03F !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-yellow-saffron {
  color: #F4D03F !important; }

.progress-bar.yellow-saffron {
  background: #F4D03F !important;
  color: #FFFFFF !important; }

/***********
Purple Colors
************/
/***
Purple Default
***/
/* Button */
.purple.btn {
  background-color: #8e5fa2;
  color:            #ffffff;
}
  .purple.btn:hover, .purple.btn:focus, .purple.btn:active, .purple.btn.active {
    background-color: #7a518c;
    color:            #ffffff;
  }
  .open .purple.btn.dropdown-toggle {
    background-color: #7a518c;
    color:            #ffffff;
  }
  .purple.btn:active, .purple.btn.active {
    background-color: #6c487c;
    background-image: none;
  }
    .purple.btn:active:hover, .purple.btn.active:hover {
      background-color: #724c82; }
  .open .purple.btn.dropdown-toggle {
    background-image: none; }
  .purple.btn.disabled, .purple.btn.disabled:hover, .purple.btn.disabled:focus, .purple.btn.disabled:active, .purple.btn.disabled.active, .purple.btn[disabled], .purple.btn[disabled]:hover, .purple.btn[disabled]:focus, .purple.btn[disabled]:active, .purple.btn[disabled].active, fieldset[disabled] .purple.btn, fieldset[disabled] .purple.btn:hover, fieldset[disabled] .purple.btn:focus, fieldset[disabled] .purple.btn:active, fieldset[disabled] .purple.btn.active {
    background-color: #8e5fa2; }
  .purple.btn .badge {
    background-color: #ffffff;
    color:            #8e5fa2;
  }

/* Button Strip */
.btn.purple-stripe {
  border-left: 3px solid #8e5fa2; }

/* Portlet */
.portlet > .portlet-body.purple, .portlet.purple {
  background-color: #8e5fa2; }

.portlet.solid.purple > .portlet-title, .portlet.solid.purple > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple {
  border: 1px solid #a57fb5;
  border-top: 0; }
  .portlet.box.purple > .portlet-title {
    background-color: #8e5fa2; }
    .portlet.box.purple > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple > .portlet-title > .actions .btn-default {
      border: 1px solid #c0a6cb;
      background: transparent !important;
      background-color: transparent !important;
      color: #ccb6d5; }
      .portlet.box.purple > .portlet-title > .actions .btn-default > i {
        color: #d2c0da; }
      .portlet.box.purple > .portlet-title > .actions .btn-default:hover, .portlet.box.purple > .portlet-title > .actions .btn-default:focus, .portlet.box.purple > .portlet-title > .actions .btn-default:active, .portlet.box.purple > .portlet-title > .actions .btn-default.active {
        border: 1px solid #d7c6de;
        color: #e2d6e7; }

/* Statistic Block */
.dashboard-stat.purple {
  background-color: #8e5fa2; }
  .dashboard-stat.purple.dashboard-stat-light:hover {
    background-color: #835796; }
  .dashboard-stat.purple .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple .more {
    background-color: #835796;
    color:            #ffffff;
  }

/* General Element */
.bg-purple {
  border-color: #8e5fa2 !important;
  background-color: #8e5fa2 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple {
  color: #8e5fa2 !important; }

.progress-bar.purple {
  background: #8e5fa2 !important;
  color: #FFFFFF !important; }

/***
Purple Plum
***/
/* Button */
.purple-plum.btn {
  background-color: #8775a7;
  color:            #ffffff;
}
  .purple-plum.btn:hover, .purple-plum.btn:focus, .purple-plum.btn:active, .purple-plum.btn.active {
    background-color: #746198;
    color:            #ffffff;
  }
  .open .purple-plum.btn.dropdown-toggle {
    background-color: #746198;
    color:            #ffffff;
  }
  .purple-plum.btn:active, .purple-plum.btn.active {
    background-color: #685788;
    background-image: none;
  }
    .purple-plum.btn:active:hover, .purple-plum.btn.active:hover {
      background-color: #6d5b8e; }
  .open .purple-plum.btn.dropdown-toggle {
    background-image: none; }
  .purple-plum.btn.disabled, .purple-plum.btn.disabled:hover, .purple-plum.btn.disabled:focus, .purple-plum.btn.disabled:active, .purple-plum.btn.disabled.active, .purple-plum.btn[disabled], .purple-plum.btn[disabled]:hover, .purple-plum.btn[disabled]:focus, .purple-plum.btn[disabled]:active, .purple-plum.btn[disabled].active, fieldset[disabled] .purple-plum.btn, fieldset[disabled] .purple-plum.btn:hover, fieldset[disabled] .purple-plum.btn:focus, fieldset[disabled] .purple-plum.btn:active, fieldset[disabled] .purple-plum.btn.active {
    background-color: #8775a7; }
  .purple-plum.btn .badge {
    background-color: #ffffff;
    color:            #8775a7;
  }

/* Button Strip */
.btn.purple-plum-stripe {
  border-left: 3px solid #8775a7; }

/* Portlet */
.portlet > .portlet-body.purple-plum, .portlet.purple-plum {
  background-color: #8775a7; }

.portlet.solid.purple-plum > .portlet-title, .portlet.solid.purple-plum > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-plum > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-plum > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-plum > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-plum > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-plum > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-plum > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-plum > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-plum > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-plum {
  border: 1px solid #a294bb;
  border-top: 0; }
  .portlet.box.purple-plum > .portlet-title {
    background-color: #8775a7; }
    .portlet.box.purple-plum > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-plum > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-plum > .portlet-title > .actions .btn-default {
      border: 1px solid #c3bad3;
      background: transparent !important;
      background-color: transparent !important;
      color: #d0c9dd; }
      .portlet.box.purple-plum > .portlet-title > .actions .btn-default > i {
        color: #d8d2e3; }
      .portlet.box.purple-plum > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-plum > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-plum > .portlet-title > .actions .btn-default:active, .portlet.box.purple-plum > .portlet-title > .actions .btn-default.active {
        border: 1px solid #ded9e7;
        color: #ebe8f0; }

/* Statistic Block */
.dashboard-stat.purple-plum {
  background-color: #8775a7; }
  .dashboard-stat.purple-plum.dashboard-stat-light:hover {
    background-color: #7c699f; }
  .dashboard-stat.purple-plum .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-plum .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-plum .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-plum .more {
    background-color: #7c699f;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-plum {
  border-color: #8775a7 !important;
  background-color: #8775a7 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-plum {
  color: #8775a7 !important; }

.progress-bar.purple-plum {
  background: #8775a7 !important;
  color: #FFFFFF !important; }

/***
Purple Medium
***/
/* Button */
.purple-medium.btn {
  background-color: #bf55ec;
  color:            #ffffff;
}
  .purple-medium.btn:hover, .purple-medium.btn:focus, .purple-medium.btn:active, .purple-medium.btn.active {
    background-color: #b335e8;
    color:            #ffffff;
  }
  .open .purple-medium.btn.dropdown-toggle {
    background-color: #b335e8;
    color:            #ffffff;
  }
  .purple-medium.btn:active, .purple-medium.btn.active {
    background-color: #aa1ee6;
    background-image: none;
  }
    .purple-medium.btn:active:hover, .purple-medium.btn.active:hover {
      background-color: #ae27e7; }
  .open .purple-medium.btn.dropdown-toggle {
    background-image: none; }
  .purple-medium.btn.disabled, .purple-medium.btn.disabled:hover, .purple-medium.btn.disabled:focus, .purple-medium.btn.disabled:active, .purple-medium.btn.disabled.active, .purple-medium.btn[disabled], .purple-medium.btn[disabled]:hover, .purple-medium.btn[disabled]:focus, .purple-medium.btn[disabled]:active, .purple-medium.btn[disabled].active, fieldset[disabled] .purple-medium.btn, fieldset[disabled] .purple-medium.btn:hover, fieldset[disabled] .purple-medium.btn:focus, fieldset[disabled] .purple-medium.btn:active, fieldset[disabled] .purple-medium.btn.active {
    background-color: #BF55EC; }
  .purple-medium.btn .badge {
    background-color: #ffffff;
    color:            #bf55ec;
  }

/* Button Strip */
.btn.purple-medium-stripe {
  border-left: 3px solid #BF55EC; }

/* Portlet */
.portlet > .portlet-body.purple-medium, .portlet.purple-medium {
  background-color: #BF55EC; }

.portlet.solid.purple-medium > .portlet-title, .portlet.solid.purple-medium > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-medium > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-medium > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-medium > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-medium > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-medium > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-medium > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-medium > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-medium > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-medium {
  border: 1px solid #d083f1;
  border-top: 0; }
  .portlet.box.purple-medium > .portlet-title {
    background-color: #BF55EC; }
    .portlet.box.purple-medium > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-medium > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-medium > .portlet-title > .actions .btn-default {
      border: 1px solid #e5baf7;
      background: transparent !important;
      background-color: transparent !important;
      color: #eed1fa; }
      .portlet.box.purple-medium > .portlet-title > .actions .btn-default > i {
        color: #f3dffb; }
      .portlet.box.purple-medium > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-medium > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-medium > .portlet-title > .actions .btn-default:active, .portlet.box.purple-medium > .portlet-title > .actions .btn-default.active {
        border: 1px solid #f6e8fc;
        color: white; }

/* Statistic Block */
.dashboard-stat.purple-medium {
  background-color: #BF55EC; }
  .dashboard-stat.purple-medium.dashboard-stat-light:hover {
    background-color: #b843ea; }
  .dashboard-stat.purple-medium .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-medium .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-medium .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-medium .more {
    background-color: #b843ea;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-medium {
  border-color: #BF55EC !important;
  background-color: #BF55EC !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-medium {
  color: #BF55EC !important; }

.progress-bar.purple-medium {
  background: #BF55EC !important;
  color: #FFFFFF !important; }

/***
Purple Studio
***/
/* Button */
.purple-studio.btn {
  background-color: #8e44ad;
  color:            #ffffff;
}
  .purple-studio.btn:hover, .purple-studio.btn:focus, .purple-studio.btn:active, .purple-studio.btn.active {
    background-color: #793a93;
    color:            #ffffff;
  }
  .open .purple-studio.btn.dropdown-toggle {
    background-color: #793a93;
    color:            #ffffff;
  }
  .purple-studio.btn:active, .purple-studio.btn.active {
    background-color: #6a3381;
    background-image: none;
  }
    .purple-studio.btn:active:hover, .purple-studio.btn.active:hover {
      background-color: #703688; }
  .open .purple-studio.btn.dropdown-toggle {
    background-image: none; }
  .purple-studio.btn.disabled, .purple-studio.btn.disabled:hover, .purple-studio.btn.disabled:focus, .purple-studio.btn.disabled:active, .purple-studio.btn.disabled.active, .purple-studio.btn[disabled], .purple-studio.btn[disabled]:hover, .purple-studio.btn[disabled]:focus, .purple-studio.btn[disabled]:active, .purple-studio.btn[disabled].active, fieldset[disabled] .purple-studio.btn, fieldset[disabled] .purple-studio.btn:hover, fieldset[disabled] .purple-studio.btn:focus, fieldset[disabled] .purple-studio.btn:active, fieldset[disabled] .purple-studio.btn.active {
    background-color: #8E44AD; }
  .purple-studio.btn .badge {
    background-color: #ffffff;
    color:            #8e44ad;
  }

/* Button Strip */
.btn.purple-studio-stripe {
  border-left: 3px solid #8E44AD; }

/* Portlet */
.portlet > .portlet-body.purple-studio, .portlet.purple-studio {
  background-color: #8E44AD; }

.portlet.solid.purple-studio > .portlet-title, .portlet.solid.purple-studio > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-studio > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-studio > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-studio > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-studio > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-studio > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-studio > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-studio > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-studio > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-studio {
  border: 1px solid #a563c1;
  border-top: 0; }
  .portlet.box.purple-studio > .portlet-title {
    background-color: #8E44AD; }
    .portlet.box.purple-studio > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-studio > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-studio > .portlet-title > .actions .btn-default {
      border: 1px solid #bf8ed3;
      background: transparent !important;
      background-color: transparent !important;
      color: #c9a1da; }
      .portlet.box.purple-studio > .portlet-title > .actions .btn-default > i {
        color: #cfacde; }
      .portlet.box.purple-studio > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-studio > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-studio > .portlet-title > .actions .btn-default:active, .portlet.box.purple-studio > .portlet-title > .actions .btn-default.active {
        border: 1px solid #d4b3e1;
        color: #dec5e8; }

/* Statistic Block */
.dashboard-stat.purple-studio {
  background-color: #8E44AD; }
  .dashboard-stat.purple-studio.dashboard-stat-light:hover {
    background-color: #823e9e; }
  .dashboard-stat.purple-studio .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-studio .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-studio .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-studio .more {
    background-color: #823e9e;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-studio {
  border-color: #8E44AD !important;
  background-color: #8E44AD !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-studio {
  color: #8E44AD !important; }

.progress-bar.purple-studio {
  background: #8E44AD !important;
  color: #FFFFFF !important; }

/***
Purple Wisteria
***/
/* Button */
.purple-wisteria.btn {
  background-color: #9b59b6;
  color:            #ffffff;
}
  .purple-wisteria.btn:hover, .purple-wisteria.btn:focus, .purple-wisteria.btn:active, .purple-wisteria.btn.active {
    background-color: #8948a3;
    color:            #ffffff;
  }
  .open .purple-wisteria.btn.dropdown-toggle {
    background-color: #8948a3;
    color:            #ffffff;
  }
  .purple-wisteria.btn:active, .purple-wisteria.btn.active {
    background-color: #7a4092;
    background-image: none;
  }
    .purple-wisteria.btn:active:hover, .purple-wisteria.btn.active:hover {
      background-color: #804399; }
  .open .purple-wisteria.btn.dropdown-toggle {
    background-image: none; }
  .purple-wisteria.btn.disabled, .purple-wisteria.btn.disabled:hover, .purple-wisteria.btn.disabled:focus, .purple-wisteria.btn.disabled:active, .purple-wisteria.btn.disabled.active, .purple-wisteria.btn[disabled], .purple-wisteria.btn[disabled]:hover, .purple-wisteria.btn[disabled]:focus, .purple-wisteria.btn[disabled]:active, .purple-wisteria.btn[disabled].active, fieldset[disabled] .purple-wisteria.btn, fieldset[disabled] .purple-wisteria.btn:hover, fieldset[disabled] .purple-wisteria.btn:focus, fieldset[disabled] .purple-wisteria.btn:active, fieldset[disabled] .purple-wisteria.btn.active {
    background-color: #9B59B6; }
  .purple-wisteria.btn .badge {
    background-color: #ffffff;
    color:            #9b59b6;
  }

/* Button Strip */
.btn.purple-wisteria-stripe {
  border-left: 3px solid #9B59B6; }

/* Portlet */
.portlet > .portlet-body.purple-wisteria, .portlet.purple-wisteria {
  background-color: #9B59B6; }

.portlet.solid.purple-wisteria > .portlet-title, .portlet.solid.purple-wisteria > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-wisteria > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-wisteria > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-wisteria > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-wisteria {
  border: 1px solid #b07cc6;
  border-top: 0; }
  .portlet.box.purple-wisteria > .portlet-title {
    background-color: #9B59B6; }
    .portlet.box.purple-wisteria > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-wisteria > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default {
      border: 1px solid #caa7d8;
      background: transparent !important;
      background-color: transparent !important;
      color: #d5b9e0; }
      .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default > i {
        color: #dbc3e5; }
      .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default:active, .portlet.box.purple-wisteria > .portlet-title > .actions .btn-default.active {
        border: 1px solid #dfcae8;
        color: #eadcf0; }

/* Statistic Block */
.dashboard-stat.purple-wisteria {
  background-color: #9B59B6; }
  .dashboard-stat.purple-wisteria.dashboard-stat-light:hover {
    background-color: #924dae; }
  .dashboard-stat.purple-wisteria .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-wisteria .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-wisteria .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-wisteria .more {
    background-color: #924dae;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-wisteria {
  border-color: #9B59B6 !important;
  background-color: #9B59B6 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-wisteria {
  color: #9B59B6 !important; }

.progress-bar.purple-wisteria {
  background: #9B59B6 !important;
  color: #FFFFFF !important; }

/***
Purple Seance
***/
/* Button */
.purple-seance.btn {
  background-color: #9a12b3;
  color:            #ffffff;
}
  .purple-seance.btn:hover, .purple-seance.btn:focus, .purple-seance.btn:active, .purple-seance.btn.active {
    background-color: #7e0f93;
    color:            #ffffff;
  }
  .open .purple-seance.btn.dropdown-toggle {
    background-color: #7e0f93;
    color:            #ffffff;
  }
  .purple-seance.btn:active, .purple-seance.btn.active {
    background-color: #6a0c7b;
    background-image: none;
  }
    .purple-seance.btn:active:hover, .purple-seance.btn.active:hover {
      background-color: #720d85; }
  .open .purple-seance.btn.dropdown-toggle {
    background-image: none; }
  .purple-seance.btn.disabled, .purple-seance.btn.disabled:hover, .purple-seance.btn.disabled:focus, .purple-seance.btn.disabled:active, .purple-seance.btn.disabled.active, .purple-seance.btn[disabled], .purple-seance.btn[disabled]:hover, .purple-seance.btn[disabled]:focus, .purple-seance.btn[disabled]:active, .purple-seance.btn[disabled].active, fieldset[disabled] .purple-seance.btn, fieldset[disabled] .purple-seance.btn:hover, fieldset[disabled] .purple-seance.btn:focus, fieldset[disabled] .purple-seance.btn:active, fieldset[disabled] .purple-seance.btn.active {
    background-color: #9A12B3; }
  .purple-seance.btn .badge {
    background-color: #ffffff;
    color:            #9a12b3;
  }

/* Button Strip */
.btn.purple-seance-stripe {
  border-left: 3px solid #9A12B3; }

/* Portlet */
.portlet > .portlet-body.purple-seance, .portlet.purple-seance {
  background-color: #9A12B3; }

.portlet.solid.purple-seance > .portlet-title, .portlet.solid.purple-seance > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-seance > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-seance > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-seance > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-seance > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-seance > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-seance > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-seance > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-seance > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-seance {
  border: 1px solid #c217e1;
  border-top: 0; }
  .portlet.box.purple-seance > .portlet-title {
    background-color: #9A12B3; }
    .portlet.box.purple-seance > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-seance > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-seance > .portlet-title > .actions .btn-default {
      border: 1px solid #d349ed;
      background: transparent !important;
      background-color: transparent !important;
      color: #d960ef; }
      .portlet.box.purple-seance > .portlet-title > .actions .btn-default > i {
        color: #dc6ef0; }
      .portlet.box.purple-seance > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-seance > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-seance > .portlet-title > .actions .btn-default:active, .portlet.box.purple-seance > .portlet-title > .actions .btn-default.active {
        border: 1px solid #de77f1;
        color: #e48ef4; }

/* Statistic Block */
.dashboard-stat.purple-seance {
  background-color: #9A12B3; }
  .dashboard-stat.purple-seance.dashboard-stat-light:hover {
    background-color: #8a10a0; }
  .dashboard-stat.purple-seance .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-seance .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-seance .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-seance .more {
    background-color: #8a10a0;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-seance {
  border-color: #9A12B3 !important;
  background-color: #9A12B3 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-seance {
  color: #9A12B3 !important; }

.progress-bar.purple-seance {
  background: #9A12B3 !important;
  color: #FFFFFF !important; }

/***
Purple Intense
***/
/* Button */
.purple-intense.btn {
  background-color: #8775a7;
  color:            #ffffff;
}
  .purple-intense.btn:hover, .purple-intense.btn:focus, .purple-intense.btn:active, .purple-intense.btn.active {
    background-color: #746198;
    color:            #ffffff;
  }
  .open .purple-intense.btn.dropdown-toggle {
    background-color: #746198;
    color:            #ffffff;
  }
  .purple-intense.btn:active, .purple-intense.btn.active {
    background-color: #685788;
    background-image: none;
  }
    .purple-intense.btn:active:hover, .purple-intense.btn.active:hover {
      background-color: #6d5b8e; }
  .open .purple-intense.btn.dropdown-toggle {
    background-image: none; }
  .purple-intense.btn.disabled, .purple-intense.btn.disabled:hover, .purple-intense.btn.disabled:focus, .purple-intense.btn.disabled:active, .purple-intense.btn.disabled.active, .purple-intense.btn[disabled], .purple-intense.btn[disabled]:hover, .purple-intense.btn[disabled]:focus, .purple-intense.btn[disabled]:active, .purple-intense.btn[disabled].active, fieldset[disabled] .purple-intense.btn, fieldset[disabled] .purple-intense.btn:hover, fieldset[disabled] .purple-intense.btn:focus, fieldset[disabled] .purple-intense.btn:active, fieldset[disabled] .purple-intense.btn.active {
    background-color: #8775a7; }
  .purple-intense.btn .badge {
    background-color: #ffffff;
    color:            #8775a7;
  }

/* Button Strip */
.btn.purple-intense-stripe {
  border-left: 3px solid #8775a7; }

/* Portlet */
.portlet > .portlet-body.purple-intense, .portlet.purple-intense {
  background-color: #8775a7; }

.portlet.solid.purple-intense > .portlet-title, .portlet.solid.purple-intense > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-intense > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-intense > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-intense > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-intense > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-intense > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-intense > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-intense > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-intense > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-intense {
  border: 1px solid #a294bb;
  border-top: 0; }
  .portlet.box.purple-intense > .portlet-title {
    background-color: #8775a7; }
    .portlet.box.purple-intense > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-intense > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-intense > .portlet-title > .actions .btn-default {
      border: 1px solid #c3bad3;
      background: transparent !important;
      background-color: transparent !important;
      color: #d0c9dd; }
      .portlet.box.purple-intense > .portlet-title > .actions .btn-default > i {
        color: #d8d2e3; }
      .portlet.box.purple-intense > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-intense > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-intense > .portlet-title > .actions .btn-default:active, .portlet.box.purple-intense > .portlet-title > .actions .btn-default.active {
        border: 1px solid #ded9e7;
        color: #ebe8f0; }

/* Statistic Block */
.dashboard-stat.purple-intense {
  background-color: #8775a7; }
  .dashboard-stat.purple-intense.dashboard-stat-light:hover {
    background-color: #7c699f; }
  .dashboard-stat.purple-intense .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-intense .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-intense .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-intense .more {
    background-color: #7c699f;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-intense {
  border-color: #8775a7 !important;
  background-color: #8775a7 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-intense {
  color: #8775a7 !important; }

.progress-bar.purple-intense {
  background: #8775a7 !important;
  color: #FFFFFF !important; }

/***
Purple Sharp
***/
/* Button */
.purple-sharp.btn {
  background-color: #796799;
  color:            #ffffff;
}
  .purple-sharp.btn:hover, .purple-sharp.btn:focus, .purple-sharp.btn:active, .purple-sharp.btn.active {
    background-color: #685884;
    color:            #ffffff;
  }
  .open .purple-sharp.btn.dropdown-toggle {
    background-color: #685884;
    color:            #ffffff;
  }
  .purple-sharp.btn:active, .purple-sharp.btn.active {
    background-color: #5c4e75;
    background-image: none;
  }
    .purple-sharp.btn:active:hover, .purple-sharp.btn.active:hover {
      background-color: #61527b; }
  .open .purple-sharp.btn.dropdown-toggle {
    background-image: none; }
  .purple-sharp.btn.disabled, .purple-sharp.btn.disabled:hover, .purple-sharp.btn.disabled:focus, .purple-sharp.btn.disabled:active, .purple-sharp.btn.disabled.active, .purple-sharp.btn[disabled], .purple-sharp.btn[disabled]:hover, .purple-sharp.btn[disabled]:focus, .purple-sharp.btn[disabled]:active, .purple-sharp.btn[disabled].active, fieldset[disabled] .purple-sharp.btn, fieldset[disabled] .purple-sharp.btn:hover, fieldset[disabled] .purple-sharp.btn:focus, fieldset[disabled] .purple-sharp.btn:active, fieldset[disabled] .purple-sharp.btn.active {
    background-color: #796799; }
  .purple-sharp.btn .badge {
    background-color: #ffffff;
    color:            #796799;
  }

/* Button Strip */
.btn.purple-sharp-stripe {
  border-left: 3px solid #796799; }

/* Portlet */
.portlet > .portlet-body.purple-sharp, .portlet.purple-sharp {
  background-color: #796799; }

.portlet.solid.purple-sharp > .portlet-title, .portlet.solid.purple-sharp > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-sharp > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-sharp > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-sharp > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-sharp > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-sharp > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-sharp > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-sharp > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-sharp > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-sharp {
  border: 1px solid #9486ad;
  border-top: 0; }
  .portlet.box.purple-sharp > .portlet-title {
    background-color: #796799; }
    .portlet.box.purple-sharp > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-sharp > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-sharp > .portlet-title > .actions .btn-default {
      border: 1px solid #b4aac6;
      background: transparent !important;
      background-color: transparent !important;
      color: #c2b9d0; }
      .portlet.box.purple-sharp > .portlet-title > .actions .btn-default > i {
        color: #cac3d6; }
      .portlet.box.purple-sharp > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-sharp > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-sharp > .portlet-title > .actions .btn-default:active, .portlet.box.purple-sharp > .portlet-title > .actions .btn-default.active {
        border: 1px solid #cfc9db;
        color: #ddd8e5; }

/* Statistic Block */
.dashboard-stat.purple-sharp {
  background-color: #796799; }
  .dashboard-stat.purple-sharp.dashboard-stat-light:hover {
    background-color: #6f5f8d; }
  .dashboard-stat.purple-sharp .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-sharp .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-sharp .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-sharp .more {
    background-color: #6f5f8d;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-sharp {
  border-color: #796799 !important;
  background-color: #796799 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-sharp {
  color: #796799 !important; }

.progress-bar.purple-sharp {
  background: #796799 !important;
  color: #FFFFFF !important; }

/***
Purple Soft
***/
/* Button */
.purple-soft.btn {
  background-color: #8877a9;
  color:            #ffffff;
}
  .purple-soft.btn:hover, .purple-soft.btn:focus, .purple-soft.btn:active, .purple-soft.btn.active {
    background-color: #75629b;
    color:            #ffffff;
  }
  .open .purple-soft.btn.dropdown-toggle {
    background-color: #75629b;
    color:            #ffffff;
  }
  .purple-soft.btn:active, .purple-soft.btn.active {
    background-color: #69588b;
    background-image: none;
  }
    .purple-soft.btn:active:hover, .purple-soft.btn.active:hover {
      background-color: #6e5c91; }
  .open .purple-soft.btn.dropdown-toggle {
    background-image: none; }
  .purple-soft.btn.disabled, .purple-soft.btn.disabled:hover, .purple-soft.btn.disabled:focus, .purple-soft.btn.disabled:active, .purple-soft.btn.disabled.active, .purple-soft.btn[disabled], .purple-soft.btn[disabled]:hover, .purple-soft.btn[disabled]:focus, .purple-soft.btn[disabled]:active, .purple-soft.btn[disabled].active, fieldset[disabled] .purple-soft.btn, fieldset[disabled] .purple-soft.btn:hover, fieldset[disabled] .purple-soft.btn:focus, fieldset[disabled] .purple-soft.btn:active, fieldset[disabled] .purple-soft.btn.active {
    background-color: #8877a9; }
  .purple-soft.btn .badge {
    background-color: #ffffff;
    color:            #8877a9;
  }

/* Button Strip */
.btn.purple-soft-stripe {
  border-left: 3px solid #8877a9; }

/* Portlet */
.portlet > .portlet-body.purple-soft, .portlet.purple-soft {
  background-color: #8877a9; }

.portlet.solid.purple-soft > .portlet-title, .portlet.solid.purple-soft > .portlet-body {
  border: 0;
  color: #FFFFFF; }
.portlet.solid.purple-soft > .portlet-title > .caption {
  font-weight: 400; }
  .portlet.solid.purple-soft > .portlet-title > .caption > i {
    color: #FFFFFF; }
.portlet.solid.purple-soft > .portlet-title > .tools > a.remove {
  background-image: url(../images/portlet-remove-icon-white.png);
}
.portlet.solid.purple-soft > .portlet-title > .tools > a.config {
  background-image: url(../images/portlet-config-icon-white.png);
}
.portlet.solid.purple-soft > .portlet-title > .tools > a.reload {
  background-image: url(../images/portlet-reload-icon-white.png);
}
.portlet.solid.purple-soft > .portlet-title > .tools > a.expand {
  background-image: url(../images/portlet-expand-icon-white.png);
}
.portlet.solid.purple-soft > .portlet-title > .tools > a.collapse {
  background-image: url(../images/portlet-collapse-icon-white.png);
}
.portlet.solid.purple-soft > .portlet-title > .tools > a.fullscreen {
  color: #fdfdfd; }

.portlet.box.purple-soft {
  border: 1px solid #a396bd;
  border-top: 0; }
  .portlet.box.purple-soft > .portlet-title {
    background-color: #8877a9; }
    .portlet.box.purple-soft > .portlet-title > .caption {
      color: #FFFFFF; }
      .portlet.box.purple-soft > .portlet-title > .caption > i {
        color: #FFFFFF; }
    .portlet.box.purple-soft > .portlet-title > .actions .btn-default {
      border: 1px solid #c4bcd4;
      background: transparent !important;
      background-color: transparent !important;
      color: #d2cbde; }
      .portlet.box.purple-soft > .portlet-title > .actions .btn-default > i {
        color: #dad5e4; }
      .portlet.box.purple-soft > .portlet-title > .actions .btn-default:hover, .portlet.box.purple-soft > .portlet-title > .actions .btn-default:focus, .portlet.box.purple-soft > .portlet-title > .actions .btn-default:active, .portlet.box.purple-soft > .portlet-title > .actions .btn-default.active {
        border: 1px solid #dfdbe8;
        color: #edebf2; }

/* Statistic Block */
.dashboard-stat.purple-soft {
  background-color: #8877a9; }
  .dashboard-stat.purple-soft.dashboard-stat-light:hover {
    background-color: #7d6ba1; }
  .dashboard-stat.purple-soft .visual > i {
    color: #FFFFFF;
    opacity: 0.1;
    filter: alpha(opacity=10); }
  .dashboard-stat.purple-soft .details .number {
    color: #FFFFFF; }
  .dashboard-stat.purple-soft .details .desc {
    color: #FFFFFF;
    opacity: 1;
    filter: alpha(opacity=100); }
  .dashboard-stat.purple-soft .more {
    background-color: #7d6ba1;
    color:            #ffffff;
  }

/* General Element */
.bg-purple-soft {
  border-color: #8877a9 !important;
  background-color: #8877a9 !important;
  background-image: none !important;
  color: #FFFFFF !important; }

/* General Text & Icon Font Colors */
.font-purple-soft {
  color: #8877a9 !important; }

.progress-bar.purple-soft {
  background: #8877a9 !important;
  color: #FFFFFF !important; }

/***
Transparent Button
***/
.btn-transparent.btn {
  background: transparent;
  color: #888; }


/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvX3Jlc2V0LXJvdW5kcy5zY3NzIiwiY29tcG9uZW50cy9fcmVzZXQtZ2VuZXJhbC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fbWQtYmFzZS5zY3NzIiwiY29tcG9uZW50cy9fbWQtaW5wdXRzLnNjc3MiLCJjb21wb25lbnRzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX21kLWNoZWNrYm94ZXMuc2NzcyIsImNvbXBvbmVudHMvX21kLXJhZGlvcy5zY3NzIiwiY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9fdXRpbHMuc2NzcyIsImNvbXBvbmVudHMvX2ZvbnQtaWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2VzLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9fY2hhcnRzLnNjc3MiLCJjb21wb25lbnRzL19jaGF0cy5zY3NzIiwiY29tcG9uZW50cy9fY2xvc2Uuc2NzcyIsImNvbXBvbmVudHMvX2Ryb3Bkb3ducy5zY3NzIiwiY29tcG9uZW50cy9fZmVlZHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0tbGF5b3V0cy5zY3NzIiwiY29tcG9uZW50cy9faW5wdXRzLnNjc3MiLCJjb21wb25lbnRzL19pY29uLWJ1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2lucHV0LWljb25zLnNjc3MiLCJjb21wb25lbnRzL19sYWJlbHMuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtZ3JvdXBzLnNjc3MiLCJjb21wb25lbnRzL19sb2FkZXJzLnNjc3MiLCJjb21wb25lbnRzL19tZXRyby1pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWxzLnNjc3MiLCJjb21wb25lbnRzL19ub3Rlcy5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJjb21wb25lbnRzL19wb3BvdmVycy5zY3NzIiwiY29tcG9uZW50cy9fcG9ydGxldHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsImNvbXBvbmVudHMvX3N0YXRpc3RpYy1ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC1pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL190aWxlcy5zY3NzIiwiY29tcG9uZW50cy9fd2VsbHMuc2NzcyIsImNvbXBvbmVudHMvX2FuaW1hdGUuc2NzcyIsImNvbXBvbmVudHMvX2ZsYXR1aS1jb2xvci12YXJpYW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFNQSxBQUFLLEFBQU8sQUFBUSxBQUFVLEFBQU0sQUFBSyxBQUFPLEFBQU8sQUFBSSxBQUFJLEFBQUcsQUFBRyxBQUFRLEFBQUksQUFBTSxBQUFLO0VBaUJ4RixBQUF1QjtFQUNwQixBQUFvQjtFQUNmLEFBQWU7OztBQUszQjtFQUNJLEFBQWU7O0FBR25CO0VBQ0ksQUFBZTs7Ozs7O0FDN0JuQjtFQzZGMkIsQUQ1RnZCO0VDdUUwQixBRHRFMUI7RUFDQSxBQUFTO0VBQ1QsQUFBUTtFQ3VFa0IsQUR0RTFCO0VDUGUsQURRZjs7Ozs7Ozs7RUFVQSxBQUFPOzs7RUFJUCxBQUFPOzs7RUFJUCxBQUFPOzs7RUFJUCxBQUFPOzs7RUFJUCxBQUFPOzs7Ozs7O0VBU1AsQUFBTzs7QUU5Q1g7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFxQzs7QUFHekM7RUFDSSxBQUFzQzs7QUFHMUM7RUFDSSxBQUFzQzs7QUFHMUM7RUFDSSxBQUFzQzs7QUFHMUM7RUFDSSxBQUF1Qzs7QUFHM0M7RUFDSSxBQUF1Qzs7QUFHM0M7RUFD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QUM1RCxBQUFxQjs7QUFTakM7RTFCU0UsQTBCUnVCO0UxQlV6QixBQUFpQjtJSDNDaUIsQUc0QzlCO0lBQ0EsQTBCWitFO0kxQmEvRSxBMEJiZ0g7STFCZXBILEFBQWlCLEFBQWlCLEFBQWdCO01BQzVDLEEwQmhCbUI7RTFCb0J6QixBQUFpQixBQUFnQixBQUFnQjtJQUMzQyxBMEJyQm1COztBQUd6QjtFN0I5QitCLEFHbUM3QjtFQUVGLEFBQWlCO0lIdkNnQixBR3dDN0I7SUhwRHdCLEFHcUR4QjtJSHZDMkIsQUd3QzNCO0lBRUosQUFBaUIsQUFBaUIsQUFBZ0I7TUgxQ25CLEFHMkN6QjtFQUlOLEFBQWlCLEFBQWdCLEFBQWdCO0lIL0NsQixBR2dEekI7O0EwQmROO0U3QjlCa0MsQUcrQmhDO0VBRUYsQUFBaUI7SUhuQ2lCLEFHb0M5QjtJSG5DOEIsQUdvQzlCO0lIbkM4QixBR29DOUI7SUFFSixBQUFpQixBQUFpQixBQUFnQjtNSHRDaEIsQUd1QzVCO0VBSU4sQUFBaUIsQUFBZ0IsQUFBZ0I7SUgzQ2YsQUc0QzVCOztBMEJWTjtFN0I5QmtDLEFHMkJoQztFQUVGLEFBQWM7SUgvQm9CLEFHZ0M5QjtJSC9COEIsQUdnQzlCO0lIL0I4QixBR2dDOUI7SUFFSixBQUFjLEFBQWlCLEFBQWdCO01IbENiLEFHbUM1QjtFQUlOLEFBQWMsQUFBZ0IsQUFBZ0I7SUh2Q1osQUd3QzVCOztBMEJOTjtFN0I5QmtDLEFHdUJoQztFQUVGLEFBQWlCO0lIM0JpQixBRzRCOUI7SUgzQjhCLEFHNEI5QjtJSDNCOEIsQUc0QjlCO0lBRUosQUFBaUIsQUFBaUIsQUFBZ0I7TUg5QmhCLEFHK0I1QjtFQUlOLEFBQWlCLEFBQWdCLEFBQWdCO0lIbkNmLEFHb0M1Qjs7QTBCRk47RTdCOUJrQyxBR21CaEM7RUFFRixBQUFnQjtJSHZCa0IsQUd3QjlCO0lIdkI4QixBR3dCOUI7SUh2QjhCLEFHd0I5QjtJQUVKLEFBQWdCLEFBQWlCLEFBQWdCO01IMUJmLEFHMkI1QjtFQUlOLEFBQWdCLEFBQWdCLEFBQWdCO0lIL0JkLEFHZ0M1Qjs7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KioqXHJcblJvdW5kZWQgY29ybmVycyByZXNldFxyXG4qKiovXHJcblxyXG4vKiBSZXNldCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCBlbGVtZW50cyAqL1xyXG5cclxuZGl2LCAgICAgICAgICAgXHJcbmlucHV0LCAgICAgIFxyXG5zZWxlY3QsICAgICAgICAgICAgICAgICAgICBcclxudGV4dGFyZWEsICAgICAgICAgICAgIFxyXG5zcGFuLCAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbmltZywgICAgICAgICAgICAgICBcclxudGFibGUsICAgICAgICAgICAgICAgICAgICAgICBcclxubGFiZWwsICBcclxudGQsICAgICAgICAgICAgICAgICAgXHJcbnRoLCAgICBcclxucCwgICAgICAgICAgXHJcbmEsIFxyXG5idXR0b24sIFxyXG51bCwgICAgXHJcbmNvZGUsXHJcbnByZSwgICAgXHJcbmxpIHtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIGV4Y2VwdCBiZWxvdyBib290c3RyYXAgZWxlbWVudHMgKi9cclxuXHJcbi5pbWctY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW1nLXJvdW5kZWQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XHJcbn0iLCIvKioqXHJcbkdlbmVyYWwgcmVzZXRcclxuKioqL1xyXG5cclxuLyogU2V0IGRlZmF1bHQgYm9keSAqL1xyXG5cclxuYm9keSB7IFxyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yOyBcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktcHJpbWFyeTtcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyBcclxuICAgIGRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxufVxyXG5cclxuLypcclxuIEludGVybmV0IEV4cGxvcmVyIDEwIGRvZXNuJ3QgZGlmZmVyZW50aWF0ZSBkZXZpY2Ugd2lkdGggZnJvbSB2aWV3cG9ydCB3aWR0aCwgYW5kIHRodXMgZG9lc24ndCBcclxuIHByb3Blcmx5IGFwcGx5IHRoZSBtZWRpYSBxdWVyaWVzIGluIEJvb3RzdHJhcCdzIENTUy4gVG8gYWRkcmVzcyB0aGlzLCBcclxuIHlvdSBjYW4gb3B0aW9uYWxseSBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgQ1NTIGFuZCBKYXZhU2NyaXB0IHRvIHdvcmsgYXJvdW5kIHRoaXMgcHJvYmxlbSB1bnRpbCBNaWNyb3NvZnQgaXNzdWVzIGEgZml4LlxyXG4qL1xyXG5cclxuQC13ZWJraXQtdmlld3BvcnQgeyBcclxuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7IFxyXG59XHJcblxyXG5ALW1vei12aWV3cG9ydCB7IFxyXG4gICAgd2lkdGg6IGRldmljZS13aWR0aDsgXHJcbn1cclxuXHJcbkAtbXMtdmlld3BvcnQgeyBcclxuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7IFxyXG59XHJcblxyXG5ALW8tdmlld3BvcnQgeyBcclxuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7IFxyXG59XHJcblxyXG5Admlld3BvcnQgeyBcclxuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7IFxyXG59XHJcblxyXG4vKlxyXG4gSW50ZXJuZXQgRXhwbG9yZXIgMTAgZG9lc24ndCBkaWZmZXJlbnRpYXRlIGRldmljZSB3aWR0aCBmcm9tIHZpZXdwb3J0IHdpZHRoLCBcclxuIGFuZCB0aHVzIGRvZXNuJ3QgcHJvcGVybHkgYXBwbHkgdGhlIG1lZGlhIHF1ZXJpZXMgaW4gQm9vdHN0cmFwJ3MgQ1NTLiBUbyBhZGRyZXNzIHRoaXMsIGZvbGxvd2luZyBDU1MgY29kZSBhcHBsaWVkIFxyXG4qL1xyXG5cclxuQC1tcy12aWV3cG9ydCB7IFxyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgXHJcbn0gICIsIi8vIyMgIERpcmVjdGlvblxyXG4vL1xyXG4vLyBTY3JpcHRpbmcgZGlyZWN0aW9uXHJcblxyXG4kZGlyZWN0aW9uOiAgXHRcdFx0XHRcdFx0bHRyICFkZWZhdWx0O1xyXG5cclxuLy8jIyAgQ29sb3JzXHJcbi8vXHJcbiBcclxuLy8gQm9vdHN0cmFwIGJyYW5kIGNvbG9yc1xyXG5cclxuJGJyYW5kLWRlZmF1bHQ6ICAgICAgICAgXHRcdFx0I2M2YzZjNiAhZGVmYXVsdDsgIFxyXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBcdFx0IFx0IzQyOGJjYSAhZGVmYXVsdDsgIFxyXG4kYnJhbmQtc3VjY2VzczogICAgICAgICBcdFx0IFx0IzQ1QjZBRiAhZGVmYXVsdDsgICBcclxuJGJyYW5kLWluZm86ICAgICAgICAgICAgXHRcdCBcdCM4OUM0RjQgIWRlZmF1bHQ7ICBcclxuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgXHRcdCBcdCNkZmJhNDkgIWRlZmF1bHQ7ICAgICAgICAgXHJcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgIFx0XHQgXHQjRjM1NjVEICFkZWZhdWx0OyAgICAgICBcclxuIFxyXG4vLyBCb290c3RyYXAgQ29tcG9uZW50cyBzdGF0ZXNcclxuXHJcbiRzdGF0ZS1kZWZhdWx0LXRleHQ6ICAgICAgICAgICAgIFx0IzMzMzMzMyAhZGVmYXVsdDsgIFxyXG4kc3RhdGUtZGVmYXVsdC1iZzogICAgICAgICAgIFx0IFx0JGJyYW5kLWRlZmF1bHQgIWRlZmF1bHQ7IFxyXG4kc3RhdGUtZGVmYXVsdC1ib3JkZXI6ICAgICAgIFx0IFx0ZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRlZmF1bHQtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRzdGF0ZS1wcmltYXJ5LXRleHQ6ICAgICAgICAgIFx0IFx0I0Q4RTNGMiAhZGVmYXVsdDtcclxuJHN0YXRlLXByaW1hcnktYmc6ICAgICAgICBcdFx0IFx0JGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1wcmltYXJ5LWJvcmRlcjogICAgXHQgXHQgXHRkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtcHJpbWFyeS1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xyXG5cclxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgXHQjM2M3NjNkICFkZWZhdWx0O1xyXG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICBcdCNkZmYwZDggIWRlZmF1bHQ7XHJcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIFx0ZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgIFx0IzMxNzA4ZiAhZGVmYXVsdDtcclxuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgXHQjZDllZGY3ICFkZWZhdWx0O1xyXG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBcdGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XHJcblxyXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICBcdCM4YTZkM2IgIWRlZmF1bHQ7XHJcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgIFx0I2ZjZjhlMyAhZGVmYXVsdDtcclxuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgXHRkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xyXG5cclxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgXHQjYTk0NDQyICFkZWZhdWx0O1xyXG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICBcdCNmMmRlZGUgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIFx0ZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xyXG5cclxuLy8gQm9vdHN0cmFwIEJ1dHRvbnNcclxuXHJcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIFx0bm9ybWFsICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgXHQjMzMzICFkZWZhdWx0O1xyXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICBcdCNmZmYgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgIFx0I2NjYyAhZGVmYXVsdDtcclxuXHJcbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgIFx0I2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgXHQkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgXHRkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICBcdCNmZmYgIWRlZmF1bHQ7XHJcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgIFx0JGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XHJcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIFx0ZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICBcdCNmZmYgIWRlZmF1bHQ7XHJcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgIFx0JGJyYW5kLWluZm8gIWRlZmF1bHQ7XHJcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIFx0ZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgXHQjZmZmICFkZWZhdWx0O1xyXG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICBcdCRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xyXG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBcdGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgIFx0I2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgXHQkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xyXG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBcdGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgXHQjZWVlICFkZWZhdWx0O1xyXG5cclxuLy8jIyAgVHlwb2dyYXBoeVxyXG4vL1xyXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuXHJcbiRmb250LWZhbWlseS1wcmltYXJ5OiAgXHQgIFx0XHQgXHRcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0ICBcdFx0IFx0XCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICBcdFx0IFx0MTNweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1ub3JtYWw6ICAgICAgICBcdFx0IFx0MTRweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBcdFx0IFx0Y2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxyXG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIFx0XHQgXHRjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XHJcblxyXG4kaWNvbi1zaXplLWJhc2U6ICAgICAgICAgIFx0XHQgXHQxM3B4ICFkZWZhdWx0O1xyXG4kaWNvbi1zaXplLW5vcm1hbDogICAgICAgIFx0XHQgXHQxNHB4ICFkZWZhdWx0O1xyXG4kaWNvbi1zaXplLWxhcmdlOiAgICAgICAgIFx0XHQgXHRjZWlsKCgkaWNvbi1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XHJcbiRpY29uLXNpemUtc21hbGw6ICAgICAgICAgXHRcdCBcdGNlaWwoKCRpY29uLXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcclxuXHJcbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgXHRcdCBcdGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcclxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBcdFx0XHRmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxyXG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIFx0XHRcdGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxyXG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIFx0XHRcdGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICBcdFx0XHQkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgXHRcdFx0Y2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxyXG5cclxuLy8gR2xvYmFsIHRleHQgY29sb3Igb24gPGJvZHk+XHJcbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgIFx0XHRcdCMzMzMzMzMgIWRlZmF1bHQ7ICAgICAgXHJcblxyXG4vLyBHbG9iYWwgbGlnaHQgdGV4dCBjb2xvciBvbiA8Ym9keT5cclxuJHRleHQtbGlnaHQtY29sb3I6ICAgICBcdCBcdFx0XHQjZmZmZmZmICFkZWZhdWx0O1xyXG5cclxuLy8gR2xvYmFsIG11dGVkIHRleHQgY29sb3Igb24gPGJvZHk+XHJcbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgIFx0XHRcdCM0NDQ0NDQgIWRlZmF1bHQ7XHJcblxyXG4vLyBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogICAgICAgICAgICBcdFx0XHQjNWI5YmQxICFkZWZhdWx0O1xyXG5cclxuLy8gTGluayBob3ZlciBjb2xvci5cclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgXHRcdFx0ZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xyXG5cclxuJHByaW1hcnktbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzY1QTBEMDtcclxuXHJcbi8vPT0gRm9ybXMgQ29udHJvbHNcclxuJGlucHV0LW1kLWxhYmVsLWNvbG9yOiAgICAgICAgXHRcdCM4ODg4ODg7XHJcbiRpbnB1dC1tZC1pbnB1dC1ib3JkZXI6ICAgICAgICBcdFx0I2U1ZTVlNTtcclxuJGlucHV0LW1kLWxhYmVsLW9wYWNpdHk6ICAgICAgXHRcdDE7XHJcbiRpbnB1dC1tZC1sYWJlbC1mb250LXNpemU6IFx0XHRcdDEzcHg7XHJcbiRpbnB1dC1tZC1wbGFjZWhvbGRlcjpcdCBcdFx0XHQjOTk5O1xyXG4kaW5wdXQtbWQtY29sb3I6XHRcdCBcdFx0XHQjMzMzO1xyXG4kaW5wdXQtbWQtZm9jdXMtYm9yZGVyOlx0XHRcdFx0JGJyYW5kLXN1Y2Nlc3M7XHJcbiRpbnB1dC1tZC1jaGVja2JveC1ib3gtY29sb3I6ICBcdFx0IzY2NjtcclxuJGlucHV0LW1kLWNoZWNrYm94LWRpc2FibGVkLW9wYWNpdHk6MC43O1xyXG5cclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgXHQjZmZmICFkZWZhdWx0O1xyXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICBcdCNlZWVlZWUgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICBcdCMzMzMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIFx0I2U1ZTVlNSAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgXHQjOTk5ICFkZWZhdWx0O1xyXG5cclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgXHRsaWdodGVuKCRpbnB1dC1jb2xvciwgNTAlKSAhZGVmYXVsdDsgIFxyXG4kaW5wdXQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICBcdCM5OTkgIWRlZmF1bHQ7XHJcblxyXG4vLyMjIEJvcmRlciByYWRpdXNcclxuJGdlbmVyYWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xyXG4kZm9ybS1jb250cm9sLWJvcmRlci1yYWRpdXM6ICAgICAgICA0cHggIWRlZmF1bHQ7XHJcbiRwb3J0bGV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyMjIFotaW5kZXggbWFzdGVyIGxpc3RcclxuLy9cclxuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XHJcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cclxuLy9cclxuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXHJcblxyXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICBcdFx0XHQ5OTk1ICFkZWZhdWx0O1xyXG4kemluZGV4LW5hdmJhci1hYm92ZTogICAgICBcdFx0XHQ5OTk5ICFkZWZhdWx0O1xyXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICBcdFx0XHQxMDAwICFkZWZhdWx0O1xyXG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICBcdFx0XHQxMDEwICFkZWZhdWx0O1xyXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICBcdFx0XHQxMDMwICFkZWZhdWx0O1xyXG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICBcdFx0XHQxMDMwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICBcdFx0XHQxMDA0OSAhZGVmYXVsdDtcclxuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgXHRcdFx0MTAwNTAgIWRlZmF1bHQ7XHJcbiR6aW5kZXgtdG9wOlx0XHRcdFx0XHRcdDEwMTAwICFkZWZhdWx0O1xyXG5cclxuLy8jIyBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXHJcbi8vXHJcbi8vRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cclxuXHJcbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXHJcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgXHRcdDQ4MHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XHJcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgXHRcdDc2OHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICBcdFx0OTkycHggIWRlZmF1bHQ7XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgIFx0IFx0MTIwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gTGFyZ2Ugc2NyZWUgLyB3aWRlciBkZXNrdG9wICAgICAgXHJcbiRzY3JlZW4tbGctbWVkOiAgICAgICAgICAgICAgICAgICAgIDEyNjBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxyXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgIFx0XHQoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcclxuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICBcdFx0KCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XHJcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgXHRcdCgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xyXG5cclxuLy8jIyBJbWcgcGF0aCBzZXR0aW5nc1xyXG5cclxuJGdlbmVyYWwtaW1nLXBhdGg6ICAgICAgICAgICAgICAgICAgJy4uL2ltZy8nOyAiLCIvLyBTaGFkb3dzXHJcbi5tZC1zaGFkb3ctei0xIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLCAuMTApLCAwIDFweCAycHggcmdiYSgwLDAsMCwgLjE4KTtcclxufVxyXG5cclxuLm1kLXNoYWRvdy16LTEtaSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwgLjEwKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsIC4xOCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1kLXNoYWRvdy16LTEtaG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsIC4xNCksIDAgMXB4IDJweCByZ2JhKDAsMCwwLCAuMjIpO1xyXG59XHJcblxyXG4ubWQtc2hhZG93LXotMiB7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwgLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsIC4yMik7XHJcbn1cclxuXHJcbi5tZC1zaGFkb3ctei0yLWkge1xyXG4gICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwwLDAsIC4xNiksIDAgM3B4IDZweCByZ2JhKDAsMCwwLCAuMjIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZC1zaGFkb3ctei0yLWhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsMCwwLCAuMjApLCAwIDNweCA2cHggcmdiYSgwLDAsMCwgLjI2KTtcclxufVxyXG5cclxuLm1kLXNoYWRvdy16LTMge1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDAsMCwwLCAuMTgpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwgLjIzKTtcclxufVxyXG5cclxuLm1kLXNoYWRvdy16LTMtaSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwwLDAsIC4xOCksIDAgNnB4IDZweCByZ2JhKDAsMCwwLCAuMjQpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZC1zaGFkb3ctei0zLWhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgwLDAsMCwgLjIyKSwgMCA2cHggNnB4IHJnYmEoMCwwLDAsIC4yNik7XHJcbn1cclxuXHJcbi5tZC1zaGFkb3ctei00IHtcclxuICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMCwwLDAsIC4yNiksIDAgMTBweCAxMHB4IHJnYmEoMCwwLDAsIC4yMik7XHJcbn1cclxuXHJcbi5tZC1zaGFkb3ctei00LWkge1xyXG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLDAsMCwgLjI2KSwgMCAxMHB4IDEwcHggcmdiYSgwLDAsMCwgLjIyKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWQtc2hhZG93LXotNSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsMCwwLCAuMjgpLCAwIDE1cHggMTJweCByZ2JhKDAsMCwwLCAuMjIpOyBcclxufVxyXG5cclxuLm1kLXNoYWRvdy16LTUtaSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDE5cHggMzhweCByZ2JhKDAsMCwwLCAuMjgpLCAwIDE1cHggMTJweCByZ2JhKDAsMCwwLCAuMjIpICFpbXBvcnRhbnQ7IFxyXG59XHJcblxyXG4ubWQtc2hhZG93LW5vbmUge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBDbGljayBlZmZlY3RzXHJcblxyXG4ubWQtY2xpY2stY2lyY2xlIHsgICAgICAgXHJcbiAgICBkaXNwbGF5OiBibG9jazsgXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGUoMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIFxyXG4gICAgJi5tZC1jbGljay1hbmltYXRlIHsgICBcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbWRDbGlja0VmZmVjdCAwLjU1cyBsaW5lYXI7XHJcbiAgICAgICAgLW1vei1hbmltYXRpb246IG1kQ2xpY2tFZmZlY3QgMC41NXMgbGluZWFyO1xyXG4gICAgICAgIGFuaW1hdGlvbjogbWRDbGlja0VmZmVjdCAwLjU1cyBsaW5lYXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtZENsaWNrRWZmZWN0IHtcclxuICAgIDEwMCUgeyAgICAgXHJcbiAgICAgb3BhY2l0eTogMDsgICAgICAgIFxyXG4gICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xyXG4gIH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIG1kQ2xpY2tFZmZlY3Qge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgb3BhY2l0eTogMDsgXHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDIuNSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1kQ2xpY2tFZmZlY3Qge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgb3BhY2l0eTogMDsgXHJcbiAgICAgdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xyXG4gIH1cclxufSIsIi8vIEZsb2F0aW5nICYgRm9ybSBMaW5lIElucHV0XG5cbkBtaXhpbiBpbnB1dC12YXJpYW50KCRjb2xvcikge1xuXG5cdC5mb3JtLWNvbnRyb2wge1xuXG5cdFx0Ji5lZGl0ZWQ6bm90KFtyZWFkb25seV0pLFxuXHRcdCYuZm9ybS1jb250cm9sLXN0YXRpYyxcblx0XHQmOmZvY3VzOm5vdChbcmVhZG9ubHldKSxcblx0XHQmLmZvY3VzOm5vdChbcmVhZG9ubHldKSB7XG5cdFx0XHR+IGxhYmVsLFxuXHRcdFx0fiAuZm9ybS1jb250cm9sLWZvY3VzIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdH4gbGFiZWwge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHR+IGkge1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHR+IC5oZWxwLWJsb2NrIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaW5wdXQtZ3JvdXAtYWRkb24ge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQuZm9ybS1ob3Jpem9udGFsICYgPiBsYWJlbCB7XG5cdFx0Y29sb3I6ICRjb2xvcjtcbiAgXHR9XG59XG5cbi5mb3JtLWdyb3VwLmZvcm0tbWQtbGluZS1pbnB1dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXHRtYXJnaW46IDAgMCAzNXB4IDA7XG4gIFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0LmZvcm0taG9yaXpvbnRhbCAmIHtcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdG1hcmdpbjogMCAtMTVweCAyMHB4IC0xNXB4O1xuXHR9XG5cbiAgXHQuZm9ybS1ob3Jpem9udGFsICYgPiBsYWJlbCB7XG4gIFx0XHRwYWRkaW5nLXRvcDogNXB4O1xuICBcdFx0Zm9udC1zaXplOiAkaW5wdXQtbWQtbGFiZWwtZm9udC1zaXplO1xuXHRcdGNvbG9yOiAkaW5wdXQtbWQtbGFiZWwtY29sb3I7XG5cdFx0QGluY2x1ZGUgb3BhY2l0eSgkaW5wdXQtbWQtbGFiZWwtb3BhY2l0eSk7XG4gIFx0fVxuXG4gIFx0JjpsYXN0LWNoaWxkIHtcbiAgXHRcdG1hcmdpbi1ib3R0b206IDA7XG4gIFx0fVxuXG4gIFx0JiArIC5pbnB1dC1pY29uIHtcbiAgXHRcdHBhZGRpbmctdG9wOiAwO1xuICBcdH1cblxuICBcdD4gLmlucHV0LWljb24ge1xuICBcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0XHQ+IGkge1xuXHRcdFx0bGVmdDogMDtcbiAgICAgICAgXHRib3R0b206IDA7XG4gICAgICAgIFx0bWFyZ2luOiAxMXB4IDJweCAxMHB4IDEwcHg7XG5cdFx0XHRjb2xvcjogJGlucHV0LW1kLWxhYmVsLWNvbG9yO1xuXHRcdH1cblxuXHRcdCYucmlnaHQge1xuXHRcdFx0PiBpIHtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdFx0cmlnaHQ6IDhweDtcblx0XHRcdFx0bWFyZ2luOiAxMXB4IDJweCAxMHB4IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuICBcdH1cblxuXHQuZm9ybS1jb250cm9sIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGlucHV0LW1kLWlucHV0LWJvcmRlcjtcblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlcigkaW5wdXQtbWQtcGxhY2Vob2xkZXIpO1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cdFx0Y29sb3I6ICRpbnB1dC1tZC1jb2xvcjtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0Ji5mb3JtLWNvbnRyb2wtc3RhdGljIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdFx0Ji5pbnB1dC1zbSB7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRwYWRkaW5nOiA2cHggMDtcblx0XHR9XG5cblx0XHQmLmlucHV0LWxnIHtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdHBhZGRpbmc6IDE0cHggMDtcblx0XHR9XG5cblx0XHR+IGxhYmVsLFxuXHRcdH4gLmZvcm0tY29udHJvbC1mb2N1cyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0LmZvcm0taG9yaXpvbnRhbCAmIHtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdGxlZnQ6IDE1cHg7XG5cdFx0XHRcdHJpZ2h0OiAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHQgIFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICBcdHotaW5kZXg6IDU7XG5cdFx0XHQgIFx0Ym90dG9tOiAwO1xuXHRcdFx0ICBcdGxlZnQ6IDUwJTtcblx0XHRcdCAgXHR3aWR0aDogMDtcblx0XHRcdCAgXHRoZWlnaHQ6IDJweDtcblx0XHRcdCAgXHR3aWR0aDogMDtcblx0XHRcdCAgXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHQgIFx0dHJhbnNpdGlvbjogMC4ycyBlYXNlIGFsbDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR+IGxhYmVsIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRmb250LXNpemU6ICRpbnB1dC1tZC1sYWJlbC1mb250LXNpemU7XG5cdFx0XHRjb2xvcjogJGlucHV0LW1kLWxhYmVsLWNvbG9yO1xuXHRcdFx0QGluY2x1ZGUgb3BhY2l0eSgkaW5wdXQtbWQtbGFiZWwtb3BhY2l0eSk7XG5cdFx0fVxuXG4gICBcdFx0Ji5lZGl0ZWQ6bm90KFtyZWFkb25seV0pLFxuXHRcdCY6Zm9jdXM6bm90KFtyZWFkb25seV0pLFxuXHRcdCYuZm9jdXM6bm90KFtyZWFkb25seV0pIHtcblx0XHRcdH4gbGFiZWwsXG5cdFx0XHR+IC5mb3JtLWNvbnRyb2wtZm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJGlucHV0LW1kLWxhYmVsLWNvbG9yO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdCAgXHRcdGJhY2tncm91bmQ6ICRpbnB1dC1tZC1mb2N1cy1ib3JkZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0fiBsYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIG9wYWNpdHkoMSk7XG5cdFx0XHR9XG5cblx0XHRcdH4gLmhlbHAtYmxvY2sge1xuXHRcdFx0XHRjb2xvcjogJGlucHV0LW1kLWZvY3VzLWJvcmRlcjtcblx0XHRcdFx0QGluY2x1ZGUgb3BhY2l0eSgxKTtcblx0XHRcdH1cblx0XHR9XG5cblx0IFx0JltyZWFkb25seV0sXG5cdFx0JltkaXNhYmxlZF0sXG5cdCAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG5cdCAgICBcdGJhY2tncm91bmQ6IG5vbmU7XG5cdCAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkaW5wdXQtYm9yZGVyO1xuXHQgICAgfVxuXHR9XG5cblx0Ji5mb3JtLW1kLWZsb2F0aW5nLWxhYmVsIHtcblx0XHQuZm9ybS1jb250cm9sIHtcblxuXHRcdCAgIFx0fiBsYWJlbCB7XG5cdFx0ICAgXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0dG9wOiAyNXB4O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsO1xuXHRcdFx0XHRjb2xvcjogJGlucHV0LW1kLXBsYWNlaG9sZGVyO1xuXHRcdCAgIFx0fVxuXG5cdFx0XHQmW3JlYWRvbmx5XSxcblx0XHQgICBcdCYuZWRpdGVkLFxuXHRcdCAgIFx0Ji5mb3JtLWNvbnRyb2wtc3RhdGljLFxuXHRcdCAgIFx0Jjpmb2N1czpub3QoW3JlYWRvbmx5XSksXG5cdFx0XHQmLmZvY3VzOm5vdChbcmVhZG9ubHldKSB7XG5cdFx0XHRcdH4gbGFiZWwge1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5pbnB1dC1zbSB7XG5cdFx0XHRcdH4gbGFiZWwge1xuXHRcdFx0ICAgXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHR0b3A6IDI0cHg7XG5cdFx0XHQgICBcdH1cblxuXHRcdFx0XHQmW3JlYWRvbmx5XSxcblx0XHRcdFx0Ji5mb3JtLWNvbnRyb2wtc3RhdGljLFxuXHRcdFx0ICAgXHQmLmVkaXRlZCxcblx0XHRcdCAgIFx0Jjpmb2N1czpub3QoW3JlYWRvbmx5XSksXG5cdFx0XHRcdCYuZm9jdXM6bm90KFtyZWFkb25seV0pIHtcblx0XHRcdFx0XHR+IGxhYmVsIHtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5pbnB1dC1sZyB7XG5cdFx0XHRcdH4gbGFiZWwge1xuXHRcdFx0ICAgXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHR0b3A6IDMwcHg7XG5cdFx0XHQgICBcdH1cblxuXHRcdFx0XHQmW3JlYWRvbmx5XSxcblx0XHRcdCAgIFx0Ji5lZGl0ZWQsXG5cdFx0XHQgICBcdCYuZm9ybS1jb250cm9sLXN0YXRpYyxcblx0XHRcdCAgIFx0Jjpmb2N1czpub3QoW3JlYWRvbmx5XSksXG5cdFx0XHRcdCYuZm9jdXM6bm90KFtyZWFkb25seV0pIHtcblx0XHRcdFx0XHR+IGxhYmVsIHtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaW5wdXQtaWNvbiA+IGxhYmVsIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMzRweDtcblx0XHR9XG5cblx0XHQuaW5wdXQtaWNvbi5yaWdodCA+IGxhYmVsIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDM0cHg7XG5cdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwLmxlZnQtYWRkb24ge1xuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDM0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwLnJpZ2h0LWFkZG9uIHtcblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMzRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQ+IC5pbnB1dC1pY29uIHtcblx0XHQ+IGkge1xuXHRcdFx0bWFyZ2luLXRvcDogOXB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAzNHB4O1xuXHRcdH1cblxuXHRcdCYucmlnaHQge1xuXHRcdFx0LmZvcm0tY29udHJvbCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMzRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaGVscC1ibG9jayB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgIFx0bWFyZ2luOiAycHggMCAwIDA7XG5cdCAgXHRAaW5jbHVkZSBvcGFjaXR5KDApO1xuXHQgIFx0Zm9udC1zaXplOiAxM3B4O1xuXHR9XG5cblx0Ji5oYXMtc3VjY2VzcyB7XG5cdFx0QGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xuXHRcdFx0QGluY2x1ZGUgaW5wdXQtdmFyaWFudCgkc3RhdGUtc3VjY2Vzcy1iZyk7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaW5jbHVkZSBpbnB1dC12YXJpYW50KCRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXHRcdH1cblx0fVxuXG5cdCYuaGFzLXdhcm5pbmcge1xuXHRcdEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcblx0XHRcdEBpbmNsdWRlIGlucHV0LXZhcmlhbnQoJHN0YXRlLXdhcm5pbmctYmcpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QGluY2x1ZGUgaW5wdXQtdmFyaWFudCgkc3RhdGUtd2FybmluZy10ZXh0KTtcblx0XHR9XG5cdH1cblxuXHQmLmhhcy1lcnJvciB7XG5cdFx0QGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xuXHRcdFx0QGluY2x1ZGUgaW5wdXQtdmFyaWFudCgkc3RhdGUtZGFuZ2VyLWJnKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdEBpbmNsdWRlIGlucHV0LXZhcmlhbnQoJHN0YXRlLWRhbmdlci10ZXh0KTtcblx0XHR9XG5cdH1cblxuXHQmLmhhcy1pbmZvIHtcblx0XHRAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XG5cdFx0XHRAaW5jbHVkZSBpbnB1dC12YXJpYW50KCRzdGF0ZS1pbmZvLWJnKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdEBpbmNsdWRlIGlucHV0LXZhcmlhbnQoJHN0YXRlLWluZm8tdGV4dCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW5wdXQgZ3JvdXBzXG5cblx0JiArIC5pbnB1dC1ncm91cCB7XG4gIFx0XHRwYWRkaW5nLXRvcDogMDtcbiAgXHR9XG5cblx0LmlucHV0LWdyb3VwIHtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblxuXHRcdC5pbnB1dC1ncm91cC1hZGRvbiB7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyO1xuXHRcdH1cblxuXHRcdCYgKyAuaW5wdXQtZ3JvdXAtY29udHJvbCB7XG4gIFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuICBcdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwLWNvbnRyb2wge1xuXHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdH1cblxuXHRcdC5pbnB1dC1ncm91cC1idG4ge1xuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwLWJ0bi5idG4tbGVmdCAuYnRuIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IC0yMHB4O1xuXHRcdH1cblxuXHRcdC5pbnB1dC1ncm91cC1idG4uYnRuLXJpZ2h0IC5idG4ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtMjBweDtcblx0XHR9XG5cblx0XHQmLmlucHV0LWdyb3VwLXNtIHtcblx0XHRcdC5pbnB1dC1ncm91cC1idG4gLmJ0biB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC0yMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuaW5wdXQtZ3JvdXAtbGcge1xuXHRcdFx0LmlucHV0LWdyb3VwLWJ0biAuYnRuIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIElubGluZSBmb3Jtc1xuXG4uZm9ybS1pbmxpbmUge1xuXHQuZm9ybS1tZC1saW5lLWlucHV0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG5cdFx0PiAuaW5wdXQtaWNvbiB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG5cbi5mb3JtLWhvcml6b250YWwge1xuXHQuZm9ybS1ncm91cC5mb3JtLW1kLWxpbmUtaW5wdXQge1xuXHRcdC5pbnB1dC1pY29uIHtcblx0XHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMzcHg7XG5cdFx0XHR9XG5cblx0XHRcdD4gaSB7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji5yaWdodCB7XG5cdFx0XHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdD4gLmZvcm0tY29udHJvbC1mb2N1cyB7XG5cdFx0XHRcdGxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0cmlnaHQ6IDAgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9ybS1ncm91cC5mb3JtLW1kLWxpbmUtaW5wdXQge1xuXHRcdC5pbnB1dC1ncm91cCB7XG5cdCAgXHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdCAgXHRcdD4gLmlucHV0LWdyb3VwLWJ0biB7XG5cdCAgXHRcdFx0LmJ0biB7XG5cdCAgXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdCAgXHRcdFx0fVxuXHQgIFx0XHR9XG5cblx0ICBcdFx0PiAuaW5wdXQtZ3JvdXAtY29udHJvbCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXG5cdCAgXHRcdFx0PiAuZm9ybS1jb250cm9sLWZvY3VzIHtcblx0ICBcdFx0XHRcdGxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRyaWdodDogMCAhaW1wb3J0YW50O1xuXHQgIFx0XHRcdH1cblx0ICBcdFx0fVxuXG5cdFx0XHQ+IC5mb3JtLWNvbnRyb2wtZm9jdXMge1xuXHRcdFx0XHRsZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvL1xyXG4vLyBNaXhpbnNcclxuLy8gQmFzZWQgb24gVHdpdHRlciBCb290c3RyYXAncyBfbWl4aW5ncy5zY3NzXHJcblxyXG5cclxuLy8gQ2xlYXJmaXhcclxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXHJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3BhY2l0eVxyXG5cclxuQG1peGluIG9wYWNpdHkoJHZhbHVlLCAkaW1wb3J0YW50OiAnJykge1xyXG4gIG9wYWNpdHk6ICR2YWx1ZSAjeyRpbXBvcnRhbnR9O1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0jeyR2YWx1ZSAqIDEwMH0pICN7JGltcG9ydGFudH07XHJcbn1cclxuXHJcbi8vIEJvcmRlciByYWRpdXMuXHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzLCAkaW1wb3J0YW50OiAnJykge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cyN7JGltcG9ydGFudH07XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzI3skaW1wb3J0YW50fTtcclxuICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cyN7JGltcG9ydGFudH07ICBcclxuICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzI3skaW1wb3J0YW50fTsgICAgICBcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzI3skaW1wb3J0YW50fTsgXHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7IGNvbG9yOiAkY29sb3I7IG9wYWNpdHk6IDE7IH0gLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxyXG59XHJcblxyXG4vLyBEcm9wIHNoYWRvd3NcclxuLy8gQnkgZGVmYXVsdCBzZXQgdG86IG5vbmVcclxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdykge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy8gQnkgZGVmYXVsdCBzZXQgdG86IG5vbmVcclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuXHJcbi8vIFBhbmVsc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcblxyXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XHJcblxyXG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmID4gLnBhbmVsLWZvb3RlciB7XHJcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbGVydHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXI7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xyXG4gIH1cclxuICAuYWxlcnQtbGluayB7IFxyXG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkdGV4dCkge1xyXG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XHJcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cclxuICBcclxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxyXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXHJcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XHJcbiAgICA+IHRkLiN7JHN0YXRlfSxcclxuICAgID4gdGguI3skc3RhdGV9LFxyXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCwgIFxyXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICBjb2xvcjogJHRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXHJcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXHJcbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XHJcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcclxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxyXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcclxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIExpc3QgR3JvdXBzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xyXG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XHJcbiAgfVxyXG5cclxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgeyBjb2xvcjogaW5oZXJpdDsgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSxcclxuICAgICYuYWN0aXZlOmhvdmVyLFxyXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcclxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXHJcbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBAaWYgJGJvcmRlciAhPSBcIlwiIHsgYm9yZGVyLWNvbG9yOiAkYm9yZGVyOyB9IFxyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMsXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNyUpO1xyXG4gICAgQGlmICRib3JkZXIgIT0gXCJcIiB7IGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEwJSk7IH1cclxuICB9XHJcbiAgLm9wZW4gJiB7ICYuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDclKTtcclxuICAgIEBpZiAkYm9yZGVyICE9IFwiXCIgeyBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMCUpOyB9IFxyXG4gIH0gfVxyXG4gICY6YWN0aXZlLFxyXG4gICYuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEyJSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTsgIFxyXG4gICAgfVxyXG4gIH1cclxuICAub3BlbiAmIHsgJi5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9IH1cclxuICAmLmRpc2FibGVkLCBcclxuICAmW2Rpc2FibGVkXSxcclxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgIEBpZiAkYm9yZGVyICE9IFwiXCIgeyBib3JkZXItY29sb3I6ICRib3JkZXI7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iYWRnZSB7XHJcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBMYWJlbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgJltocmVmXSB7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQcm9ncmVzcyBiYXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcclxuLy9cclxuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxyXG4vLyBhbmQgc3VjY2Vzc2VzLlxyXG5cclxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xyXG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XHJcbiAgLmhlbHAtYmxvY2ssXHJcbiAgLmhlbHAtaW5saW5lLCBcclxuICAuY29udHJvbC1sYWJlbCxcclxuICAucmFkaW8sXHJcbiAgLmNoZWNrYm94LFxyXG4gIC5yYWRpby1pbmxpbmUsXHJcbiAgLmNoZWNrYm94LWlubGluZSAge1xyXG4gICAgXHJcbiAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICB9IFxyXG4gIH1cclxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XHJcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xyXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuXHJcbiAgICA+IGkge1xyXG4gICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXHJcbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTWF0ZXJpYWwgRGVzaWduIFRyYW5zaXRpb25zXHJcblxyXG5AbWl4aW4gIGVhc2Utb3V0KCRkdXJhdGlvbjogNDUwbXMsICRwcm9wZXJ0eTogYWxsLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0eSAkZHVyYXRpb24gY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpICRkZWxheTtcclxufVxyXG5cclxuQG1peGluICBwdWxzYXRlKCRhbmltYXRpb24tbmFtZSwgJHN0YXJ0LXNpemU6IDAuNzUsICRlbmQtc2l6ZTogMSwgJGR1cmF0aW9uOiAxLjVzKSB7XHJcbiAgQGtleWZyYW1lcyBcIiN7JGFuaW1hdGlvbi1uYW1lfVwiIHtcclxuICAgIDAlLCAxMDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc3RhcnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKCRlbmQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgfSAgXHJcbiAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uLW5hbWUgJGR1cmF0aW9uIGVhc2UgMHMgaW5maW5pdGU7XHJcbn1cclxuXHJcbiIsIkBtaXhpbiBjaGVja2JveC12YXJpYW50KCRib3gsICRjaGVjaywgJGxhYmVsKSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkbGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgPiAuYm94IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkYm94O1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsID4gLmNoZWNrIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hlY2s7XHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY2hlY2tib3gtbGFiZWwtdmFyaWFudCgkY29sb3IpIHsgICAgICAgICBcclxuICAgID4gbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yOyAgICAgXHJcbiAgICB9ICAgXHJcbn1cclxuXHJcblxyXG4ubWQtY2hlY2tib3gge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcblxyXG4gICAgLy8gSW5saW5lIGNoZWNrYm94XHJcblxyXG4gICAgJi5tZC1jaGVja2JveC1pbmxpbmUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWlubGluZSAmLm1kLWNoZWNrYm94LWlubGluZSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgdG9wOiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF0gICB7IFxyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgXHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgeyAgIFxyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyOyBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7ICBcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IHNwYW4geyBcclxuICAgICAgICBkaXNwbGF5OmJsb2NrOyAgICBcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgXHJcbiAgICAgICAgbGVmdDowOyBcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246MC4zczsgXHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOjAuM3M7IFxyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246MC4zcztcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IHNwYW4uaW5jICAgeyBcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgbGVmdDotMjBweDsgIFxyXG4gICAgICB0b3A6LTIwcHg7XHJcbiAgICAgIGhlaWdodDo2MHB4O1xyXG4gICAgICB3aWR0aDo2MHB4O1xyXG4gICAgICBvcGFjaXR5OjA7IFxyXG4gICAgICBib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50OyBcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50OyBcclxuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsID4gLmJveCB7XHJcbiAgICAgIHRvcDowcHg7XHJcbiAgICAgIGJvcmRlcjoycHggc29saWQgJGlucHV0LW1kLWNoZWNrYm94LWJveC1jb2xvcjtcclxuICAgICAgaGVpZ2h0OjIwcHg7ICAgXHJcbiAgICAgIHdpZHRoOjIwcHg7XHJcbiAgICAgIHotaW5kZXg6NTtcclxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjAuMnM7IC1tb3otdHJhbnNpdGlvbi1kZWxheTowLjJzOyB0cmFuc2l0aW9uLWRlbGF5OjAuMnM7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgPiAuY2hlY2sge1xyXG4gICAgICB0b3A6IC00cHg7XHJcbiAgICAgIGxlZnQ6IDZweDtcclxuICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgYm9yZGVyOjJweCBzb2xpZCAkaW5wdXQtbWQtZm9jdXMtYm9yZGVyOyAgXHJcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICBvcGFjaXR5OjA7IFxyXG4gICAgICB6LWluZGV4OjU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOyBcclxuICAgICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7IFxyXG4gICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowLjNzOyBcclxuICAgICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OjAuM3M7IHRyYW5zaXRpb24tZGVsYXk6MC4zcztcclxuICAgIH1cclxuXHJcbiAgICAvKiBoYW5kbGluZyBjbGljayBldmVudHMgKi9cclxuXHJcbiAgICAvKiB3aGVuIGNoZWNrYm94IGlzIGNoZWNrZWQgKi9cclxuICAgIGxhYmVsID4gc3Bhbi5pbmMge1xyXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbiAgIDpncm93Q2lyY2xlIDAuM3MgZWFzZTtcclxuICAgICAgLW1vei1hbmltYXRpb24gICAgICA6Z3Jvd0NpcmNsZSAwLjNzIGVhc2U7XHJcbiAgICAgIGFuaW1hdGlvbiAgICAgICAgICAgOmdyb3dDaXJjbGUgMC4zcyBlYXNlOyAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiBsYWJlbCA+IC5ib3ggeyBcclxuICAgICAgb3BhY2l0eTowO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybSAgIDpzY2FsZSgwKSByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtICAgICAgICA6c2NhbGUoMCkgcm90YXRlKC0xODBkZWcpO1xyXG4gICAgICB0cmFuc2Zvcm0gICAgICAgICAgICAgICAgIDpzY2FsZSgwKSByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IGxhYmVsID4gLmNoZWNrIHtcclxuICAgICAgb3BhY2l0eToxOyBcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gICA6c2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgLW1vei10cmFuc2Zvcm0gICAgICA6c2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgdHJhbnNmb3JtICAgICAgICAgICA6c2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJsZWQgfiBsYWJlbCxcclxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSB+IGxhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoJGlucHV0LW1kLWNoZWNrYm94LWRpc2FibGVkLW9wYWNpdHkpOyBcclxuICAgIH1cclxuICAgXHJcbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCB+IGxhYmVsID4gLmJveCxcclxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSB+IGxhYmVsID4gLmJveCB7IFxyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgkaW5wdXQtbWQtY2hlY2tib3gtZGlzYWJsZWQtb3BhY2l0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1jaGVja2JveF06ZGlzYWJsZWQ6Y2hlY2tlZCB+IGxhYmVsID4gLmNoZWNrLCBcclxuICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpjaGVja2VkIH4gbGFiZWwgPiAuY2hlY2sgeyAgICAgICAgICAgXHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KCRpbnB1dC1tZC1jaGVja2JveC1kaXNhYmxlZC1vcGFjaXR5KTtcclxuICAgIH0gXHJcblxyXG4gICAgLy8gRXJyb3Igc3RhdGVzXHJcbiAgICAvL2NoZWNrYm94LXZhcmlhbnQoJGJveCwgJGNoZWNrLCAkbGFiZWwpXHJcblxyXG4gICAgJi5oYXMtZXJyb3Ige1xyXG4gICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJHN0YXRlLWRhbmdlci1ib3JkZXIsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItYmcpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgJi5oYXMtaW5mbyB7XHJcbiAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgkc3RhdGUtaW5mby1ib3JkZXIsICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby1iZyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICBAaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oYXMtc3VjY2VzcyB7XHJcbiAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgkc3RhdGUtc3VjY2Vzcy1ib3JkZXIsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICBAaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oYXMtd2FybmluZyB7XHJcbiAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgkc3RhdGUtd2FybmluZy1ib3JkZXIsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy1iZyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICBAaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCRicmFuZC13YXJuaW5nLCAkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLW1kLWNoZWNrYm94ZXMge1xyXG4gICAgPiBsYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaW5wdXQtbWQtbGFiZWwtZm9udC1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtbWQtbGFiZWwtY29sb3I7ICAgICBcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KCRpbnB1dC1tZC1sYWJlbC1vcGFjaXR5KTtcclxuICAgIH0gIFxyXG5cclxuICAgICYuaGFzLWVycm9yIHtcclxuICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWxhYmVsLXZhcmlhbnQoJHN0YXRlLWRhbmdlci1iZyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWxhYmVsLXZhcmlhbnQoJGJyYW5kLWRhbmdlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLWluZm8ge1xyXG4gICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtbGFiZWwtdmFyaWFudCgkc3RhdGUtaW5mby1iZyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWxhYmVsLXZhcmlhbnQoJGJyYW5kLWluZm8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhhcy1zdWNjZXNzIHtcclxuICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWxhYmVsLXZhcmlhbnQoJHN0YXRlLXN1Y2Nlc3MtYmcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1sYWJlbC12YXJpYW50KCRicmFuZC1zdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oYXMtd2FybmluZyB7XHJcbiAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjaGVja2JveC1sYWJlbC12YXJpYW50KCRzdGF0ZS13YXJuaW5nLWJnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3gtbGFiZWwtdmFyaWFudCgkYnJhbmQtd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWQtY2hlY2tib3gtbGlzdCB7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcblxyXG4gIC5mb3JtLWhvcml6b250YWwgJiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7ICAgIFxyXG4gIH0gICBcclxuXHJcbiAgLm1kLWNoZWNrYm94IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbn0gIFxyXG5cclxuLm1kLWNoZWNrYm94LWlubGluZSB7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcblxyXG4gIC5mb3JtLWhvcml6b250YWwgJiB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7ICAgIFxyXG4gIH1cclxuXHJcbiAgLm1kLWNoZWNrYm94IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiAgICAgXHJcbi8qIGJ1YmJsZSBhbmltYXRpb24gKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBncm93Q2lyY2xlIHtcclxuICAwJSwgMTAwJSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7IG9wYWNpdHk6IDF9XHJcbiAgNzAlICAgICAgICB7IGJhY2tncm91bmQ6I2VlZTsgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4yNSk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZ3Jvd0NpcmNsZSB7XHJcbiAgMCUsIDEwMCUgICB7IC1tb3otdHJhbnNmb3JtOnNjYWxlKDApOyBvcGFjaXR5OiAxfVxyXG4gIDcwJSAgICAgICAgeyBiYWNrZ3JvdW5kOiNlZWU7IC1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMjUpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBncm93Q2lyY2xlIHtcclxuICAwJSwgMTAwJSAgIHsgdHJhbnNmb3JtOnNjYWxlKDApOyBvcGFjaXR5OiAxfVxyXG4gIDcwJSAgICAgICAgeyBiYWNrZ3JvdW5kOiNlZWU7IHRyYW5zZm9ybTpzY2FsZSgxLjI1KTsgfVxyXG59IiwiQG1peGluIHJhZGlvLXZhcmlhbnQoJGJveCwgJGNoZWNrLCAkbGFiZWwpIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgY29sb3I6ICRsYWJlbDtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IC5ib3gge1xyXG4gICAgICBib3JkZXItY29sb3I6ICRib3g7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgPiAuY2hlY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY2hlY2s7XHJcbiAgICB9IFxyXG59XHJcblxyXG5AbWl4aW4gcmFkaW8tbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcclxuICAgID4gbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yOyAgICAgXHJcbiAgICB9ICAgXHJcbn1cclxuXHJcblxyXG4ubWQtcmFkaW8ge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb10gICB7IFxyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgXHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgeyAgIFxyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyOyBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7ICBcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IHNwYW4geyBcclxuICAgICAgICBkaXNwbGF5OmJsb2NrOyAgICBcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgXHJcbiAgICAgICAgbGVmdDowOyBcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246MC4zczsgXHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOjAuM3M7IFxyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246MC4zcztcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IHNwYW4uaW5jICAgeyBcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgbGVmdDotMjBweDsgIFxyXG4gICAgICB0b3A6LTIwcHg7XHJcbiAgICAgIGhlaWdodDo2MHB4O1xyXG4gICAgICB3aWR0aDo2MHB4O1xyXG4gICAgICBvcGFjaXR5OjA7IFxyXG4gICAgICBib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6NTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCA+IC5ib3gge1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgICAgYm9yZGVyOjJweCBzb2xpZCAkaW5wdXQtbWQtY2hlY2tib3gtYm94LWNvbG9yO1xyXG4gICAgICBoZWlnaHQ6MjBweDsgICBcclxuICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgIGJvcmRlci1yYWRpdXM6NTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czo1MCUgIWltcG9ydGFudDtcclxuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50O1xyXG4gICAgICB6LWluZGV4OjU7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwgPiAuY2hlY2sge1xyXG4gICAgICB0b3A6IDVweDtcclxuICAgICAgbGVmdDogNXB4OyAgIFxyXG4gICAgICB3aWR0aDogMTBweDtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtbWQtZm9jdXMtYm9yZGVyOyAgXHJcbiAgICAgIG9wYWNpdHk6MDsgXHJcbiAgICAgIHotaW5kZXg6NjsgIFxyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czo1MCUgIWltcG9ydGFudDtcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOjUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybSAgIDpzY2FsZSgwKTtcclxuICAgICAgLW1vei10cmFuc2Zvcm0gICAgICA6c2NhbGUoMCk7XHJcbiAgICAgIHRyYW5zZm9ybSAgICAgICAgICAgOnNjYWxlKDApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGhhbmRsaW5nIGNsaWNrIGV2ZW50cyAqL1xyXG5cclxuICAgIC8qIHdoZW4gcmFkaW8gaXMgY2hlY2tlZCAqL1xyXG4gICAgbGFiZWwgPiBzcGFuLmluYyB7XHJcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uICAgOmdyb3dDaXJjbGVSYWRpbyAwLjNzIGVhc2U7XHJcbiAgICAgIC1tb3otYW5pbWF0aW9uICAgICAgOmdyb3dDaXJjbGVSYWRpbyAwLjNzIGVhc2U7XHJcbiAgICAgIGFuaW1hdGlvbiAgICAgICAgICAgOmdyb3dDaXJjbGVSYWRpbyAwLjNzIGVhc2U7ICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IGxhYmVsID4gLmNoZWNrIHtcclxuICAgICAgb3BhY2l0eToxOyBcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gICA6c2NhbGUoMSk7XHJcbiAgICAgIC1tb3otdHJhbnNmb3JtICAgICAgOnNjYWxlKDEpO1xyXG4gICAgICB0cmFuc2Zvcm0gICAgICAgICAgIDpzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiBsYWJlbCxcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IGxhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoJGlucHV0LW1kLWNoZWNrYm94LWRpc2FibGVkLW9wYWNpdHkpOyBcclxuICAgIH1cclxuICAgXHJcbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IGxhYmVsID4gLmJveCxcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IGxhYmVsID4gLmJveCB7IFxyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgkaW5wdXQtbWQtY2hlY2tib3gtZGlzYWJsZWQtb3BhY2l0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQ6Y2hlY2tlZCB+IGxhYmVsID4gLmNoZWNrLCBcclxuICAgIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXTpjaGVja2VkIH4gbGFiZWwgPiAuY2hlY2sgeyAgICAgICAgICAgXHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KCRpbnB1dC1tZC1jaGVja2JveC1kaXNhYmxlZC1vcGFjaXR5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBFcnJvciBzdGF0ZXNcclxuICAgICYuaGFzLWVycm9yIHtcclxuICAgICAgQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgICAgICBAaW5jbHVkZSByYWRpby12YXJpYW50KCRzdGF0ZS1kYW5nZXItYm9yZGVyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLWJnKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgIEBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJGJyYW5kLWRhbmdlciwgJGJyYW5kLWRhbmdlciwgJGJyYW5kLWRhbmdlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgICYuaGFzLWluZm8ge1xyXG4gICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgIEBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJHN0YXRlLWluZm8tYm9yZGVyLCAkc3RhdGUtaW5mby1iZywgJHN0YXRlLWluZm8tYmcpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8sICRicmFuZC1pbmZvKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLXN1Y2Nlc3Mge1xyXG4gICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgIEBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyLCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MsICRicmFuZC1zdWNjZXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLXdhcm5pbmcge1xyXG4gICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgIEBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJHN0YXRlLXdhcm5pbmctYm9yZGVyLCAkc3RhdGUtd2FybmluZy1iZywgJHN0YXRlLXdhcm5pbmctYmcpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcsICRicmFuZC13YXJuaW5nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmZvcm0tbWQtcmFkaW9zIHtcclxuICAgID4gbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGlucHV0LW1kLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGlucHV0LW1kLWxhYmVsLWNvbG9yOyAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgkaW5wdXQtbWQtbGFiZWwtb3BhY2l0eSk7XHJcbiAgICB9ICBcclxuXHJcbiAgICAmLmhhcy1lcnJvciB7XHJcbiAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYWRpby1sYWJlbC12YXJpYW50KCRzdGF0ZS1kYW5nZXItYmcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYWRpby1sYWJlbC12YXJpYW50KCRicmFuZC1kYW5nZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhhcy1pbmZvIHtcclxuICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGlvLWxhYmVsLXZhcmlhbnQoJHN0YXRlLWluZm8tYmcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYWRpby1sYWJlbC12YXJpYW50KCRicmFuZC1pbmZvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oYXMtc3VjY2VzcyB7XHJcbiAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSByYWRpby1sYWJlbC12YXJpYW50KCRzdGF0ZS1zdWNjZXNzLWJnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmFkaW8tbGFiZWwtdmFyaWFudCgkYnJhbmQtc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLXdhcm5pbmcge1xyXG4gICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcmFkaW8tbGFiZWwtdmFyaWFudCgkc3RhdGUtd2FybmluZy1iZyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJhZGlvLWxhYmVsLXZhcmlhbnQoJGJyYW5kLXdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1kLXJhZGlvLWxpc3Qge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAuZm9ybS1ob3Jpem9udGFsICYge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4OyAgICBcclxuICB9XHJcblxyXG4gIC5tZC1yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG59ICBcclxuXHJcbi5tZC1yYWRpby1pbmxpbmUge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAuZm9ybS1ob3Jpem9udGFsICYge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4OyAgICBcclxuICB9XHJcblxyXG4gIC5tZC1yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4gICAgIFxyXG4vKiBidWJibGUgYW5pbWF0aW9uICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0NpcmNsZVJhZGlvIHtcclxuICAwJSwgMTAwJSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7IG9wYWNpdHk6IDF9XHJcbiAgNzAlICAgICAgICB7IGJhY2tncm91bmQ6I2VlZTsgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4yNSk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgZ3Jvd0NpcmNsZVJhZGlvIHtcclxuICAwJSwgMTAwJSAgIHsgLW1vei10cmFuc2Zvcm06c2NhbGUoMCk7IG9wYWNpdHk6IDF9XHJcbiAgNzAlICAgICAgICB7IGJhY2tncm91bmQ6I2VlZTsgLW1vei10cmFuc2Zvcm06c2NhbGUoMS4yNSk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIGdyb3dDaXJjbGVSYWRpbyB7XHJcbiAgMCUsIDEwMCUgICB7IHRyYW5zZm9ybTpzY2FsZSgwKTsgb3BhY2l0eTogMX1cclxuICA3MCUgICAgICAgIHsgYmFja2dyb3VuZDojZWVlOyB0cmFuc2Zvcm06c2NhbGUoMS4yNSk7IH1cclxufSIsIi8qKipcclxuR2VuZXJhbCB0eXBvZ3JhcGh5XHJcbioqKi9cclxuXHJcbi8qIEhlYWRpbmdzICovXHJcblxyXG5oMSxcclxuaDIsIFxyXG5oMywgXHJcbmg0LCBcclxuaDUsIFxyXG5oNiB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDE7XHJcbn1cclxuaDIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWgyO1xyXG59XHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMztcclxufVxyXG5oNCB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaDQ7XHJcbn1cclxuaDUge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWg1O1xyXG59XHJcbmg2IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjtcclxufVxyXG5cclxuLyogSGVhZGluZ3MgaGVscGVyIHRleHQgKi8gXHJcblxyXG5oMSBzbWFsbCxcclxuaDIgc21hbGwsXHJcbmgzIHNtYWxsLCBcclxuaDQgc21hbGwsIFxyXG5oNSBzbWFsbCxcclxuaDYgc21hbGwge1xyXG4gICAgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yO1xyXG59XHJcblxyXG4vKiBCbG9jayBoZWFkaW5ncyAqL1xyXG5cclxuaDEuYmxvY2ssIFxyXG5oMi5ibG9jaywgXHJcbmgzLmJsb2NrLCBcclxuaDQuYmxvY2ssIFxyXG5oNS5ibG9jaywgXHJcbmg2LmJsb2NrIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi8qIExpbmtzICovXHJcblxyXG5hIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLCBcclxuICAgICY6aG92ZXIsIFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEhvcml6b250YWwgYnJlYWsgKi9cclxuXHJcbmhyIHtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcblxyXG4vKiBVbnN0eWxlZCBMaXN0ICovXHJcblxyXG4ubGlzdC11bnN0eWxlZCBsaSA+IC5saXN0LXVuc3R5bGVkIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG59XHJcblxyXG4vKiBDb2RlICovXHJcblxyXG5jb2RlIHsgXHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7ICBcclxufVxyXG5cclxuXHJcbi8qIERpc2FibGVkIE5hdmlnYXRpb24gTGluayAqL1xyXG5cclxuLmRpc2FibGVkLWxpbmsgeyBcclxuXHJcbiAgICAuZGlzYWJsZS10YXJnZXQgeyAgXHJcbiAgICAgICAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKSAhaW1wb3J0YW50OyBcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgICAgXHJcbiAgICB9XHJcbn0iLCIvKioqXHJcblV0aWxpdGllc1xyXG4qKiovXHJcblxyXG4vKiBMaW5rcyAqL1xyXG5cclxuYTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIFByaW1hcnkgTGluayAqL1xyXG5cclxuLnByaW1hcnktbGluayB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktbGluay1jb2xvcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGRhcmtlbigkcHJpbWFyeS1saW5rLWNvbG9yLCA1JSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBSb3VuZGVkIEVsZW1lbnQgKi9cclxuLnJvdW5kZWQtMiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7ICBcclxufVxyXG5cclxuLnJvdW5kZWQtMyB7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7ICBcclxufVxyXG5cclxuLnJvdW5kZWQtNCB7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7ICAgIFxyXG59XHJcblxyXG4vKiBDaXJjbGUgRWxlbWVudCAqL1xyXG4uY2lyY2xlIHtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7ICBcclxufVxyXG5cclxuLmNpcmNsZS1yaWdodCB7XHJcbiAgYm9yZGVyLXJhZGl1czogIDAgMjVweCAyNXB4IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNpcmNsZS1sZWZ0IHtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaXJjbGUtYm90dG9tIHtcclxuICBib3JkZXItcmFkaXVzOiAgMCAwIDI1cHggMjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2lyY2xlLXRvcCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweCAyNXB4IDAgMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBHZW5lcmFsIHV0aWxpdGllcyAqL1xyXG5cclxuLmRpc3BsYXktbm9uZSxcclxuLmRpc3BsYXktaGlkZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByaW1hcnktZm9udCB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAudGhpbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59IEBlbHNlIHtcclxuICAgIC50aGluIHtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XHJcbiAgICB9ICBcclxufVxyXG5cclxuLnVwcGVyY2FzZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5maXgtbWFyZ2luIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG4uYm9yZGVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxufVxyXG5cclxuLmZvbnQtaGcge1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG59XHJcblxyXG4uZm9udC1sZyB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi5mb250LW1kIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmZvbnQtc20ge1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uZm9udC14cyB7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi5pbmxpbmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4uaW5saW5lLWJsb2NrIHsgXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi50ZXh0LWFsaWduLXJldmVyc2Uge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi8qIE1hcmdpbiBhbmQgcGFkZGluZyB1dGlsaXRpZXMgKi9cclxuXHJcbi5uby1zcGFjZSB7XHJcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uby1tYXJnaW4ge1xyXG4gICAgbWFyZ2luOjA7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS0xMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXJnaW4tdG9wLTEwIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hcmdpbi10b3AtMTUge1xyXG4gICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS0xNSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTIwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hcmdpbi10b3AtMjAge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS0yNSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXJnaW4tYm90dG9tLTMwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hcmdpbi1ib3R0b20tNDAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luLXJpZ2h0LTEwIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogSUU4ICYgSUU5IG1vZGUgdXRpbGl0aWVzICovXHJcblxyXG4udmlzaWJsZS1pZTgge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmllOCAudmlzaWJsZS1pZTgge1xyXG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udmlzaWJsZS1pZTkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmllOSAudmlzaWJsZS1pZTkge1xyXG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGlkZGVuLWllOCB7XHJcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG59XHJcblxyXG4uaWU4IC5oaWRkZW4taWU4IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhpZGRlbi1pZTkge1xyXG4gICAgZGlzcGxheTogaW5oZXJpdDtcclxufVxyXG5cclxuLmllOSAuaGlkZGVuLWllOSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKipcclxuUmVzcG9uc2l2ZSBVdGlsc1xyXG4qKiovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuaGlkZGVuLTEwMjQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0gXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5oaWRkZW4tNDgwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IFxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcbiAgICAuaGlkZGVuLTMyMCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufSBcclxuXHJcbi8qKipcclxuRGVtbyBVdGlsc1xyXG4qKiovXHJcblxyXG4uc2Nyb2xsc3B5LWV4YW1wbGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLnV0aWwtYnRuLW1hcmdpbi1ib3R0b20tNSAuYnRuIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udXRpbC1idG4tZ3JvdXAtbWFyZ2luLWJvdHRvbS01IC5idG4tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKipcclxuVXNlcnNcclxuKioqL1xyXG5cclxuLnVzZXItaW5mbyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKipcclxuVG9wIE5ld3MgQmxvY2tzKG5ldyBpbiB2MS4yLjIpIFxyXG4qKiovXHJcbi50b3AtbmV3cyB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG1hcmdpbjogOHB4IDA7XHJcblxyXG4gICAgZW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIGkgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBcclxuICAgICAgICAudG9wLW5ld3MtaWNvbiB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDsgXHJcbiAgICAgICAgICAgIG9wYWNpdHk6MC4zOyBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qRm9yIElFOCovICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKipcclxuQmxvY2sgSW1hZ2VzKG5ldyBpbiB2MS4yLjIpXHJcbioqKi9cclxuXHJcbi5ibG9nLWltYWdlcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAycHggOHB4OyBcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjNzJjMDJjO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKlxyXG5TaWRlYmFyIFRhZ3NcclxuKioqL1xyXG5cclxuLnNpZGViYXItdGFncyB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTJweDtcclxuICAgICAgICAgICAgcGFkZGluZzozcHggNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmN2Y3Zjc7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIDJweCA1cHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmhvdmVyIGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0VFRTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM3Nzc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKipcclxuQ3VzdG9tIHZlcnRpY2FsIGlubGluZSBtZW51XHJcbioqKi9cclxuXHJcbi52ZXItaW5saW5lLW1lbnUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MXB4O1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM3cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzdweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjojYjljYmQ1O1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzoxMnB4IDEwcHggMTBweCA4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIDhweCAwIDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojZTBlYWYwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICBjb2xvcjojNTU3Mzg2O1xyXG4gICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQ6I2YwZjZmYTtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OnNvbGlkIDJweCAjYzRkNWRmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciBhIHsgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2UwZWFmMDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIGkge1xyXG4gICAgICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNjNGQ1ZGYgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDpzb2xpZCAycHggIzBjOTFlNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiMwYzkxZTUgIWltcG9ydGFudDsgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUgYSxcclxuICAgICAgICAmLmFjdGl2ZSBpIHtcclxuICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojMTY5ZWY0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIGEsXHJcbiAgICAgICAgJjpob3ZlciBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjMTY5ZWY0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC01cHg7ICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIgeyAgXHJcbiAgICAudmVyLWlubGluZS1tZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTI7ICAgICAgICAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgeyBcclxuICAgIC52ZXItaW5saW5lLW1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcblNlcGFyYXRlZCBMaXN0XHJcbioqKi9cclxuXHJcbi5saXN0LXNlcGFyYXRlZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7ICBcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7IC8qIDc2N3B4ICovXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKlxyXG5OdW1iZXIgJiBDaGFydCBTdGF0c1xyXG4qKiovXHJcblxyXG4ubnVtYmVyLXN0YXRzIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAgIC5zdGF0LW51bWJlciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHg7XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICBjb2xvcjogI0I4QzNDNztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI3cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzdEOEM5RDsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXQtY2hhcnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjVmNWY1O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhdC1sZWZ0IHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICAgIC5zdGF0LW51bWJlciB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3RhdC1jaGFydCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXQtcmlnaHQge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5zdGF0LW51bWJlciB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXQtY2hhcnQge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXQtbnVtYmVyIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0LWNoYXJ0IHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH0gICBcclxufVxyXG5cclxuLyoqKlxyXG5HZW5lcmFsIFVzZXIgUmVjb3JkIExpc3RpbmdcclxuKioqL1xyXG5cclxuLmdlbmVyYWwtaXRlbS1saXN0IHtcclxuXHJcbiAgICA+IC5pdGVtIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMUY0Rjc7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5pdGVtLWhlYWQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcblxyXG4gICAgICAgICAgICA+IC5pdGVtLWRldGFpbHMgeyAgICAgIFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuaXRlbS1waWMge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuaXRlbS1uYW1lIHsgIFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuaXRlbS1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNDMEM5Q0M7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLml0ZW0tc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjQzBDOUNDO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICAgID4gLmJhZGdlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5pdGVtLWJvZHkge1xyXG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCNDMEM5Q0MsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcbkZpbGUgZHJvcHpvbmVcclxuKioqL1xyXG5cclxuLmZpbGUtZHJvcC16b25lIHtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZGRkO1xyXG4gICAgcGFkZGluZzogMzBweDsgXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgICYuZmlsZS1kcm9wLXpvbmUtb3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWFhO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qKipcclxuRm9udGF3ZXNvbWUgSWNvbnNcclxuKioqL1xyXG5cclxuW2NsYXNzXj1cImZhLVwiXSxcclxuW2NsYXNzXj1cImdseXBoaWNvbi1cIl0sXHJcbltjbGFzc149XCJpY29uLVwiXSxcclxuW2NsYXNzKj1cIiBmYS1cIl0sXHJcbltjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXSwgIFxyXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxyXG4gIG1hcmdpbi10b3A6IDFweDtcclxuICBmb250LXNpemU6ICRpY29uLXNpemUtbm9ybWFsO1xyXG4gICptYXJnaW4tcmlnaHQ6IC4zZW07XHJcbiAgbGluZS1oZWlnaHQ6ICRpY29uLXNpemUtbm9ybWFsO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vKiBNYWtlIGZvbnQgYXdlc29tZSBpY29ucyBmaXhlZCB3aWR0aCAqL1xyXG5cclxubGkgW2NsYXNzXj1cImZhLVwiXSxcclxubGkgW2NsYXNzXj1cImdseXBoaWNvbi1cIl0sXHJcbmxpIFtjbGFzc149XCJpY29uLVwiXSxcclxubGkgW2NsYXNzKj1cIiBmYS1cIl0sXHJcbmxpIFtjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXSxcclxubGkgW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxLjI1ZW07IFxyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxubGkgW2NsYXNzXj1cImdseXBoaWNvbi1cIl0sXHJcbmxpIFtjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXSB7ICBcclxuICB0b3A6IDJweDtcclxufVxyXG5cclxubGkgW2NsYXNzXj1cImljb24tXCJdLFxyXG5saSBbY2xhc3MqPVwiIGljb24tXCJdIHsgICBcclxuICB0b3A6IDFweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmxpIFtjbGFzc149XCJmYS1cIl0uaWNvbi1sYXJnZSxcclxubGkgW2NsYXNzXj1cImdseXBoaWNvbi1cIl0uaWNvbi1sYXJnZSxcclxubGkgW2NsYXNzXj1cImljb24tXCJdLmljb24tbGFyZ2UsXHJcbmxpIFtjbGFzcyo9XCIgZmEtXCJdLmljb24tbGFyZ2UsXHJcbmxpIFtjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXS5pY29uLWxhcmdlLFxyXG5saSBbY2xhc3MqPVwiIGljb24tXCJdLmljb24tbGFyZ2Uge1xyXG4gIC8qIGluY3JlYXNlZCBmb250IHNpemUgZm9yIGljb24tbGFyZ2UgKi9cclxuICB3aWR0aDogMS41NjI1ZW07XHJcbn1cclxuXHJcbi8qIEljb24gc2l6aW5nICovXHJcblxyXG4uZmEtc20sXHJcbi5pY29uLXNtIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5mYS1sZyxcclxuLmljb24tbGcge1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG59IFxyXG5cclxuLmZhLTJ4IHtcclxuICBmb250LXNpemU6IDJlbTtcclxufVxyXG5cclxuLmZhLTN4IHtcclxuICBmb250LXNpemU6IDNlbTtcclxufVxyXG5cclxuLmZhLTR4IHtcclxuICBmb250LXNpemU6IDRlbTtcclxufVxyXG5cclxuLmZhLTV4IHtcclxuICBmb250LXNpemU6IDVlbTtcclxufVxyXG5cclxuLyogSWNvbiBjb2xvcmluZyAqL1xyXG5cclxuLmljb24tc3RhdGUtZGVmYXVsdCB7XHJcbiAgY29sb3I6ICRicmFuZC1kZWZhdWx0O1xyXG59XHJcblxyXG4uaWNvbi1zdGF0ZS1zdWNjZXNzIHtcclxuICBjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XHJcbn1cclxuXHJcbi5pY29uLXN0YXRlLWluZm8ge1xyXG4gIGNvbG9yOiAkYnJhbmQtaW5mbzsgXHJcbn1cclxuXHJcbi5pY29uLXN0YXRlLXdhcm5pbmcge1xyXG4gIGNvbG9yOiAkYnJhbmQtd2FybmluZztcclxufVxyXG5cclxuLmljb24tc3RhdGUtZGFuZ2VyIHtcclxuICBjb2xvcjogJGJyYW5kLWRhbmdlcjtcclxufVxyXG5cclxuLyoqKlxyXG5Gb250IEF3ZXNvbWUgNC54IERlbW9cclxuKioqL1xyXG5cclxuLmZhLWl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMjBweDtcclxuXHJcbiAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcblNpbXBsZSBMaW5lIEljb25zIERlbW9cclxuKioqL1xyXG5cclxuLnNpbXBsZWxpbmVpY29ucy1kZW1vIHtcclxuICAuaXRlbS1ib3gge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luOiAwIC0wLjIyZW0gMWVtIDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5pdGVtIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgY29sb3I6ICMzMzM4M2U7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAgIC5zaW1wbGVsaW5laWNvbnMtZGVtbyAge1xyXG4gICAgICAuaXRlbS1ib3gge1xyXG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiogXHJcbkdseXBoaWNvbnMgRGVtb1xyXG4qKiovXHJcblxyXG4uZ2x5cGhpY29ucy1kZW1vIHVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5icy1nbHlwaGljb24tY2xhc3Mge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJzLWdseXBoaWNvbnMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDFweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmdseXBoaWNvbnMtZGVtbyB1bCBsaSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNSU7XHJcbiAgICBoZWlnaHQ6IDExNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogMCAtMXB4IC0xcHggMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcblxyXG4uZ2x5cGhpY29ucy1kZW1vIC5nbHlwaGljb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDVweCBhdXRvIDEwcHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxufVxyXG5cclxuLmdseXBoaWNvbnMtZGVtbyB1bCBsaTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDg2LDYxLDEyNCwuMSk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmdseXBoaWNvbnMtZGVtbyB1bCBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEyLjUlO1xyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5DdXN0b21pemVkIEJvb3RzdHJhcCBBbGVydHNcclxuKioqL1xyXG5cclxuLmFsZXJ0IHtcclxuXHRib3JkZXItd2lkdGg6IDFweDtcclxuXHRcclxuXHQmLmFsZXJ0LWJvcmRlcmxlc3Mge1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqKlxyXG5Cb290c3RyYXAgQWxlcnRzXHJcbioqKi9cclxuXHJcbi5hbGVydC1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xyXG59XHJcblxyXG4uYWxlcnQtaW5mbyB7XHJcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkc3RhdGUtaW5mby1iZywgJHN0YXRlLWluZm8tYm9yZGVyLCAkc3RhdGUtaW5mby10ZXh0KTtcclxufVxyXG5cclxuLmFsZXJ0LXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLWJvcmRlciwgJHN0YXRlLXdhcm5pbmctdGV4dCk7XHJcbn1cclxuXHJcbi5hbGVydC1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci1ib3JkZXIsICRzdGF0ZS1kYW5nZXItdGV4dCk7XHJcbn1cclxuXHJcbkBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHsgIFxyXG5cdC5hbGVydCB7XHJcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpOyAgXHJcblx0XHRib3JkZXItd2lkdGg6IDA7ICBcclxuXHRcdEBleHRlbmQgLm1kLXNoYWRvdy16LTE7ICAgICAgICAgICAgICAgXHJcblx0fVxyXG59IiwiLyoqKlxyXG5DdXN0b20gQm9vdHN0cmFwIEJhZGdlc1xyXG4qKiovXHJcblxyXG4uYmFkZ2Uge1xyXG4gIFx0Zm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XHJcbiAgXHRmb250LXdlaWdodDogMzAwO1xyXG4gIFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIFx0aGVpZ2h0OiAxOHB4O1xyXG4gIFx0cGFkZGluZzogM3B4IDZweCAzcHggNnB4O1xyXG4gIFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcclxuIFx0ICB0ZXh0LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7XHJcbiAgXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICBcdCYuYmFkZ2Utcm91bmRsZXNzIHtcclxuICAgXHRcdCAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICBcdCAtbW96LWJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHQgfVxyXG5cclxuICAgICYuYmFkZ2UtZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1pbi13aWR0aDogOHB4OyAgIFxyXG4gICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgd2lkdGg6IDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQmFkZ2UgdmFyaWFudHMgKi9cclxuXHJcbkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZy1jb2xvcikge1xyXG5cdCAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xyXG4gIFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG5cclxuLmJhZGdlLWRlZmF1bHQgIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJyYW5kLWRlZmF1bHQpO1xyXG59XHJcblxyXG4uYmFkZ2UtcHJpbWFyeSAge1xyXG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5iYWRnZS1pbmZvICB7XHJcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCRicmFuZC1pbmZvKTtcclxufVxyXG5cclxuLmJhZGdlLXN1Y2Nlc3MgIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJyYW5kLXN1Y2Nlc3MpO1xyXG59XHJcblxyXG4uYmFkZ2UtZGFuZ2VyICB7XHJcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCRicmFuZC1kYW5nZXIpO1xyXG59XHJcblxyXG4uYmFkZ2Utd2FybmluZyAge1xyXG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkYnJhbmQtd2FybmluZyk7XHJcbn1cclxuXHJcbi8qIEZpeCBiYWRnZSBwb3NpdGlvbiBmb3IgbmF2cyAqL1xyXG5cclxuLm5hdi5uYXYtcGlsbHMsXHJcbi5uYXYubmF2LXN0YWNrZWQge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgPiAuYmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgIFxyXG59XHJcblxyXG4vKioqXHJcbkRyb3Bkb3duIE1lbnUgQmFkZ2VzXHJcbioqKi9cclxuXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgID4gLmJhZGdlIHtcclxuICAgXHQgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgIFx0ICAgICAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICBcdHJpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgIFx0ZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICBcdGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgICAgXHRmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICBcdHRleHQtc2hhZG93Om5vbmU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4IDNweCA2cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICBcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggNnB4IDJweCA2cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5iYWRnZS1yb3VuZGxlc3Mge1xyXG4gICBcdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIFx0IC1tb3otYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHQgIH1cclxufVxyXG5cclxuXHJcbkBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgIC5iYWRnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAubWQtc2hhZG93LXotMTsgIFxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4OyBcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCA2cHggMnB4IDZweDtcclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1zaWRlYmFyIC5iYWRnZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkN1c3RvbWl6ZWQgQm9vdHN0cmFwIEJ1dHRvbnNcclxuKioqL1xyXG5cclxuLyogRGVmYXVsdCBidXR0b25zICovXHJcblxyXG4uYnRuIHtcclxuXHQgIGJvcmRlci13aWR0aDogMDtcclxuXHQgIHBhZGRpbmc6IDdweCAxNHB4OyBcdFxyXG4gICAgZm9udC1zaXplOiAxNHB4OyAgXHJcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmaWx0ZXI6IG5vbmU7XHJcblxyXG4gICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHsgXHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAmLmRyb3Bkb3duLXRvZ2dsZSxcclxuICAgIC5idG4tZ3JvdXAgJi5kcm9wZG93bi10b2dnbGUsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpkaXNhYmxlZCxcclxuICAgICZbZGlzYWJsZWRdLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6YWN0aXZlLCAgIFxyXG4gICAgJi5hY3RpdmUgeyAgXHJcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcImRlZmF1bHRcIiB7IFxyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4gKyAuYnRuIHtcclxuICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uYnRuLWRlZmF1bHQge1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIHBhZGRpbmc6IDZweCAxM3B4O1xyXG59IFxyXG5cclxuLmJ0bi1ibG9jayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIEJvb3RzdHJhcCBidXR0b25zICovXHJcblxyXG4uYnRuLWRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGVmYXVsdC1jb2xvciwgJGJ0bi1kZWZhdWx0LWJnLCAkYnRuLWRlZmF1bHQtYm9yZGVyKTtcclxuXHJcbiAgPiBpIHtcclxuICAgIGNvbG9yOiAjYWFhO1xyXG4gIH1cclxuXHJcbiAgPiBpW2NsYXNzXj1cImljb24tXCJdLFxyXG4gID4gaVtjbGFzcyo9XCJpY29uLVwiXSB7XHJcbiAgICBjb2xvcjogZGFya2VuKCM5OTksIDUlKTtcclxuICB9IFxyXG59XHJcblxyXG4uYnRuLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcclxufVxyXG5cclxuLmJ0bi1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XHJcbn1cclxuXHJcbi5idG4taW5mbyB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xyXG59XHJcblxyXG4uYnRuLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcclxufVxyXG5cclxuLmJ0bi1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcclxufVxyXG5cclxuLyogQnV0dG9uIHNpemVzICovXHJcbi5idG4ge1xyXG5cdD4gaSB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHRcdFxyXG5cdH0gIFxyXG59XHJcblxyXG4uYnRuLWxnIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICBcclxuXHJcbiAgICA+IGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1zbSxcclxuLmJ0bi14cyB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTBweCA1cHggMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcblxyXG4gICAgPiBpIHtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7ICAgXHJcbiAgICB9IFxyXG59XHJcblxyXG4uYnRuLXhzIHtcclxuICAgIHBhZGRpbmc6IDFweCA1cHg7XHJcblxyXG5cclxuICAgID4gaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfSBcclxufVxyXG5cclxuLyogU21hbGwgYnV0dG9uIGluIGJ1dHRvbiBncm91cCAqL1xyXG5cclxuLmJ0bi1ncm91cCB7XHJcbiAgICAuaW5wdXQtc20ge1xyXG4gICAgICAgIC5idG4tZGVmYXVsdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7IFxyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxufVxyXG5cclxuLyogQXJyb3cgbGluayAqL1xyXG5cclxuLmJ0bi1hcnJvdy1saW5rIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICBcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIFxyXG4gICAgPiBpIHtcclxuICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgIG1hcmdpbjogMnB4IDNweCAycHggM3B4O1xyXG4gICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5idG4tYXJyb3ctbGluay1sZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICAgID4gaSB7XHJcbiAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgIG1hcmdpbjogMnB4IDNweCAxcHggM3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENpcmNsZSBCdXR0b25zICovXHJcblxyXG4uYnRuLWNpcmNsZSB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50OyAgXHJcbn1cclxuXHJcbi5idG4tY2lyY2xlLXJpZ2h0IHtcclxuICBib3JkZXItcmFkaXVzOiAgMCAyNXB4IDI1cHggMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLWNpcmNsZS1sZWZ0IHtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idG4tY2lyY2xlLWJvdHRvbSB7XHJcbiAgYm9yZGVyLXJhZGl1czogIDAgMCAyNXB4IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1jaXJjbGUtdG9wIHtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4IDI1cHggMCAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idG4taWNvbi1vbmx5IHtcclxuICBoZWlnaHQ6IDM0cHg7XHJcbiAgd2lkdGg6IDM0cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICA+IFtjbGFzc149XCJpY29uLVwiXSxcclxuICA+IGkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1zbSB7XHJcbiAgPiBbY2xhc3NePVwiZ2x5cGhpY29uLVwiXSxcclxuICA+IFtjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXSxcclxuICA+IGkge1xyXG4gICAgZm9udC1zaXplOiAxM3B4OyAgIFxyXG4gIH1cclxufVxyXG5cclxuLmJ0bi14cyB7XHJcbiAgPiBbY2xhc3NePVwiZ2x5cGhpY29uLVwiXSxcclxuICA+IFtjbGFzcyo9XCIgZ2x5cGhpY29uLVwiXSxcclxuICA+IGkge1xyXG4gICAgZm9udC1zaXplOiAxMXB4OyAgIFxyXG4gIH1cclxufSBcclxuXHJcbi5idG4tZ3JvdXAuYnRuLWdyb3VwLWNpcmNsZSB7XHJcbiAgICA+IC5idG4ge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDI1cHggMjVweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWdyb3VwLmJ0bi1ncm91cC1kZXZpZGVkIHtcclxuICAgID4gLmJ0biB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tZ3JvdXAtdmVydGljYWwuYnRuLWdyb3VwLXZlcnRpY2FsLWNpcmNsZSB7XHJcbiAgICA+IC5idG4ge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4IDI1cHggMCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjVweCAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7IFxyXG4gICAgJHVwcGVyY2FzZS1wYWRkaW5nOiAgICAgICAgICAgICAgIDlweCAxNHB4IDhweCAxNHB4ICFkZWZhdWx0OyAgXHJcbiAgICAkdXBwZXJjYXNlLXBhZGRpbmctbGc6ICAgICAgICAgICAgMTJweCAyNnB4IDEwcHggMjZweCAhZGVmYXVsdDtcclxuICAgICR1cHBlcmNhc2UtcGFkZGluZy1zbTogICAgICAgICAgICA2cHggMThweCA2cHggMThweCAhZGVmYXVsdDtcclxuICAgICR1cHBlcmNhc2UtcGFkZGluZy14czogICAgICAgICAgICAzcHggOHB4IDNweCA4cHggIWRlZmF1bHQ7IFxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgIFxyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpOyAgXHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7ICBcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgXHJcblxyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTE7ICAgIFxyXG5cclxuICAgICAgICAuYnRuLWdyb3VwID4gJiB7ICAgXHJcbiAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTE7XHJcbiAgICAgICAgfSAgXHJcblxyXG4gICAgICAgIC5zZWFyY2gtZm9ybSAmLFxyXG4gICAgICAgIC5idG4tdGhlbWUtcGFuZWwgJiB7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYnRuLWxpbmsge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lOyAgXHJcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjsgICAgICBcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubWQtc2hhZG93LXotMi1ob3ZlcjsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubWQtc2hhZG93LXotMy1ob3ZlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHBhZGRpbmc6ICR1cHBlcmNhc2UtcGFkZGluZztcclxuXHJcbiAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJ0bi1zbSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVwcGVyY2FzZS1wYWRkaW5nLXNtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5idG4teHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1cHBlcmNhc2UtcGFkZGluZy14cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYnRuLWxnIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXBwZXJjYXNlLXBhZGRpbmctbGc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJ0bi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7ICBcclxuXHJcbiAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKipcclxuSW1hZ2UgQ2Fyb3VzZWxcclxuKioqL1xyXG5cclxuLmNhcm91c2VsLmltYWdlLWNhcm91c2VsIHsgXHJcblxyXG4gICAgLmNhcm91c2VsLWlubmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuY2Fyb3VzZWwtY29udHJvbCBpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjQwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLmltYWdlLWNhcm91c2VsLWhvdmVyYWJsZSAuY2Fyb3VzZWwtY29udHJvbCBpIHsgXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmltYWdlLWNhcm91c2VsLWhvdmVyYWJsZTpob3ZlciAuY2Fyb3VzZWwtY29udHJvbCBpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcm91c2VsLWNvbnRyb2wge1xyXG4gICAgICAgICYubGVmdCBpIHtcclxuICAgICAgICAgICAgbGVmdDoxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5yaWdodCBpIHtcclxuICAgICAgICAgICAgcmlnaHQ6MTBweDsgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGJvdHRvbTogLTdweDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcm91c2VsLWNhcHRpb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMjVweCAxNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcclxuICAgIFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNCxcclxuICAgICAgICBoMyxcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNhYWE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59ICIsIi8qKipcclxuQ2hhcnRzIGFuZCBzdGF0aXN0aWNzXHJcbioqKi9cclxuLmNoYXJ0LCBcclxuLnBpZSwgXHJcbi5iYXJzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLyoqKlxyXG5TdGF0aXN0aWMgbGlzdHNcclxuKioqL1xyXG4uaXRlbS1saXN0LnRhYmxlIHtcclxuICAgIC5wZXJjZW50IHtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqKlxyXG5DaGFydCB0b29sdGlwc1xyXG4qKiovXHJcbi5jaGFydC10b29sdGlwIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzczNmU2ZSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIFxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKipcclxuTWluaSBjaGFydCBjb250YWluZXJzXHJcbioqKi9cclxuXHJcbi5iYXItY2hhcnQsXHJcbi5saW5lLWNoYXJ0IHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxufSIsIi8qKipcclxuQ2hhdHNcclxuKioqL1xyXG5cclxuLmNoYXRzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcblxyXG4gICAgICAgIC5ib2R5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5hdmF0YXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaW4gLmF2YXRhciB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm91dCAuYXZhdGFyIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICMzNTkwYzE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmRhdGV0aW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaW4gLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxQkJDOUI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2NXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG4gICAgICBcclxuICAgICAgICAgICAgLmFycm93IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCAjMUJCQzlCO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm91dCB7XHJcbiAgICAgICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNGMzU2NUQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDY1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgLmFycm93IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC04cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNGMzU2NUQ7IFxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgLm5hbWUsIFxyXG4gICAgICAgICAgICAuZGF0ZXRpbWUge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jaGF0LWZvcm0ge1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllZmYzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgIC5pbnB1dC1jb250IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0YjhkZjkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnRuLWNvbnQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00MnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgd2lkdGg6IDQ0cHg7XHJcbiAgICBcclxuICAgICAgICAuYXJyb3cge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTdweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDQzcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCAjNGQ5MGZlO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmFycm93IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAzNjJmZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM2MmZkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5DdXN0b21pemVkIEJvb3RzdHJhcCBDbG9zZSBJY29uIFxyXG4qKiovXHJcblxyXG4uY2xvc2Uge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tdG9wOiAwcHg7XHJcblx0bWFyZ2luLXJpZ2h0OiAwcHg7XHJcblx0d2lkdGg6IDlweDtcclxuXHRoZWlnaHQ6IDlweDtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XHJcblx0dGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JlbW92ZS1pY29uLXNtYWxsLnBuZ1wiKSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qKipcclxuQ3VzdG9taXplZCBCb290c3RyYXAgRHJvcGRvd25zXHJcbioqKi9cclxuXHJcbi8qKipcclxuRHJvcGRvd25zXHJcbioqKi9cclxuXHJcbi5kcm9wdXAub3BlbixcclxuLmRyb3Bkb3duLm9wZW4ge1xyXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICB9IFxyXG59XHJcblxyXG4vKioqXHJcbkRyb3Bkb3duIE1lbnVcclxuKioqL1xyXG5cclxuLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgbWluLXdpZHRoOiAxNzVweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgcGFkZGluZzogMHB4OyAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBcclxuXHJcbiAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJkZWZhdWx0XCIgeyBcclxuICAgICAgICBtYXJnaW46IDEwcHggIDBweCAwcHggMHB4OyBcclxuICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IHJnYmEoIzY2NiwgMC4xKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZGVmYXVsdDsgIFxyXG5cclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7ICAgICAgICAgIFxyXG5cclxuICAgIGxpLmRpdmlkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWYzZjY7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuZHJvcGRvd24taGVhZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTRweCAycHggMTRweDsgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsaSA+IGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgID4gW2NsYXNzXj1cImZhLVwiXSxcclxuICAgICAgICA+IFtjbGFzcyo9XCIgZmEtXCJdIHtcclxuICAgICAgICAgICAgY29sb3I6ICM4ODg7IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbiAgICAgICAgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAgICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IFtjbGFzc149XCJnbHlwaGljb24tXCJdLFxyXG4gICAgICAgID4gW2NsYXNzKj1cIiBnbHlwaGljb24tXCJdIHtcclxuICAgICAgICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpID4gYTpob3ZlciwgXHJcbiAgICAuYWN0aXZlID4gYSwgXHJcbiAgICAuYWN0aXZlID4gYTpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjZWVlLCAzJSk7XHJcbiAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICBmaWx0ZXI6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJvdHRvbS11cCB7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaTpmaXJzdC1jaGlsZDpob3ZlciA+IGEge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyAwcHggMHB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gbGk6bGFzdC1jaGlsZDpob3ZlciA+IGEge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24sXHJcbi5kcm9wZG93bi10b2dnbGUsXHJcbi5idG4tZ3JvdXAge1xyXG4gICAgPiAuZHJvcGRvd24tbWVudSB7ICAgICAgXHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcImRlZmF1bHRcIiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IFxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtOHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogOXB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICNlMGUwZTA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnB1bGwtbGVmdCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogOXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucHVsbC1yaWdodCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogOXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRyb3B1cCB7XHJcbiAgICAgICAgPiAuZHJvcGRvd24tbWVudSB7ICAgICBcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgJjphZnRlcixcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogRHJvcGRvd24gc3VibWVudSBzdXBwb3J0IGZvciBCb290c3JhcCAzICovXHJcbi5kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICA+IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBsZWZ0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgID4gYTphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHJpZ2h0OiA3cHg7XHJcbiAgICAgIHRvcDogN3B4O1xyXG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIgPiBhOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICAmLnB1bGwtbGVmdCB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgPiAuZHJvcGRvd24tbWVudXtcclxuICAgICAgICAgICAgbGVmdDogLTEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBkcm9wZG93biBtZW51IGluIGRyb3B1cCBtb2RlXHJcbiAgICAuZHJvcHVwICYgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubmF2LnB1bGwtcmlnaHQgPiBsaSA+IC5kcm9wZG93bi1tZW51LFxyXG4ubmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogYXV0bztcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgbGVmdDogYXV0bzsgICBcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICByaWdodDogMTNweDtcclxuICAgICAgICBsZWZ0OiBhdXRvOyAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgeyAvKiA3NjdweCAqL1xyXG5cclxuICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgICAub3BlbiB7XHJcbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IHJnYmEoIzY2NiwgMC4xKTsgXHJcblxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDAgNnB4IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgID4gYTphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKlxyXG5Ecm9wZG93biBDaGVja2JveGVzXHJcbioqKi9cclxuXHJcbi5kcm9wZG93bi1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6NXB4O1xyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24uaW5saW5lIC5kcm9wZG93bi1tZW51IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgIFxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZHJvcGRvd24tcmFkaW9idXR0b25zLFxyXG4uZHJvcGRvd24tY2hlY2tib3hlcyB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgXHJcblxyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTItaTsgICAgICAgIFxyXG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDsgICAgIFxyXG4gICAgICAgIG1hcmdpbjogMDsgICAgIFxyXG5cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnRuLWdyb3VwIHtcclxuICAgICAgICA+IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubWQtc2hhZG93LXotMi1pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRyb3B1cCB7XHJcbiAgICAgICAgICAgID4gLmRyb3Bkb3duLW1lbnUgeyAgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1ncm91cC5vcGVuIHtcclxuICAgICAgICA+IC5kcm9wZG93bi1tZW51IHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgZWFzZS1vdXQoMTUwMG1zLCBvcGFjaXR5LCAwLjFtcyk7ICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcblN5c3RlbSBmZWVkc1xyXG4qKiovXHJcbi5mZWVkcyB7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcbiAgICAgICAgY29sb3I6IGRhcmtlbigjOTZBNUFBLCA3JSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbDEge1xyXG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlOyAgXHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG5cclxuICAgICAgICAgICAgPiAuY29udCB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Ojc1cHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gLmNvbnQtY29sMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6LTEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNHB4IDZweCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiAuY29udC1jb2wyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gLmRlc2MgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MzVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIC5jb2wyIHtcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6NzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LTc1cHg7XHJcblxyXG4gICAgICAgICAgICA+IC5kYXRlIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggOXB4IDVweCA0cHg7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiNjMWNiZDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkZvcm0gTGF5b3V0c1xyXG4qKioqL1xyXG5cclxuLyogU3RhdGljIGluZm8gKi9cclxuXHJcbi5zdGF0aWMtaW5mbyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgLnZhbHVlIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICAmLmFsaWduLXJldmVyc2UgLm5hbWUsXHJcbiAgJi5hbGlnbi1yZXZlcnNlIC52YWx1ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8qIEhlbHAgYmxvY2tzICovXHJcblxyXG4uaGVscC1ibG9jayB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5oZWxwLWlubGluZSB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGNvbG9yOiAjNzM3MzczO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuXHJcbi5mb3JtLWlubGluZSB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBDb250cm9sIExhYmVsICovXHJcblxyXG4uY29udHJvbC1sYWJlbCB7XHJcbiAgbWFyZ2luLXRvcDogMXB4O1xyXG5cclxuICAucmVxdWlyZWQge1xyXG4gICAgY29sb3I6ICNlMDIyMjI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAuZm9ybS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgICAgICAucG9ydGxldC5saWdodCAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1hY3Rpb25zIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IFxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG5cclxuICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJkZWZhdWx0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgKnpvb206IDE7XHJcblxyXG4gICAgICAgIC5wb3J0bGV0LmxpZ2h0ICYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyAgIFxyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm5vYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wb3J0bGV0ICYge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkcG9ydGxldC1ib3JkZXItcmFkaXVzICRwb3J0bGV0LWJvcmRlci1yYWRpdXMpOyAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgXHJcblxyXG4gICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICAgICAgLnBvcnRsZXQubGlnaHQgJiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxlZnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucG9ydGxldC5saWdodCAmIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5ub2JnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcblxyXG4gICAgICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJkZWZhdWx0XCIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wb3J0bGV0LmxpZ2h0ICYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bi1zZXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHsgLyogNzY3cHggKi9cclxuICAgICAgICAgICAgLmJ0bi1zZXQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tc2VjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDBweCAyNXB4IDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJkZWZhdWx0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENoZWNrYm94ZXMgKi9cclxuXHJcbi5jaGVja2JveCxcclxuLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gge1xyXG4gICAgcGFkZGluZzogMDsgICBcclxuXHJcbiAgICA+IGxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jaGVja2JveC1saXN0ID4gbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJi5jaGVja2JveC1pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJhZGlvIGJ1dHRvbnMgKi9cclxuXHJcbi5yYWRpby1saXN0ID4gbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJi5yYWRpby1pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFJhZGlvIGJ1dHRvbnMgaW4gaG9yaXpvbnRhbCBmb3JtcyAqL1xyXG5cclxuLmZvcm0taG9yaXpvbnRhbCB7XHJcblxyXG4gICAgLnJhZGlvLWxpc3Qge1xyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJhZGlvIHtcclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBSb3dzIHNlcGVyYXRlZCBmb3JtIGxheW91dCAqL1xyXG5cclxuLmZvcm0gLmZvcm0tcm93LXNlcGVyYXRlZCAge1xyXG4gICAgLnBvcnRsZXQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luOiAwOyBcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZlZjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcblxyXG4gICAgICAgICYubGFzdCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlbHAtYmxvY2sge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAwOyAgICBcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1hY3Rpb25zIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEZvcm0gYm9yZGVyZWQgKi9cclxuXHJcbi5mb3JtIC5mb3JtLWJvcmRlcmVkIHtcclxuXHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xyXG5cclxuICAgICAgICA+IGRpdiB7ICBcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDsgXHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VmZWZlZjtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgeyAvKiA5OTFweCAqL1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7ICBcclxuICAgICAgICAgICAgfSAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGFzdCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7IC8qIDk5MXB4ICovXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlbHAtYmxvY2sge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tYm9keSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tYWN0aW9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkgeyAvKiA5OTFweCAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogSG9yaXpvbnRhbCBib3JkZXJlZCBmb3JtICovXHJcblxyXG4uZm9ybSAuZm9ybS1ob3Jpem9udGFsLmZvcm0tYm9yZGVyZWQge1xyXG4gICAgJi5mb3JtLXJvdy1zdHJpcHBlZCB7XHJcbiAgICAgICAgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZm9ybS1sYWJlbC1zdHJpcHBlZCAge1xyXG4gICAgICAgIC5mb3JtLWdyb3VwOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XHJcblxyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9ybS1ncm91cDpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkZvcm1zXHJcbioqKi9cclxuXHJcbi8qIElucHV0IHBsYWNlaG9sZGVyIGZvbnQgY29sb3IgKi9cclxuXHJcbi5mb3JtLWNvbnRyb2wge1xyXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKVxyXG59XHJcblxyXG4vKiBGb3JtIGlucHV0cyAqL1xyXG5cclxuLmZvcm0tY29udHJvbCB7ICBcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xyXG5cclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tY29udHJvbC1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgICZbcmVhZG9ubHldLFxyXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWRpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgICYuaGVpZ2h0LWF1dG8ge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLmZvcm0tY29udHJvbC1zb2xpZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjNGODtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNGMUYzRjg7XHJcbiAgICAgICAgY29sb3I6ICNBNkIyQkE7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigjRjFGM0Y4LCA0JSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcihsaWdodGVuKCNBNkIyQkEsIDIlKSk7ICBcclxuICAgIH1cclxufVxyXG5cclxuLyogRm9ybSB1bmVkaXRhYmxlIGlucHV0ICovXHJcblxyXG4udW5lZGl0YWJsZS1pbnB1dCB7XHJcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcclxuICAgIG1pbi13aWR0aDogMjA2cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXI7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcclxufVxyXG5cclxuLyogRm9ybSBpbnB1dCBzaXppbmcgKi9cclxuXHJcbi5pbnB1dC1taW5pIHtcclxuICAgIHdpZHRoOiA0NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC14c21hbGwge1xyXG4gICAgd2lkdGg6IDgwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlucHV0LXNtYWxsIHtcclxuICAgIHdpZHRoOiAxNDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtbWVkaXVtIHtcclxuICAgIHdpZHRoOiAyNDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtbGFyZ2Uge1xyXG4gICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC14bGFyZ2Uge1xyXG4gICAgd2lkdGg6IDQyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1pbmxpbmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG87ICBcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwIHtcclxuICAgIC5pbnB1dC1pbmxpbmUgIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxufVxyXG5cclxuLmlucHV0LXNtIHtcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5zZWxlY3QuaW5wdXQtc20ge1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICBwYWRkaW5nOiAycHggMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7IC8qIDc2OHB4ICovICBcclxuXHJcbiAgICAuaW5wdXQtbGFyZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC14bGFyZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAzMDBweCAhaW1wb3J0YW50OyAgIFxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogSW5wdXQgIGdyb3VwcyAqL1xyXG5cclxuLmlucHV0LWdyb3VwIHtcclxuICAgIC5idG4tZGVmYXVsdCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1ib3JkZXI7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzOXB4O1xyXG5cclxuICAgICAgICA+IGkge1xyXG4gICAgICAgICBjb2xvcjogJGlucHV0LWljb24tY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBJbnB1dCBzcGlubmVyICovXHJcblxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5zcGlubmVyLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLnNwaW5uZXIsXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5zcGlubmVyLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXS5zcGlubmVyLFxyXG5pbnB1dFt0eXBlPVwibW9udGhcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cInRpbWVcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cIndlZWtcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXS5zcGlubmVyLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cInVybFwiXS5zcGlubmVyLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLnNwaW5uZXIsXHJcbmlucHV0W3R5cGU9XCJ0ZWxcIl0uc3Bpbm5lcixcclxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLnNwaW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pbnB1dC1zcGlubmVyLmdpZlwiKSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOHB4O1xyXG59XHJcbiBcclxuLyogRm9ybSBsYWJlbHMgKi9cclxuXHJcbmxhYmVsIHtcclxuIFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuICBcdGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLyogU3RhdGljIGZvcm0gY29udHJvbCAqL1xyXG5cclxuLmZvcm0tY29udHJvbC1zdGF0aWMgeyBcclxuICAgIG1hcmdpbjogMnB4IDA7ICAgICBcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLyogRmVlZGJhY2sgc3RhdGVzICovXHJcblxyXG4uaGFzLXN1Y2Nlc3Mge1xyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS1zdWNjZXNzLXRleHQsICRzdGF0ZS1zdWNjZXNzLWJvcmRlciwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xyXG59XHJcblxyXG4uaGFzLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRzdGF0ZS13YXJuaW5nLXRleHQsICRzdGF0ZS13YXJuaW5nLWJvcmRlciwgJHN0YXRlLXdhcm5pbmctYmcpOyBcclxufVxyXG5cclxuLmhhcy1lcnJvciB7XHJcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLWJvcmRlciwgJHN0YXRlLWRhbmdlci1iZyk7XHJcbn1cclxuXHJcbi8qIENpcmNsZSBJbnB1dHMgKi9cclxuXHJcbi5pbnB1dC1jaXJjbGUge1xyXG4gIGJvcmRlci1yYWRpdXM6IDI1cHggIWltcG9ydGFudDsgIFxyXG59XHJcblxyXG4uaW5wdXQtY2lyY2xlLXJpZ2h0IHtcclxuICBib3JkZXItcmFkaXVzOiAgMCAyNXB4IDI1cHggMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtY2lyY2xlLWxlZnQgeyBcclxuICBib3JkZXItcmFkaXVzOiAyNXB4IDAgMCAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnB1dC1jaXJjbGUtYm90dG9tIHtcclxuICBib3JkZXItcmFkaXVzOiAgMCAwIDI1cHggMjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtY2lyY2xlLXRvcCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweCAyNXB4IDAgMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7ICBcclxuICAgIC5pbnB1dC1ncm91cC1idG4ge1xyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKipcclxuQ3VzdG9tIGljb24gYnV0dG9uc1xyXG4qKiovXHJcblxyXG4uaWNvbi1idG4ge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgbWluLXdpZHRoOiA4MHB4O1xyXG4gICAgbWFyZ2luOiA1cHggNXB4IDAgMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDBweCAwcHggMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBmaWx0ZXI6bm9uZTtcclxuICAgIFxyXG4gICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICM2NDY0NjQ7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIFxyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xyXG4gICAgICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5iYWRnZSB7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJkZWZhdWx0XCIge1xyXG4gICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICBcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIH1cclxuXHJcbiAgICA+IC5iYWRnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIHRvcDogLTVweDtcclxuICAgICAgICByaWdodDogLTVweDtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4IDNweCA2cHg7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBpIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmllOCAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IG5vbmU7ICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7ICBcclxuICAuaWNvbi1idG4geyBcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcclxuICAgIFxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIH1cclxuXHJcbiAgICBAZXh0ZW5kIC5tZC1zaGFkb3ctei0xOyAgXHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTItaG92ZXI7IFxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qKipcclxuSW5wdXQgaWNvbnNcclxuKioqL1xyXG5cclxuLmlucHV0LWljb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgID4gLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzM3B4O1xyXG5cclxuICAgICAgICAuaW5wdXQtZ3JvdXAgJiB7XHJcbiAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3J0bGV0LWJvcmRlci1yYWRpdXMgMCAwICRwb3J0bGV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGkge1xyXG4gICAgICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW46IDExcHggMnB4IDRweCAxMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm1vZGFsICYge1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsICsgNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oYXMtc3VjY2VzcyAmIHtcclxuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1zdWNjZXNzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhhcy13YXJuaW5nICYge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhhcy1pbmZvICYge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWluZm87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGFzLWVycm9yICYge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWRhbmdlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgPiAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzNweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG5cclxuICAgICAgICAgICAgLmlucHV0LWdyb3VwICYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRwb3J0bGV0LWJvcmRlci1yYWRpdXMgJHBvcnRsZXQtYm9yZGVyLXJhZGl1cyAwKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgICYuaW5wdXQtaWNvbi1sZyB7XHJcbiAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmlucHV0LWljb24tc20ge1xyXG4gICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgICAgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OyAgICBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5DdXN0b21pemVkIEJvb3RzdHJhcCBMYWJlbHNcclxuKioqL1xyXG5cclxuLmxhYmVsIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEzcHg7ICBcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7ICBcclxuICAgIHBhZGRpbmc6IDNweCA2cHggM3B4IDZweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5OyAgIFxyXG5cclxuICAgICYubGFiZWwtc20geyAgIFxyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHggNHB4IDFweCA0cHg7ICBcclxuICAgIH1cclxuXHJcbiAgICBoMSAmLFxyXG4gICAgaDIgJixcclxuICAgIGgzICYsXHJcbiAgICBoNCAmLFxyXG4gICAgaDUgJixcclxuICAgIGg2ICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTo3NSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIExhYmVscyB2YXJpYW50cyAqL1xyXG5cclxuLmxhYmVsLWRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGJyYW5kLWRlZmF1bHQpO1xyXG59XHJcblxyXG4ubGFiZWwtcHJpbWFyeSB7XHJcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5sYWJlbC1zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRicmFuZC1zdWNjZXNzKTtcclxufVxyXG5cclxuLmxhYmVsLWluZm8ge1xyXG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGJyYW5kLWluZm8pO1xyXG59XHJcblxyXG4ubGFiZWwtd2FybmluZyB7XHJcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkYnJhbmQtd2FybmluZyk7XHJcbn1cclxuXHJcbi5sYWJlbC1kYW5nZXIge1xyXG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGJyYW5kLWRhbmdlcik7XHJcbn1cclxuXHJcbi8qKipcclxuSWNvbmljIGxhYmVsc1xyXG4qKiovXHJcblxyXG4ubGFiZWwubGFiZWwtaWNvbiB7XHJcbiAgICBwYWRkaW5nOiA0cHggMHB4IDRweCA0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG5cclxuICAgID4gaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5pZTggJixcclxuICAgIC5pZTkgJiB7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDBweCAzcHggM3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcblRleHQgc3RhdGVzXHJcbioqKi9cclxuXHJcbi50ZXh0LWRlZmF1bHQge1xyXG4gICAgY29sb3I6ICRicmFuZC1kZWZhdWx0O1xyXG59XHJcblxyXG4udGV4dC1wcmltYXJ5IHtcclxuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxufVxyXG5cclxuLnRleHQtc3VjY2VzcyB7XHJcbiAgICBjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XHJcbn1cclxuXHJcbi50ZXh0LWluZm8ge1xyXG4gICAgY29sb3I6ICRicmFuZC1pbmZvO1xyXG59XHJcblxyXG4udGV4dC13YXJuaW5nIHtcclxuICAgIGNvbG9yOiAkYnJhbmQtd2FybmluZztcclxufVxyXG5cclxuLnRleHQtZGFuZ2VyIHtcclxuICAgIGNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTE7ICBcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCA2cHggNHB4IDZweDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7ICAgICBcclxuICAgICAgICBmb250LXdlaWdodDogNjAwOyAgXHJcblxyXG4gICAgICAgICYubGFiZWwtc20geyAgXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgcGFkZGluZzogM3B4IDZweCAzcHggNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGFiZWwubGFiZWwtaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDBweCA0cHggNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmllOCAmLFxyXG4gICAgICAgIC5pZTkgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwIDNweCAzcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkN1c3RvbWl6ZWQgTGlzdCBHcm91cFxyXG4qKiovXHJcblxyXG4vKiBDb250ZXh0dWFsIHZhcmlhbnRzICovXHJcbi5saXN0LWdyb3VwIHtcclxuXHQ+IGxpOmZpcnN0LWNoaWxkIHtcclxuXHRcdGJvcmRlci1yYWRpdXMtdG9wbGVmdDogJGdlbmVyYWwtYm9yZGVyLXJhZGl1cztcclxuXHRcdGJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6ICRnZW5lcmFsLWJvcmRlci1yYWRpdXM7XHJcblx0fVxyXG5cclxuXHQ+IGxpOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xyXG5cdFx0Ym9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogJGdlbmVyYWwtYm9yZGVyLXJhZGl1czsgXHJcblx0fVxyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcblx0QGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcblx0QGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcblx0QGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcblx0QGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAubGlzdC1ncm91cDEge1xyXG4gICAgXHRtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBAZXh0ZW5kIC5tZC1zaGFkb3ctei0xOyAgICAgICAgXHJcbiAgICAgICAgYm9yZGVyOiAwOyBcclxuXHR9XHJcbn1cclxuIiwiLyoqKlxyXG5VSSBMb2FkaW5nXHJcbioqKi9cclxuXHJcbi5sb2FkaW5nLW1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiAxMjVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAmLmxvYWRpbmctbWVzc2FnZS1ib3hlZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyAgXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgIFxyXG4gICAgfVxyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MjBweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1sb2FkaW5nIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtaW4td2lkdGg6IDEyNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XHJcbiAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyAgXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgIFxyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MjBweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1zcGlubmVyLWJhciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsICsgMTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIHRvcDogNDAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBib3VuY2VEZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiBib3VuY2VEZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICBcclxuICAgICAgICAgLyogUHJldmVudCBmaXJzdCBmcmFtZSBmcm9tIGZsaWNrZXJpbmcgd2hlbiBhbmltYXRpb24gc3RhcnRzICovXHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJvdW5jZTEge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICB9XHJcblxyXG4gICAgLmJvdW5jZTIge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmxvY2stc3Bpbm5lci1iYXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcclxuICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogYm91bmNlRGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxuICAgICAgICAgIGFuaW1hdGlvbjogYm91bmNlRGVsYXkgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcclxuICAgICAgICAgXHJcbiAgICAgICAgIC8qIFByZXZlbnQgZmlyc3QgZnJhbWUgZnJvbSBmbGlja2VyaW5nIHdoZW4gYW5pbWF0aW9uIHN0YXJ0cyAqL1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3VuY2UxIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMzJzOyAgXHJcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XHJcbiAgICB9XHJcblxyXG4gICAgLmJvdW5jZTIge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xNnM7XHJcbiAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5NZXRybyBpY29uc1xyXG4qKiovXHJcblxyXG5bY2xhc3NePVwibS1pY29uLVwiXSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyAgXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zeW5jZnVzaW9uLWljb25zLnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcclxufVxyXG5cclxuW2NsYXNzXj1cIm0taWNvbi1iaWctXCJdIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4OyBcclxuICAgIG1hcmdpbjogNnB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3luY2Z1c2lvbi1pY29ucy5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBcclxufVxyXG5cclxuLyogbGFyZ2UgaWNvbnMgKi9cclxuLmJ0bi5tLWljb24tYmlnIHtcclxuICAgIHBhZGRpbmc6IDlweCAxNnB4IDhweCAxNnB4OyBcclxufVxyXG5cclxuLmJ0bi5tLWljb24tYmlnLm0taWNvbi1vbmx5e1xyXG4gICAgcGFkZGluZzogOXB4IDhweCA4cHggMHB4O1xyXG59XHJcblxyXG4uYnRuLm0taWNvbi1iaWcgW2NsYXNzXj1cIm0taWNvbi1iaWctXCJdIHtcclxuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxufVxyXG5cclxuLmJ0bi5tLWljb24tb255ID4gaSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG59XHJcblxyXG4vKiBkZWZhdWx0IGljb25zICovXHJcbi5idG4ubS1pY29uIHtcclxuICAgIHBhZGRpbmc6IDdweCAxNHB4IDdweCAxNHB4OyBcclxufVxyXG5cclxuLmJ0bi5tLWljb24gW2NsYXNzXj1cIm0taWNvbi1cIl0ge1xyXG4gICAgbWFyZ2luOiA0cHggMCAwIDVweDtcclxufVxyXG5cclxuLmJ0bi5tLWljb24ubS1pY29uLW9ubHkge1xyXG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDZweDtcclxufVxyXG5cclxuLyogd2hpdGUgaWNvbiAqL1xyXG4ubS1pY29uLXdoaXRlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3luY2Z1c2lvbi1pY29ucy13aGl0ZS5wbmcpO1xyXG59XHJcblxyXG4vKiAgTWlzYyAqL1xyXG4ubS1pY29uLXN3YXByaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjdweCAtMTBweDtcclxufVxyXG5cclxuLm0taWNvbi1zd2FwZG93biB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAtMTBweDtcclxufVxyXG5cclxuLm0taWNvbi1zd2FwbGVmdCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOHB4IC0xMHB4O1xyXG59XHJcblxyXG4ubS1pY29uLXN3YXB1cCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtMTBweDtcclxufVxyXG5cclxuLm0taWNvbi1iaWctc3dhcHJpZ2h0e1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTI4cHg7XHJcbn1cclxuXHJcbi5tLWljb24tYmlnLXN3YXBkb3due1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNXB4IC0yOHB4O1xyXG59XHJcblxyXG4ubS1pY29uLWJpZy1zd2FwbGVmdHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02cHggLTI4cHg7XHJcbn1cclxuXHJcbi5tLWljb24tYmlnLXN3YXB1cHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03OHB4IC0yOHB4O1xyXG59IiwiLyoqKlxyXG5DdXN0b21pemVkIEJvb3RzdHJhcCBNb2RhbCBcclxuKioqL1xyXG5cclxuLm1vZGFsIHtcclxuICAgIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XHJcblxyXG4gICAgLnBhZ2UtcG9ydGxldC1mdWxsc2NyZWVuICYge1xyXG4gICAgICAgIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwgKyAxMDsgICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7IC8qIEZpeCBjb250ZW50IHNoaWZ0aW5nIHRvIHRoZSByaWdodCBvbiBtb2RhbCBvcGVuIGR1ZSB0byBzY3JvbGxiYXIgY2xvc2VkICovIFxyXG4gICAgXHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VGRUZFRjtcclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIH0gICAgXHJcblxyXG4gICAgICAgIC5jbG9zZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRyYWdnYWJsZS1tb2RhbCB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICAgICAgei1pbmRleDogJHppbmRleC1tb2RhbCArIDE7XHJcbiAgICB9XHJcblxyXG4gICAgPiAubG9hZGluZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6NTAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0yMnB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmluIHtcclxuICAgICAgICAucGFnZS1sb2FkaW5nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2RhbC1vcGVuIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcclxufSAgXHJcbiAgICBcclxuLm1vZGFsLW9wZW4tbm9zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7ICBcclxufVxyXG5cclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XHJcblxyXG4gICAgLnBhZ2UtcG9ydGxldC1mdWxsc2NyZWVuICYge1xyXG4gICAgICAgIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZCArIDEwOyAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJixcclxuICAgICYuZmFkZS5pbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBGdWxsIHdpZHRoIG1vZGFsICovXHJcblxyXG4ubW9kYWwtZnVsbC5tb2RhbC1kaWFsb2cgeyAgXHJcbiAgd2lkdGg6IDk5JTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcblxyXG4gIC5tb2RhbC1mdWxsLm1vZGFsLWRpYWxvZyB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9ICAgXHJcblxyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7IFxyXG5cclxuICAgIC5tb2RhbCB7XHJcbiAgICAgICAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5tZC1zaGFkb3ctei0zO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcblxyXG4gICAgICAgICAgICAubW9kYWwtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm1vZGFsLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWJhY2tkcm9wLmluIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuMik7XHJcbiAgICB9XHJcblxyXG59IiwiLyoqKlxyXG5Ob3Rlc1xyXG4qKiovXHJcblxyXG5AbWl4aW4gbm90ZS12YXJpYW50KCR0ZXh0LWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvciwgJGJvcmRlci1jb2xvcikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYmFja2dyb3VuZC1jb2xvciwgNSUpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgNSUpO1xyXG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yOyAgXHJcblxyXG4gICAgJi5ub3RlLWJvcmRlcmVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQtY29sb3IsIDElKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xyXG4gICAgfVxyXG5cclxuICAgICYubm90ZS1zaGFkb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZC1jb2xvciwgMCUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7ICAgXHJcbiAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCByZ2JhKGRhcmtlbigkYm9yZGVyLWNvbG9yLCA5JSksIDAuMik7ICAgICBcclxuICAgIH1cclxufSAgIFxyXG5cclxuLm5vdGUgeyAgXHJcbiAgXHRtYXJnaW46IDAgMCAyMHB4IDA7XHJcbiAgXHRwYWRkaW5nOiAxNXB4IDMwcHggMTVweCAxNXB4OyBcclxuICBcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2VlZTtcclxuIFxyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRwb3J0bGV0LWJvcmRlci1yYWRpdXMgJHBvcnRsZXQtYm9yZGVyLXJhZGl1cyAwKTtcclxuXHJcbiAgXHRoMSxcclxuICBcdGgyLFxyXG4gIFx0aDMsXHJcbiAgXHRoNCxcclxuICBcdGg1LFxyXG4gIFx0aDYge1xyXG4gIFx0XHRtYXJnaW4tdG9wOjA7XHJcblxyXG4gICAgICAuY2xvc2Uge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XHJcbiAgICAgIH1cclxuICBcdH1cclxuXHJcbiAgXHRwIHtcclxuICBcdFx0JjpsYXN0LWNoaWxkIHtcclxuICBcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gIFx0XHR9XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICBcdH1cclxuXHJcbiAgXHRjb2RlLFxyXG4gIFx0LmhpZ2hsaWdodCB7XHJcbiAgXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLWRlZmF1bHQge1xyXG4gIFx0XHRAaW5jbHVkZSBub3RlLXZhcmlhbnQoJHN0YXRlLWRlZmF1bHQtdGV4dCwgJHN0YXRlLWRlZmF1bHQtYmcsICRzdGF0ZS1kZWZhdWx0LWJvcmRlcik7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLXByaW1hcnkge1xyXG4gIFx0XHRAaW5jbHVkZSBub3RlLXZhcmlhbnQoJHN0YXRlLXByaW1hcnktdGV4dCwgJHN0YXRlLXByaW1hcnktYmcsICRzdGF0ZS1wcmltYXJ5LWJvcmRlcik7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLXN1Y2Nlc3Mge1xyXG4gIFx0XHRAaW5jbHVkZSBub3RlLXZhcmlhbnQoJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLWJvcmRlcik7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLWluZm8ge1xyXG4gIFx0XHRAaW5jbHVkZSBub3RlLXZhcmlhbnQoJHN0YXRlLWluZm8tdGV4dCwgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLWJvcmRlcik7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLXdhcm5pbmcge1xyXG4gIFx0XHRAaW5jbHVkZSBub3RlLXZhcmlhbnQoJHN0YXRlLXdhcm5pbmctdGV4dCwgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSksIGRhcmtlbigkc3RhdGUtd2FybmluZy1ib3JkZXIsIDUlKSk7XHJcbiAgXHR9XHJcblxyXG4gIFx0Ji5ub3RlLWRhbmdlciB7XHJcbiAgXHRcdEBpbmNsdWRlIG5vdGUtdmFyaWFudCgkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItYm9yZGVyKTtcclxuICBcdH1cclxuXHJcbn1cclxuXHJcbkBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHsgIFxyXG4gIC5ub3RlIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7ICBcclxuICAgIGJvcmRlcjogMDsgIFxyXG4gICAgQGV4dGVuZCAubWQtc2hhZG93LXotMTsgICAgICAgICBcclxuICB9XHJcbn0iLCIvKioqXHJcbkN1c3RvbWl6ZWQgQm9vdHN0cmFwIFBhZ2luYXRpb25cclxuKioqL1xyXG5cclxuLnBhZ2luYXRpb24ge1xyXG5cdG1hcmdpbjogMTBweCAwO1xyXG5cclxuXHQmLnBhZ2luYXRpb24tY2lyY2xlIHtcclxuXHQgICAgPiBsaSB7XHJcblxyXG5cdCAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcblx0ICAgICAgICAgICAgPiBhIHtcclxuXHQgICAgICAgICAgICBcdGJvcmRlci1yYWRpdXM6IDI1cHggMCAwIDI1cHggIWltcG9ydGFudDtcclxuXHQgICAgICAgIFx0fVxyXG5cdCAgICAgICAgfVxyXG5cclxuXHQgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcblx0ICAgICAgICAgICAgPiBhIHtcclxuXHQgICAgICAgICAgICBcdGJvcmRlci1yYWRpdXM6IDAgMjVweCAyNXB4IDAgIWltcG9ydGFudDtcclxuXHQgICAgICAgIFx0fVxyXG5cdCAgICAgICAgfVxyXG5cdCAgICB9XHJcblx0fVxyXG5cclxuIFx0LmFjdGl2ZSA+IGEsXHJcblx0LmFjdGl2ZSA+IGE6aG92ZXIge1xyXG4gIFx0XHRiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gXHQgXHRib3JkZXItY29sb3I6ICNkZGRkZGQ7XHJcbiBcdCBcdGNvbG9yOiAjMzMzO1xyXG5cdH1cclxufVxyXG4iLCIvKioqXHJcbkN1c3RvbWl6ZWQgQm9vdHN0cmFwIFBhbmVsc1xyXG4qKiovXHJcblxyXG4ucGFuZWwgeyAgXHJcblxyXG4gICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhbmVsLWdyb3VwICYge1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7IFxyXG4gICAgfVxyXG5cclxuICAgIC5wYW5lbC10aXRsZSA+IGE6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uICYgLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbiAmIC5wYW5lbC10aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10b2dnbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10b2dnbGUuYWNjb3JkaW9uLXRvZ2dsZS1zdHlsZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYWNjb3JkaW9uLXBsdXNtaW51cy5wbmdcIikgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTlweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10b2dnbGUuYWNjb3JkaW9uLXRvZ2dsZS1zdHlsZWQuY29sbGFwc2VkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zXHJcblxyXG4ucGFuZWwtZGVmYXVsdCB7XHJcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudChsaWdodGVuKCRzdGF0ZS1kZWZhdWx0LWJvcmRlciwgMTUlKSwgJHN0YXRlLWRlZmF1bHQtdGV4dCwgbGlnaHRlbigkc3RhdGUtZGVmYXVsdC1iZywgMjAlKSwgbGlnaHRlbigkc3RhdGUtZGVmYXVsdC1ib3JkZXIsIDE1JSkpOyAgIFxyXG59XHJcblxyXG4ucGFuZWwtcHJpbWFyeSB7XHJcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkc3RhdGUtcHJpbWFyeS1ib3JkZXIsICRzdGF0ZS1wcmltYXJ5LXRleHQsICRzdGF0ZS1wcmltYXJ5LWJnLCAkc3RhdGUtcHJpbWFyeS1ib3JkZXIpO1xyXG59IFxyXG5cclxuLnBhbmVsLXN1Y2Nlc3Mge1xyXG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyLCAkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyKTtcclxufVxyXG5cclxuLnBhbmVsLWluZm8ge1xyXG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHN0YXRlLWluZm8tYm9yZGVyLCAkc3RhdGUtaW5mby10ZXh0LCAkc3RhdGUtaW5mby1iZywgJHN0YXRlLWluZm8tYm9yZGVyKTtcclxufVxyXG5cclxuLnBhbmVsLXdhcm5pbmcge1xyXG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHN0YXRlLXdhcm5pbmctYm9yZGVyLCAkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy1iZywgJHN0YXRlLXdhcm5pbmctYm9yZGVyKTtcclxufVxyXG5cclxuLnBhbmVsLWRhbmdlciB7XHJcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkc3RhdGUtZGFuZ2VyLWJvcmRlciwgJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLWJvcmRlcik7XHJcbn1cclxuXHJcbi8qKipcclxuQWNjb3JkaW9uc1xyXG4qKiovXHJcblxyXG4uYWNjb3JkaW9uLWhlYWRpbmcge1xyXG4gICAgYmFja2dyb3VuZDojZWVlO1xyXG4gICAgXHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBhOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgLnBhbmVsIHtcclxuICAgICAgICBAZXh0ZW5kIC5tZC1zaGFkb3ctei0yOyAgICAgICAgXHJcbiAgICAgICAgYm9yZGVyOiAwOyBcclxuICAgIH1cclxufVxyXG4iLCIvKioqXHJcbkN1c3RvbWl6ZWQgQm9vdHN0cmFwIFBvcG92ZXJcclxuKioqL1xyXG5cclxuLnBvcG92ZXIge1xyXG4gICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IHJnYmEoIzY2NiwgMC4xKTtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5wb3BvdmVyLXRpdGxlIHsgIFxyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcG9wb3Zlci12YXJpYW50KCRuYW1lLCAkY29sb3IpIHtcclxuICAgIC5wb3BvdmVyLiN7bmFtZX0gLnBvcG92ZXItdGl0bGUsXHJcbiAgICAje25hbWV9IC5wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQsXHJcbiAgICAucG9wb3Zlci4je25hbWV9IC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbn0gXHJcblxyXG5AaW5jbHVkZSBwb3BvdmVyLXZhcmlhbnQoXCJpbmZvXCIsICRicmFuZC1pbmZvKTtcclxuQGluY2x1ZGUgcG9wb3Zlci12YXJpYW50KFwicHJpbWFyeVwiLCAkYnJhbmQtcHJpbWFyeSk7XHJcbkBpbmNsdWRlIHBvcG92ZXItdmFyaWFudChcInN1Y2Nlc3NcIiwgJGJyYW5kLXN1Y2Nlc3MpO1xyXG5AaW5jbHVkZSBwb3BvdmVyLXZhcmlhbnQoXCJ3YXJuaW5nXCIsICRicmFuZC13YXJuaW5nKTtcclxuQGluY2x1ZGUgcG9wb3Zlci12YXJpYW50KFwiZGFuZ2VyXCIsICRicmFuZC1kYW5nZXIpO1xyXG5cclxuXHJcbkBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHtcclxuICAgIC5wb3BvdmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTI7ICAgICAgICBcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgXHJcblxyXG4gICAgICAgID4gLnBvcG92ZXItdGl0bGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTRweCA2cHggMTRweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFycm93LFxyXG4gICAgICAgIC5hcnJvdzphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcblBvcnRsZXRzXHJcbioqKi9cclxuXHJcbi8qIEZ1bGwgU2NyZWVuIHBvcnRsZXQgbW9kZSAqL1xyXG5cclxuLnBhZ2UtcG9ydGxldC1mdWxsc2NyZWVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIEJhc2ljIHBvcnRsZXQgKi9cclxuXHJcbi5wb3J0bGV0ICB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgcGFkZGluZzogMHB4OyBcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9ydGxldC1ib3JkZXItcmFkaXVzKTtcclxuXHJcbiAgICAmLnBvcnRsZXQtZnVsbHNjcmVlbiB7XHJcbiAgICAgICAgei1pbmRleDogJHppbmRleC1tb2RhbCArIDEwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgbGVmdDowOyAgICBcclxuICAgICAgICBib3R0b206MDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuXHJcbiAgICAgICAgPiAucG9ydGxldC1ib2R5IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgXHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4OyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnBvcnRsZXQtdGl0bGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAucG9ydGxldC10aXRsZSB7ICBcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgICAgICBwYWRkaW5nOiAwOyAgIFxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDFweDtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3J0bGV0LWJvcmRlci1yYWRpdXMgJHBvcnRsZXQtYm9yZGVyLXJhZGl1cyAwIDApOyAgICAgICBcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgIFxyXG5cclxuICAgICAgICA+IC5jYXB0aW9uIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7ICAgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwOyBcclxuXHJcbiAgICAgICAgICAgICYuYm9sZCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xyXG5cclxuICAgICAgICAgICAgICAgICYuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7ICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAuY2FwdGlvbi1oZWxwZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5ZWFjYjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5hY3Rpb25zIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwOyAgICBcclxuXHJcbiAgICAgICAgICAgID4gLmRyb3Bkb3duLW1lbnUgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzU1NTU1NTtcclxuICAgICAgICAgICAgfSAgXHJcblxyXG4gICAgICAgICAgICA+IC5idG4sXHJcbiAgICAgICAgICAgID4gLmJ0bi5idG4tc20sXHJcbiAgICAgICAgICAgID4gLmJ0bi1ncm91cCA+IC5idG4sXHJcbiAgICAgICAgICAgID4gLmJ0bi1ncm91cCA+IC5idG4uYnRuLXNtLCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsgXHJcblxyXG4gICAgICAgICAgICAgICAgJi5idG4tZGVmYXVsdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG5cclxuICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ0bi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDdweCAzcHggN3B4OyAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICYuYnRuLWRlZmF1bHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHggMnB4IDZweDsgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5mdWxsc2NyZWVuIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCM4YzhjOGMsIDglKTsgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5idG4tc20ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDNweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4OyAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwNjVcIjsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYub24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDY2XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAudG9vbHMge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDhweCAwOyBcclxuXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDo1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5yZW1vdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LXJlbW92ZS1pY29uLnBuZyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5jb25maWcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LWNvbmZpZy1pY29uLnBuZyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5yZWxvYWQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LXJlbG9hZC1pY29uLnBuZyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBhLmV4cGFuZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtZXhwYW5kLWljb24ucG5nKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBhLmNvbGxhcHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCN7JGdlbmVyYWwtaW1nLXBhdGh9cG9ydGxldC1jb2xsYXBzZS1pY29uLnBuZyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGEuZnVsbHNjcmVlbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0zcHg7ICBcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7IFxyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNBQ0FDQUM7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5vbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA2NlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGE6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5uYXYtdGFicyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDsgIFxyXG5cclxuICAgICAgICAgICAgICAgID4gYSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwIDFweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4OyBcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGEsXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gLnBvcnRsZXQtYm9keSB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7ICBcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkcG9ydGxldC1ib3JkZXItcmFkaXVzICRwb3J0bGV0LWJvcmRlci1yYWRpdXMpOyBcclxuICAgIH1cclxuIFxyXG4gICAgPiAucG9ydGxldC1lbXB0eSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTI1cHg7IFxyXG4gICAgfVxyXG5cclxuICAgICYuZnVsbC1oZWlnaHQtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbi8qIFBvcnRsZXQgYmFja2dyb3VuZCBjb2xvcnMgKi9cclxuXHJcbkBtaXhpbiBwb3JsZXQtYmFja2dyb3VuZCgkbmFtZSwgJGNvbG9yKSB7XHJcblxyXG4gICAgLnBvcnRsZXQgPiAucG9ydGxldC1ib2R5LiN7JG5hbWV9LCBcclxuICAgIC5wb3J0bGV0LiN7JG5hbWV9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vL0BpbmNsdWRlIHBvcmxldC1iYWNrZ3JvdW5kKFwicmVkXCIsICRtZXRyb25pYy1yZWQpO1xyXG5cclxuLyogU2lkZSBib3JkZXJlZCBwb3J0bGV0ICovXHJcblxyXG4ucG9ydGxldC5ib3JkZXJlZCB7XHJcblxyXG4gICAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNlNmU5ZWMgIWltcG9ydGFudDsgICBcclxuICAgIH1cclxuXHJcbiAgICA+IC5wb3J0bGV0LXRpdGxlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG59IFxyXG5cclxuLyogU29saWQgY29sb3JlZCBwb3J0bGV0ICovXHJcblxyXG4ucG9ydGxldC5zb2xpZCB7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHggMTBweCAxMHB4O1xyXG4gICAgYm9yZGVyOiAwcHg7XHJcblxyXG4gICAgPiAucG9ydGxldC10aXRsZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyBcclxuXHJcbiAgICAgICAgPiAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMCAycHggMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmFjdGlvbnMge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgNnB4IDA7ICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnRvb2xzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwIDZweCAwOyAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcG9ybGV0LXNvbGlkKCRuYW1lLCAkY29sb3IpIHtcclxuXHJcbiAgICAucG9ydGxldC5zb2xpZC4jeyRuYW1lfSB7XHJcblxyXG4gICAgICAgID4gLnBvcnRsZXQtdGl0bGUsXHJcbiAgICAgICAgPiAucG9ydGxldC1ib2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAucG9ydGxldC10aXRsZSB7XHJcbiAgICAgICAgICAgID4gLmNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgXHJcbiAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC50b29scyB7XHJcbiAgICAgICAgICAgICAgICA+IGEucmVtb3ZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtcmVtb3ZlLWljb24td2hpdGUucG5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IGEuY29uZmlnIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtY29uZmlnLWljb24td2hpdGUucG5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IGEucmVsb2FkIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtcmVsb2FkLWljb24td2hpdGUucG5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IGEuZXhwYW5kIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtZXhwYW5kLWljb24td2hpdGUucG5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IGEuY29sbGFwc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCN7JGdlbmVyYWwtaW1nLXBhdGh9cG9ydGxldC1jb2xsYXBzZS1pY29uLXdoaXRlLnBuZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBhLmZ1bGxzY3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmRmZGZkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0BpbmNsdWRlIHBvcmxldC1zb2xpZChcInJlZFwiLCAkbWV0cm9uaWMtYmx1ZS10ZXh0KTtcclxuXHJcbi8qIFNvbGlkIGJvcmRlcmVkIHBvcnRsZXQgKi9cclxuXHJcbi5wb3J0bGV0LnNvbGlkLmJvcmRlcmVkID4gLnBvcnRsZXQtdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi8qIEJveCBwb3J0bGV0ICovXHJcblxyXG4ucG9ydGxldC5ib3gge1xyXG4gICAgcGFkZGluZzowcHggIWltcG9ydGFudDtcclxuXHJcbiAgICA+IC5wb3J0bGV0LXRpdGxlIHsgIFxyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7ICBcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjsgICAgXHJcblxyXG4gICAgICAgID4gLmNhcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDAgOXB4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC50b29scyB7XHJcbiAgICAgICAgICAgID4gYS5yZW1vdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LXJlbW92ZS1pY29uLXdoaXRlLnBuZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5jb25maWcge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LWNvbmZpZy1pY29uLXdoaXRlLnBuZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5yZWxvYWQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LXJlbG9hZC1pY29uLXdoaXRlLnBuZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5leHBhbmQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoI3skZ2VuZXJhbC1pbWctcGF0aH1wb3J0bGV0LWV4cGFuZC1pY29uLXdoaXRlLnBuZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gYS5jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgjeyRnZW5lcmFsLWltZy1wYXRofXBvcnRsZXQtY29sbGFwc2UtaWNvbi13aGl0ZS5wbmcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGEuZnVsbHNjcmVlbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZkZmRmZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDVweCAwOyAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IC5wb3J0bGV0LWJvZHkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLnBvcnRsZXQtZnVsbHNjcmVlbiB7XHJcbiAgICAgICAgPiAucG9ydGxldC1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcG9ybGV0LWJveCgkbmFtZSwgJGNvbG9yLCAkdGV4dC1jb2xvcikge1xyXG5cclxuICAgIC5wb3J0bGV0LmJveC4jeyRuYW1lfSB7ICBcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvciwgMTAlKTsgXHJcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuXHJcbiAgICAgICAgPiAucG9ydGxldC10aXRsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAgICAgICAgID4gLmNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgLmJ0bi1kZWZhdWx0IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvbG9yLCAyMiUpOyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNyUpOyAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvciwgMzAlKTsgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvciwgMzIlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLDM3JSk7ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTItaG92ZXI7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTMtaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQGluY2x1ZGUgcG9ybGV0LWJveChcInJlZFwiLCAkbWV0cm9uaWMtcmVkLCAkbWV0cm9uaWMtcmVkLXRleHQpO1xyXG5cclxuLyogTGlnaHQgUG9ydGxldCAqL1xyXG5cclxuLnBvcnRsZXQubGlnaHQge1xyXG4gICAgcGFkZGluZzogMTJweCAyMHB4IDE1cHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgJi5ib3JkZXJlZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICA+IC5wb3J0bGV0LXRpdGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYmctaW52ZXJzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0Y3RjdGNztcclxuICAgIH1cclxuXHJcbiAgICA+IC5wb3J0bGV0LXRpdGxlIHsgIFxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDhweDsgIFxyXG5cclxuICAgICAgICA+IC5jYXB0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICM2NjY7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuXHJcbiAgICAgICAgICAgID4gLmNhcHRpb24tc3ViamVjdCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzc3NztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7ICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuY2FwdGlvbi1tZCB7XHJcbiAgICAgICAgICAgICAgICA+IC5jYXB0aW9uLXN1YmplY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwIDE0cHggMDtcclxuXHJcbiAgICAgICAgICAgIC5idG4tZGVmYXVsdCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ0bi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI3cHg7ICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIGxpID4gYSB7ICBcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzU1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuaW5wdXRzIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAwOyAgICAgIFxyXG5cclxuICAgICAgICAgICAgPiAucG9ydGxldC1pbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICA+IC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAyNnB4IDNweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMCAxM3B4IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC50b29scyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxM3B4IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLm5hdi10YWJzIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTNweCAxM3B4IDEzcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGEsXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5mb3JtLWZpdCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgPiAucG9ydGxldC10aXRsZSB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAxN3B4IDIwcHggMTBweCAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucG9ydGxldC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYucG9ydGxldC1mdWxsc2NyZWVuIHtcclxuICAgICAgICA+IC5wb3J0bGV0LWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFiLXBhbmUge1xyXG4gICAgPiBwOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogUmV2ZXJzZSBhbGlnbmVkIHRhYnMgKi9cclxuXHJcbi50YWJzLXJldmVyc2VkIHtcclxuICAgID4gbGkge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IFxyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBqUXVlcnkgVUkgRHJhZ2dhYmxlIFBvcnRsZXRzICovXHJcbi5wb3J0bGV0LXNvcnRhYmxlOm5vdCgucG9ydGxldC1mdWxsc2NyZWVuKSB7XHJcbiAgICA+IC5wb3J0bGV0LXRpdGxlIHtcclxuICAgICAgICBjdXJzb3I6IG1vdmU7ICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5wb3J0bGV0LXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZWVlOyAgIFxyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnBvcnRsZXQtc29ydGFibGUtZW1wdHkgeyAgIFxyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA0NXB4OyAgICAgICAgICBcclxufVxyXG5cclxuQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgLnBvcnRsZXQge1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTI7ICBcclxuXHJcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7ICAgICAgICBcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgICAgICA+IC5wb3J0bGV0LXRpdGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxpZ2h0LmJvcmRlcmVkLmZvcm0tZml0IHtcclxuICAgICAgICAgICAgPiAucG9ydGxldC10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5wb3J0bGV0LWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5saWdodCk6bm90KC5ib3gpOm5vdCguc29saWQpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHggMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYm94ID4gLnBvcnRsZXQtdGl0bGUgPiAuYWN0aW9ucyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDRweCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5saWdodCAucG9ydGxldC1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkN1c3RvbWl6ZWQgUHJvZ3Jlc3MgQmFyc1xyXG4qKiovXHJcblxyXG4ucHJvZ3Jlc3MgeyAgXHJcbiAgYm9yZGVyOiAwOyBcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGZpbHRlcjogbm9uZTtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyAgIFxyXG5cclxuICAmLnByb2dyZXNzLXNtIHtcclxuICAgIGhlaWdodDogMTJweDtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXItZGVmYXVsdCB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkYnJhbmQtZGVmYXVsdCk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkYnJhbmQtc3VjY2Vzcyk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXItaW5mbyB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkYnJhbmQtaW5mbyk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcclxuICAgIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRicmFuZC1kYW5nZXIpO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MgPiAucHJvZ3Jlc3MtYmFyLXdhcm5pbmcge1xyXG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGJyYW5kLXdhcm5pbmcpO1xyXG59XHJcblxyXG5AaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7XHJcbiAgICAucHJvZ3Jlc3Mge1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgJi5wcm9ncmVzcy1zbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKipcclxuRGFzaGJvYXJkIFN0YXRzXHJcbioqKi9cclxuXHJcbkBtaXhpbiBkYXNoYm9hcmQtc3RhdC12YXJpYW50KCRuYW1lLCAkYmctY29sb3IsICR0ZXh0LWNvbG9yKSB7XHJcbiAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7ICBcclxuXHJcbiAgICAgICAgJi5kYXNoYm9hcmQtc3RhdC1saWdodDpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmctY29sb3IsIDQlKTsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aXN1YWwge1xyXG4gICAgICAgICAgICA+IGkgeyBcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMCk7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGV0YWlscyB7XHJcbiAgICAgICAgICAgIC5udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yOyBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlc2Mge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yOyBcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgICAgXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1vcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmctY29sb3IsIDQlKTsgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kYXNoYm9hcmQtc3RhdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7ICBcclxuXHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cclxuICAgIC5wb3J0bGV0ICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAudmlzdWFsIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6ODBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7ICAgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgIFxyXG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDsgXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7IFxyXG5cclxuICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM1cHg7ICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMTBweDsgXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMTBweDsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlscyB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyAgXHJcbiBcclxuICAgICAgICAubnVtYmVyIHsgICAgXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4OyAgXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgICAgIFxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2Mge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9yZSB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgXHJcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHggNnB4IDEwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgb3BhY2l0eTogMC43OyAgXHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45OyAgXHJcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFweDtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG59XHJcblxyXG4uZGFzaGJvYXJkLXN0YXQtbGlnaHQge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgIC5kZXRhaWxzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAgIC5udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcbkRhc2hib2FyZCBTdGF0cyAyXHJcbioqKi9cclxuXHJcbi5kYXNoYm9hcmQtc3RhdDIge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZ2VuZXJhbC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMzBweCAxNXB4OyBcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICBcclxuXHJcbiAgICAuZGlzcGxheSB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAubnVtYmVyIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDJweCAwOyAgXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IHNtYWxsIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjQUFCNUJDO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDAgMCAwO1xyXG5cclxuICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjY2JkNGUwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWluZm8ge1xyXG4gICAgICAgIGNsZWFyOmJvdGg7XHJcblxyXG4gICAgICAgIC5wcm9ncmVzcyB7IFxyXG4gICAgICAgICAgICBtYXJnaW46IDA7ICAgICAgICBcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIGNsZWFyOmJvdGg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgY29sb3I6ICNBQUI1QkM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IFxyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgLnN0YXR1cy10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN0YXR1cy1udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG59XHJcblxyXG4vKioqXHJcblRleHQgU3RhdHNcclxuKioqL1xyXG5cclxuLnRleHQtc3RhdCB7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkgeyAvKiA3NjdweCAqLyAgXHJcblxyXG4gIC50ZXh0LXN0YXQge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9ICBcclxuXHJcbn1cclxuIiwiLyoqKlxyXG5Tb2NpYWwgSWNvbnNcclxuKioqL1xyXG5cclxuLnNvY2lhbC1pY29ucyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOjA7XHJcblxyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICBkaXNwbGF5OmlubGluZTtcclxuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjVweDtcclxuICAgICAgICB0ZXh0LWluZGVudDotOTk5OXB4O1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOjI4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDoyOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHsgXHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5tZC1zaGFkb3ctei0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAtMzhweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaWYgJHRoZW1lLXR5cGUgPT0gXCJtYXRlcmlhbC1kZXNpZ25cIiB7IFxyXG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTItaG92ZXI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYW1hem9uIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9hbWF6b24ucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5iZWhhbmNlIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9iZWhhbmNlLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuYmxvZ2dlciB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvYmxvZ2dlci5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmRldmlhbnRhcnQge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2RldmlhbnRhcnQucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5kcmliYmJsZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZHJpYmJibGUucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5kcm9wYm94IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9kcm9wYm94LnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuZXZlcm5vdGUge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2V2ZXJub3RlLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuZmFjZWJvb2sge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2ZhY2Vib29rLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuZm9ycnN0IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9mb3Jyc3QucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5naXRodWIge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2dpdGh1Yi5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmdvb2dsZXBsdXMge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2dvb2dsZXBsdXMucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5qb2xpY2xvdWQge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2pvbGljbG91ZC5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmxhc3QtZm0ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2xhc3QtZm0ucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5saW5rZWRpbiB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvbGlua2VkaW4ucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5waWNhc2Ege2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3BpY2FzYS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnBpbnRyZXN0IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9waW50cmVzdC5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnJzcyB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvcnNzLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuc2t5cGUge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3NreXBlLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuc3BvdGlmeSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvc3BvdGlmeS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnN0dW1ibGV1cG9uIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9zdHVtYmxldXBvbi5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnR1bWJsciB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvdHVtYmxyLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAudHdpdHRlciB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvdHdpdHRlci5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnZpbWVvIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC92aW1lby5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLndvcmRwcmVzcyB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvd29yZHByZXNzLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAueGluZyB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwveGluZy5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnlhaG9vIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC95YWhvby5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnlvdXR1YmUge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3lvdXR1YmUucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC52ayB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvdmsucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5pbnN0YWdyYW0ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2luc3RhZ3JhbS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLnJlZGRpdCB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvcmVkZGl0LnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuYWJvdXRtZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvYWJvdXRtZS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmZsaWNrciB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZmxpY2tyLnBuZykgbm8tcmVwZWF0O31cclxuICAgICAgICAuZm91cnNxdWFyZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZm91cnNxdWFyZS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmdyYXZhdGFyIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9ncmF2YXRhci5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLmtsb3V0IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9rbG91dC5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAgICAgLm15c3BhY2Uge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL215c3BhY2UucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgICAgIC5xdW9yYSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvcXVvcmEucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgfVxyXG5cclxuICAgICYuc29jaWFsLWljb25zLWNvbG9yIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAtMzhweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAubWQtc2hhZG93LXotMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkdGhlbWUtdHlwZSA9PSBcIm1hdGVyaWFsLWRlc2lnblwiIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc29jaWFsLWljb25zLWNpcmNsZSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKioqXHJcbklubGluZSBTb2NpYWwgSWNvbnNcclxuKioqL1xyXG5cclxuLnNvY2lhbC1pY29uIHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDoyOHB4O1xyXG4gICAgaGVpZ2h0OjI4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAmLnNvY2lhbC1pY29uLWNpcmNsZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc29jaWFsLWljb24ge1xyXG4gICAgJi5hbWF6b24ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2FtYXpvbi5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmJlaGFuY2Uge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2JlaGFuY2UucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5ibG9nZ2VyIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9ibG9nZ2VyLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYuZGV2aWFudGFydCB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZGV2aWFudGFydC5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmRyaWJiYmxlIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9kcmliYmJsZS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmRyb3Bib3gge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2Ryb3Bib3gucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5ldmVybm90ZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZXZlcm5vdGUucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5mYWNlYm9vayB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZmFjZWJvb2sucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5mb3Jyc3Qge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2ZvcnJzdC5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmdpdGh1YiB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZ2l0aHViLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYuZ29vZ2xlcGx1cyB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvZ29vZ2xlcGx1cy5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmpvbGljbG91ZCB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvam9saWNsb3VkLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYubGFzdC1mbSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvbGFzdC1mbS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmxpbmtlZGluIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9saW5rZWRpbi5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLnBpY2FzYSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvcGljYXNhLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYucGludHJlc3Qge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3BpbnRyZXN0LnBuZykgbm8tcmVwZWF0O31cclxuICAgICYucnNzIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9yc3MucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5za3lwZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvc2t5cGUucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5zcG90aWZ5IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9zcG90aWZ5LnBuZykgbm8tcmVwZWF0O31cclxuICAgICYuc3R1bWJsZXVwb24ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3N0dW1ibGV1cG9uLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYudHVtYmxyIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC90dW1ibHIucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi50d2l0dGVyIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC90d2l0dGVyLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYudmltZW8ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3ZpbWVvLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYud29yZHByZXNzIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC93b3JkcHJlc3MucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi54aW5nIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC94aW5nLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYueWFob28ge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL3lhaG9vLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYueW91dHViZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwveW91dHViZS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLnZrIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC92ay5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLmluc3RhZ3JhbSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvaW5zdGFncmFtLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYucmVkZGl0IHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9yZWRkaXQucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5hYm91dG1lIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9hYm91dG1lLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYuZmxpY2tyIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9mbGlja3IucG5nKSBuby1yZXBlYXQ7fVxyXG4gICAgJi5mb3Vyc3F1YXJlIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9mb3Vyc3F1YXJlLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYuZ3JhdmF0YXIge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2dyYXZhdGFyLnBuZykgbm8tcmVwZWF0O31cclxuICAgICYua2xvdXQge2JhY2tncm91bmQ6IHVybCguLi9pbWcvc29jaWFsL2tsb3V0LnBuZykgbm8tcmVwZWF0O31cclxuICAgICYubXlzcGFjZSB7YmFja2dyb3VuZDogdXJsKC4uL2ltZy9zb2NpYWwvbXlzcGFjZS5wbmcpIG5vLXJlcGVhdDt9XHJcbiAgICAmLnF1b3JhIHtiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3NvY2lhbC9xdW9yYS5wbmcpIG5vLXJlcGVhdDt9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAtMzhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNvY2lhbC1pY29uLWNvbG9yIHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246MCAtMzhweCAhaW1wb3J0YW50O1xyXG4gICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5DdXN0b21pemVkIEJvb3RzdHJhcCBUYWJsZXNcclxuKioqL1xyXG5cclxuLyoqKlxyXG5EZWZhdWx0IHRhYmxlXHJcbioqKi9cclxuXHJcbi50YWJsZSB7XHJcblxyXG5cdCYudGFibGUtYm9yZGVyZWQge1xyXG4gICAgdGhlYWQgPiB0ciA+IHRoIHtcclxuICBcdCAgYm9yZGVyLWJvdHRvbTogMDtcclxuXHQgIH1cclxuICB9XHJcbiAgXHJcblx0dHIuaGVhZGluZyA+IHRoIHtcclxuICBcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0dGQgLmltZy1yZXNwb25zaXZlICB7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLyogQ29udGV4dHVhbCB0YWJsZSByb3cgdmFyaWFudHMgKi9cclxuXHJcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdhY3RpdmUnLCBsaWdodGVuKCRzdGF0ZS1wcmltYXJ5LWJnLCAyNSUpLCBkYXJrZW4oJHN0YXRlLXByaW1hcnktdGV4dCwgNzUlKSk7ICAgICBcclxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3N1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XHJcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdpbmZvJywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xyXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcclxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2RhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItdGV4dCk7XHJcblxyXG4vKioqXHJcblJlc3BvbnNpdmUgJiBTY3JvbGxhYmxlIFRhYmxlc1xyXG4qKiovXHJcblxyXG4udGFibGUtc2Nyb2xsYWJsZSB7XHJcbiAgXHR3aWR0aDogMTAwJTtcclxuICBcdG92ZXJmbG93LXg6IGF1dG87XHJcbiAgXHRvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgXHRib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xyXG4gIFx0bWFyZ2luOiAxMHB4IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAmLnRhYmxlLXNjcm9sbGFibGUtYm9yZGVybGVzcyB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG5cclxuICBcdD4gLnRhYmxlIHtcclxuICBcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBcdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcbiAgXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gIFx0XHQ+IHRoZWFkID4gdHIgPiB0aCxcclxuICBcdFx0PiB0Ym9keSA+IHRyID4gdGgsXHJcbiAgXHRcdD4gdGZvb3QgPiB0ciA+IHRoLFxyXG4gIFx0XHQ+IHRmb290ID4gdHIgPiB0aCxcclxuICBcdFx0PiB0Zm9vdCA+IHRyID4gdGQge1xyXG4gIFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgXHRcdH1cclxuXHR9XHJcblxyXG5cdD4gLnRhYmxlLWJvcmRlcmVkIHtcclxuICBcdFx0Ym9yZGVyOiAwO1xyXG5cclxuICBcdD4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxyXG5cdFx0PiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXHJcblx0XHQ+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcclxuXHRcdD4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxyXG5cdFx0PiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXHJcblx0XHQ+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XHJcblx0XHQgIGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdD4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXHJcblx0XHQ+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxyXG5cdFx0PiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcclxuXHRcdD4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXHJcblx0XHQ+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxyXG5cdFx0PiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7XHJcblx0XHQgIGJvcmRlci1yaWdodDogMDtcclxuXHRcdH1cclxuXHJcblx0XHQ+IHRoZWFkID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxyXG5cdFx0PiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCxcclxuXHRcdD4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsXHJcblx0XHQ+IHRoZWFkID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxyXG5cdFx0PiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0ZCxcclxuXHRcdD4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQge1xyXG5cdFx0ICBib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqKlxyXG5SZXNwb25zaXZlIEZsaXAgU2Nyb2xsIFRhYmxlc1xyXG4qKiovXHJcblxyXG4uZmxpcC1zY3JvbGwgdGFibGUgeyBcclxuXHR3aWR0aDogMTAwJTsgXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1taW4pIHsgLyogNzY4cHggKi9cclxuICBcclxuICAgIC5mbGlwLXNjcm9sbCAuZmxpcC1jb250ZW50OmFmdGVyIHsgdmlzaWJpbGl0eTogaGlkZGVuOyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAwOyBjb250ZW50OiBcIiBcIjsgY2xlYXI6IGJvdGg7IGhlaWdodDogMDsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsICogaHRtbCAuZmxpcC1jb250ZW50IHsgem9vbTogMTsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsICo6Zmlyc3QtY2hpbGQraHRtbCAuZmxpcC1jb250ZW50IHsgem9vbTogMTsgfVxyXG4gIFxyXG4gICAgLmZsaXAtc2Nyb2xsIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlci1zcGFjaW5nOiAwOyB9XHJcbiBcclxuICAgIC5mbGlwLXNjcm9sbCB0aCxcclxuICAgIC5mbGlwLXNjcm9sbCB0ZCB7IG1hcmdpbjogMDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsIHRoIHsgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgXHJcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsgXHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAuZmxpcC1zY3JvbGwgdGFibGUgeyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsIHRoZWFkIHsgXHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgIGZsb2F0OiBsZWZ0OyBcclxuICAgIH1cclxuICAgIC5mbGlwLXNjcm9sbCB0Ym9keSB7IFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyBcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmZsaXAtc2Nyb2xsIHRoZWFkIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cclxuICAgIC5mbGlwLXNjcm9sbCB0aCB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsIHRib2R5IHRyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBtYXJnaW4tbGVmdDogLTVweDsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsIHRkIHsgZGlzcGxheTogYmxvY2s7IG1pbi1oZWlnaHQ6IDEuMjVlbTsgdGV4dC1hbGlnbjogbGVmdDsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudH0gXHJcbiBcclxuICAgIC8qIHNvcnQgb3V0IGJvcmRlcnMgKi9cclxuIFxyXG4gICAgLmZsaXAtc2Nyb2xsIHRoIHsgYm9yZGVyLWJvdHRvbTogMDsgYm9yZGVyLWxlZnQ6IDA7IH1cclxuICAgIC5mbGlwLXNjcm9sbCB0ZCB7IGJvcmRlci1sZWZ0OiAwOyBib3JkZXItcmlnaHQ6IDA7IGJvcmRlci1ib3R0b206IDA7IH1cclxuICAgIC5mbGlwLXNjcm9sbCB0Ym9keSB0ciB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDsgfVxyXG4gICAgLmZsaXAtc2Nyb2xsIHRoOmxhc3QtY2hpbGQsXHJcbiAgICAuZmxpcC1zY3JvbGwgdGQ6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XHJcbn1cclxuXHJcbi8qKipcclxuQ3VzdG9tIHRhYmxlc1xyXG4qKiovXHJcblxyXG4udGFibGUtdG9vbGJhciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbn1cclxuXHJcbi50YWJsZS50YWJsZS1mdWxsLXdpZHRoIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50YWJsZSAuYnRuIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7IFxyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi50YWJsZSB0aGVhZCB0ciB0aCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50YWJsZS1hZHZhbmNlIHRoZWFkIHsgXHJcbiAgICBjb2xvcjogIzk5OTsgXHJcbn1cclxuXHJcbi50YWJsZS1hZHZhbmNlIHRoZWFkIHRyIHRoe1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RERDsgXHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwOyBcclxuICAgIGNvbG9yOiAjNjY2O1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSBkaXYuc3VjY2VzcywgXHJcbi50YWJsZS1hZHZhbmNlIGRpdi5pbmZvLCBcclxuLnRhYmxlLWFkdmFuY2UgZGl2LmltcG9ydGFudCwgXHJcbi50YWJsZS1hZHZhbmNlIGRpdi53YXJuaW5nLCBcclxuLnRhYmxlLWFkdmFuY2UgZGl2LmRhbmdlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tdG9wOi01cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhYmxlLWFkdmFuY2UgdHIgdGQge1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDBweDsgXHJcbn1cclxuXHJcbi50YWJsZS1hZHZhbmNlIHRyIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHggIWltcG9ydGFudDsgXHJcbn1cclxuXHJcbi50YWJsZS1hZHZhbmNlIHRyIHRkLmhpZ2hsaWdodDpmaXJzdC1jaGlsZCBhIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB0ZC5oaWdobGlnaHQgZGl2LnByaW1hcnkgeyAgXHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB0ZC5oaWdobGlnaHQgZGl2LnN1Y2Nlc3MgeyAgXHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRicmFuZC1zdWNjZXNzO1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB0ZC5oaWdobGlnaHQgZGl2LmluZm8geyAgXHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRicmFuZC1pbmZvO1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB0ZC5oaWdobGlnaHQgZGl2Lndhcm5pbmcgeyAgXHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRicmFuZC13YXJuaW5nO1xyXG59XHJcblxyXG4udGFibGUtYWR2YW5jZSB0ZC5oaWdobGlnaHQgZGl2LmRhbmdlciB7ICBcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJyYW5kLWRhbmdlcjtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7IC8qIDc2N3B4ICovXHJcbiAgICAudGFibGUtYWR2YW5jZSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICA+IHRkLmhpZ2hsaWdodDpmaXJzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqXHJcbkxpZ2h0IFRhYmxlXHJcbioqKi9cclxuXHJcbi50YWJsZS50YWJsZS1saWdodCB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgXHJcblxyXG4gICAgPiB0aGVhZCB7XHJcbiAgICAgICAgPiB0ciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgPiB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi51cHBlcmNhc2Uge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiB0aCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjQjVCRkM0LCAxMiUpOyAgXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRjJGNUY4OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IHRib2R5IHtcclxuICAgICAgICA+IHRyIHtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgID4gdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiB0ZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRjJGNUY4OyAgIFxyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjQUFCNEJCLCAxMiUpO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmLmZpdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnVzZXItcGljIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XHJcbiAgICAgICAgPiB0ZDpob3ZlcixcclxuICAgICAgICA+IHRoOmhvdmVyLCBcclxuICAgICAgICAmOmhvdmVyID4gdGQsXHJcbiAgICAgICAgJjpob3ZlciA+IHRoIHsgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oIzk0QTBCMiwgMzQlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqXHJcbkN1c3RvbWl6ZWQgQm9vdHN0cmFwIFRhYnMgXHJcbioqKi9cclxuXHJcbi8qIFRhYnMgYW5kIHBpbGxzICovXHJcblxyXG4ubmF2LXRhYnMsXHJcbi5uYXYtcGlsbHMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgICAgICAgICA+IC5iYWRnZSB7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZ2VuZXJhbC1ib3JkZXItcmFkaXVzICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgMCAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcblxyXG4gICAgJi5uYXYtdGFicy1zbSxcclxuICAgICYubmF2LXBpbGxzLXNtIHtcclxuICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24ub3BlbiB7XHJcbiAgICAgICAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgICAgICAgICAgY29sb3I6ICMwZDYzOGY7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxufVxyXG5cclxuLyogTGVmdCBhbmQgcmlnaHQgdGFicyAqL1xyXG5cclxuLnRhYnMtcmlnaHQubmF2LXRhYnMsIFxyXG4udGFicy1sZWZ0Lm5hdi10YWJzIHtcclxuICAgIGJvcmRlci1ib3R0b206IDA7ICBcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbn1cclxuXHJcbi8qIExlZnQgdGFicyAqL1xyXG5cclxuLnRhYnMtbGVmdC5uYXYtdGFicyB7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcclxuXHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xyXG4gICAgXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZ2VuZXJhbC1ib3JkZXItcmFkaXVzIDAgMCAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlICNkZGRkZGQgI2VlZWVlZSAjZWVlZWVlOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaS5hY3RpdmUgPiBhLFxyXG4gICAgPiBsaS5hY3RpdmUgPiBhOmhvdmVyXHJcbiAgICA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyAwIDAgJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7ICAgICAgICAgIFxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RkZCB0cmFuc3BhcmVudCAjZGRkICNkZGQ7ICAgICAgXHJcbiAgICAgICAgKmJvcmRlci1yaWdodC1jb2xvcjogI2ZmZmZmZjsgICBcclxuICAgIH1cclxufVxyXG5cclxuLyogUmlnaHQgdGFicyAqL1xyXG5cclxuLnRhYnMtcmlnaHQubmF2LXRhYnMge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xyXG5cclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAgIFxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgMCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZSAjZWVlZWVlICNlZWVlZWUgI2RkZGRkZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaS5hY3RpdmUgPiBhLFxyXG4gICAgPiBsaS5hY3RpdmUgPiBhOmhvdmVyXHJcbiAgICA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgMCk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGRkICNkZGQgI2RkZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAqYm9yZGVyLWxlZnQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEJlbG93IHRhYnMgKi9cclxuXHJcbi50YWJzLWJlbG93ID4gLm5hdi10YWJzLFxyXG4udGFicy1iZWxvdyA+IC5uYXYtcGlsbHMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi50YWJzLWJlbG93ID4gLm5hdi10YWJzIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgPiBsaSA+IGF7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZGRkO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZ2VuZXJhbC1ib3JkZXItcmFkaXVzKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY3RpdmUgYSxcclxuICAgIC5hY3RpdmUgYTpob3ZlclxyXG4gICAgLmFjdGl2ZSBhOmZvY3VzIHtcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkZ2VuZXJhbC1ib3JkZXItcmFkaXVzICRnZW5lcmFsLWJvcmRlci1yYWRpdXMpOyAgICAgICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZGRkICNkZGQgI2RkZCAgIWltcG9ydGFudDsgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqXHJcbkN1c3RvbSB0YWJzXHJcbioqKi9cclxuXHJcbi8qIEluIEJTMy4wLjAgdGFiYmFibGUgY2xhc3Mgd2FzIHJlbW92ZWQuIFdlIGhhZCB0byBhZGRlZCBpdCBiYWNrICovXHJcblxyXG4udGFiYmFibGUge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcclxufSAgIFxyXG5cclxuLnRhYmJhYmxlLWN1c3RvbSB7IFxyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgXHJcbiAgICBwYWRkaW5nOiAwcHg7ICBcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgPiAubmF2LXRhYnMgeyBcclxuICAgICAgICBib3JkZXI6IG5vbmU7IFxyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG5cclxuICAgICAgICA+IGxpIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyBcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyBcclxuXHJcblxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRicmFuZC1kYW5nZXI7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTsgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkNGQ0ZDQgI2Q0ZDRkNCB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gLnRhYi1jb250ZW50IHsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyAgXHJcbiAgICAgICAgcGFkZGluZzogMTBweDsgXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgJGdlbmVyYWwtYm9yZGVyLXJhZGl1cyk7ICAgICAgICAgICAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLyoganVzdGlmaWVkIHRhYnMgKi9cclxuXHJcbiAgICAmLm5hdi1qdXN0aWZpZWQgPiAudGFiLWNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyogYm94bGVzcyB0YWJzICovXHJcblxyXG4gICAgJi5ib3hsZXNzID4gLnRhYi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOjE1cHggMDtcclxuICAgICAgICBib3JkZXItbGVmdDpub25lO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDpub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBiZWxvdyBqdXN0aWZpZWQgdGFicyAqL1xyXG5cclxuICAgICYudGFicy1iZWxvdy5uYXYtanVzdGlmaWVkIC50YWItY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XHJcbiAgXHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZ2VuZXJhbC1ib3JkZXItcmFkaXVzICRnZW5lcmFsLWJvcmRlci1yYWRpdXMgMCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBmdWxsIHdpZHRoIHRhYnMgKi9cclxuXHJcbiAgICAmLnRhYmJhYmxlLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgID4gLm5hdi10YWJzID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgY29sb3I6IzQyNDI0MjtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6OXB4IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC50YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MTVweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDpub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcblxyXG4gICAgLyogYmVsb3cgdGFicyAqL1xyXG5cclxuICAgICYudGFicy1iZWxvdyAubmF2LXRhYnMge1xyXG5cclxuICAgICAgICA+IGxpID4gYSB7IFxyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lOyBcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyBcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDsgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGkuYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZDEyNjEwOyBcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgIFxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IFxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q0ZDRkNCAjZDRkNGQ0IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSAgIFxyXG5cclxuXHJcbi50YWJiYWJsZS1jdXN0b20udGFiYmFibGUtbm9ib3JkZXIge1xyXG4gICAgPiAubmF2LXRhYnMgPiBsaSA+IGEge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICAudGFiLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiR0YWJiYWJsZS1saW5lLWZvbnQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XHJcblxyXG4udGFiYmFibGUtbGluZSB7XHJcbiAgICA+IC5uYXYtdGFicyB7IFxyXG4gICAgICAgIGJvcmRlcjogbm9uZTsgXHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcblxyXG4gICAgICAgID4gbGkgeyBcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7IFxyXG5cclxuXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkdGFiYmFibGUtbGluZS1mb250LWNvbG9yLCAyNSUpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRhYmJhYmxlLWxpbmUtZm9udC1jb2xvciwgNDUlKTsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYub3BlbixcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgbGlnaHRlbigkYnJhbmQtZGFuZ2VyLCAyNSUpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwOyBcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJiYWJsZS1saW5lLWZvbnQtY29sb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCR0YWJiYWJsZS1saW5lLWZvbnQtY29sb3IsIDQ1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYnJhbmQtZGFuZ2VyO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwOyBcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmJhYmxlLWxpbmUtZm9udC1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRhYmJhYmxlLWxpbmUtZm9udC1jb2xvciwgNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcblxyXG4gICAgPiAudGFiLWNvbnRlbnQgeyBcclxuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlOyAgXHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG5cclxuICAgICAgICAucG9ydGxldCAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYmJhYmxlLWxpbmUudGFicy1iZWxvdyB7XHJcbiAgICAgPiAubmF2LXRhYnMgeyBcclxuICAgICAgICA+IGxpIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgbGlnaHRlbigkYnJhbmQtZGFuZ2VyLCAyNSUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMnB4OyAgIFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAkYnJhbmQtZGFuZ2VyO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG5cclxuICAgID4gLnRhYi1jb250ZW50IHsgXHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7ICBcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyAgXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IFxyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5UaWxlcyhuZXcgaW4gdjEuMS4xKVxyXG4qKiovXHJcblxyXG4udGlsZXMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIC50aWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGhlaWdodDogMTM1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEzNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRvdWJsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kb3VibGUtZG93biB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjgwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2FhYSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUsIFxyXG4gICAgICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2VsZWN0ZWQgLmNvcm5lcjphZnRlciB7ICBcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0MHB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICAgICAgICByaWdodDogLTNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2VsZWN0ZWQgLmNoZWNrOmFmdGVyIHsgIFxyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICByaWdodDogMnB4O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICYuaWNvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLnRpbGUtYm9keSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLnRpbGUtYm9keSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5wdWxsLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE3cHg7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiA1NnB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDEsXHJcbiAgICAgICAgICAgIGgyLFxyXG4gICAgICAgICAgICBoMyxcclxuICAgICAgICAgICAgaDQsXHJcbiAgICAgICAgICAgIGg1LFxyXG4gICAgICAgICAgICBoNixcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGgzLFxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50aWxlLW9iamVjdCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICp6b29tOiAxO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLm5hbWUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG5cclxuICAgICAgICAgICAgICAgID4gaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4iLCIvKioqXHJcbkN1c3RpbWl6ZWQgQm9vdHN0cmFwIFdlbGxzXHJcbioqKi9cclxuXHJcbi53ZWxsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG4gIGJvcmRlcjogMDtcclxuXHJcbiAgQGlmICR0aGVtZS10eXBlID09IFwiZGVmYXVsdFwiIHtcclxuICBcdFx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgXHQtbW96LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyAgXHJcbiAgIH0gICAgICBcclxufVxyXG5cclxuQGlmICR0aGVtZS10eXBlID09IFwibWF0ZXJpYWwtZGVzaWduXCIge1xyXG4gICAgLndlbGwge1xyXG4gICAgICAgIEBleHRlbmQgLm1kLXNoYWRvdy16LTE7ICBcclxuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRnZW5lcmFsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG59IiwiLyoqKlxyXG5Bbmd1bGFySlMgQmFzaWMgQW5pbWF0aW9uc1xyXG4qKiovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gICAgMCUge1xyXG5cdCAgICBvcGFjaXR5OiAwO1xyXG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTtcclxuXHR9XHJcblx0MTAwJSB7XHJcblx0ICAgIG9wYWNpdHk6IDE7XHJcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIDAlIHtcclxuXHQgICAgb3BhY2l0eTogMDtcclxuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdCAgICBvcGFjaXR5OiAxO1xyXG5cdCAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcbn1cclxuXHJcbkAtby1rZXlmcmFtZXMgZmFkZUluVXAge1xyXG4gICAgMCUge1xyXG5cdCAgICBvcGFjaXR5OiAwO1xyXG5cdCAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdCAgICBvcGFjaXR5OiAxO1xyXG5cdCAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIDAlIHtcclxuXHQgICAgb3BhY2l0eTogMDtcclxuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHQgICAgb3BhY2l0eTogMTtcclxuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuLmZhZGUtaW4tdXAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVJblVwIC41cztcclxuICAgIGFuaW1hdGlvbjogZmFkZUluVXAgLjVzO1xyXG59ICBcclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VEZWxheSB7XHJcbiAgMCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjApIH1cclxuICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKSB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlRGVsYXkge1xyXG4gIDAlLCA4MCUsIDEwMCUgeyBcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xyXG4gIH0gXHJcblxyXG4gIDQwJSB7IFxyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNYXRlcmlhbCBEZXNpZ24gQW5pbWF0aW9uc1xyXG5cclxuLy8gbWFpbjogX21hdGVyaWFsLnNjc3NcclxuXHJcbkBrZXlmcmFtZXMgaW5wdXQtZm9jdXMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGxlZnQ6IDIwJTtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgfVxyXG4gICAgOTklIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59IiwiLy8jIyAgRmxhdCBVSSBDb2xvciBWYXJpYXRpb25zXHJcbi8vXHJcbi8vIENvbG9yIHZhcmlhdGlvbnMgY2FuIGJlIHVzZWQgZm9yIE1ldHJvbmljIGNvbXBvbmVudHMsIHN1Y2ggYXMgcG9ydGxldHMsIGJ1dHRvbnMsIGRhc2hib2FyZCBzdGF0cy5cclxuXHJcbkBtaXhpbiBmbGF0dWktY29sb3ItdmFyaWFudCgkbmFtZSwgJGNvbG9yLCAkdGV4dC1jb2xvcikge1xyXG5cdFxyXG5cdC8qIEJ1dHRvbiAqL1xyXG5cdC4jeyRuYW1lfSB7XHJcblx0XHQmLmJ0biB7XHJcblx0XHRcdEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR0ZXh0LWNvbG9yLCAkY29sb3IsIFwiXCIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyogQnV0dG9uIFN0cmlwICovXHJcblx0LmJ0bi4jeyRuYW1lfS1zdHJpcGUge1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY29sb3I7XHJcblx0fSAgXHJcblxyXG5cdC8qIFBvcnRsZXQgKi9cclxuXHRAaW5jbHVkZSBwb3JsZXQtYmFja2dyb3VuZCgkbmFtZSwgJGNvbG9yKTtcclxuXHRAaW5jbHVkZSBwb3JsZXQtc29saWQoJG5hbWUsICR0ZXh0LWNvbG9yKTtcclxuXHRAaW5jbHVkZSBwb3JsZXQtYm94KCRuYW1lLCAkY29sb3IsICR0ZXh0LWNvbG9yKTsgXHJcblxyXG5cdC8qIFN0YXRpc3RpYyBCbG9jayAqL1xyXG5cdC5kYXNoYm9hcmQtc3RhdCB7XHJcblx0XHRAaW5jbHVkZSBkYXNoYm9hcmQtc3RhdC12YXJpYW50KCRuYW1lLCAkY29sb3IsICR0ZXh0LWNvbG9yKTtcclxuXHR9XHJcblxyXG5cdC8qIEdlbmVyYWwgRWxlbWVudCAqL1xyXG5cdC5iZy0jeyRuYW1lfSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHQgICAgY29sb3I6ICR0ZXh0LWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQvKiBHZW5lcmFsIFRleHQgJiBJY29uIEZvbnQgQ29sb3JzICovXHJcblx0LmZvbnQtI3skbmFtZX0ge1xyXG5cdFx0Y29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnByb2dyZXNzLWJhci4jeyRuYW1lfSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAkdGV4dC1jb2xvciAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuLyogQnV0dG9uICovXHJcbi5idG4uZGVmYXVsdCB7XHJcblx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoIzMzMzMzMywgI0U1RTVFNSwgXCJcIik7IFxyXG59XHJcblxyXG4vKioqKioqKioqKlxyXG5CbHVlIENvbG9yc1xyXG4qKioqKioqKioqKi9cclxuXHJcbi8qKipcclxuQmx1ZSBEZWZhdWx0XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZVwiLCAjMzU5OGRjLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuQmx1ZSBNYWRpc29uXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZS1tYWRpc29uXCIsICM1NzhlYmUsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5CbHVlIENoYW1icmF5XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZS1jaGFtYnJheVwiLCAjMkMzRTUwLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuQmx1ZSBFYm9ueWNsYXlcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJibHVlLWVib255Y2xheVwiLCAjMjIzMTNGLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuQmx1ZSBIb2tpXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZS1ob2tpXCIsICM2NzgwOUYsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5CbHVlIFN0ZWxsXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZS1zdGVlbFwiLCAjNEI3N0JFLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuQmx1ZSBTb2Z0XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiYmx1ZS1zb2Z0XCIsICM0Yzg3YjksICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5CbHVlIERhcmtcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJibHVlLWRhcmtcIiwgIzVlNzM4YiwgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcbkJsdWUgU2hhcnBcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJibHVlLXNoYXJwXCIsICM1QzlCRDEsICNGRkZGRkYpO1xyXG5cclxuXHJcbi8qKioqKioqKioqKlxyXG5HcmVlbiBDb2xvcnNcclxuKioqKioqKioqKioqL1xyXG5cclxuLyoqKlxyXG5HcmVlbiBEZWZhdWx0XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JlZW5cIiwgIzI2YTY5YSwgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcbkdyZWVuIE1lYWRvd1xyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZWVuLW1lYWRvd1wiLCAjMUJCQzlCLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuR3JlZW4gU2VhZ3JlZW5cclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJncmVlbi1zZWFncmVlblwiLCAjMUJBMzlDLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuR3JlZW4gVHVycXVvaXNlXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JlZW4tdHVycXVvaXNlXCIsICMzNkQ3QjcsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5HcmVlbiBIYXplXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JlZW4taGF6ZVwiLCAjNDRiNmFlLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuR3JlZW4gSnVuZ2xlXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JlZW4tanVuZ2xlXCIsICMyNkMyODEsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5HcmVlbiBTaGFycFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZWVuLXNoYXJwXCIsICM0REIzQTIsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5HcmVlbiBTaGFycFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZWVuLXNvZnRcIiwgIzNmYWJhNCwgI0ZGRkZGRik7XHJcblxyXG5cclxuLyoqKioqKioqKioqXHJcbkdyZXkgQ29sb3JzXHJcbioqKioqKioqKioqKi9cclxuXHJcbi8qKipcclxuR3JleSBEZWZhdWx0XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JleVwiLCAjRTVFNUU1LCAjMzMzMzMzKTtcclxuXHJcbi8qKipcclxuR3JleSBTdGVlbFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZXktc3RlZWxcIiwgI2U5ZWRlZiwgIzgwODk4ZSk7ICAgICAgXHJcblxyXG4vKioqXHJcbkdyZXkgQ2FyYXJyYVxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZXktY2FyYXJyYVwiLCAjZmFmYWZhLCAjMzMzMzMzKTtcclxuXHJcbi8qKipcclxuR3JleSBHYWxsZXJ5XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JleS1nYWxsZXJ5XCIsICM1NTU1NTUsICNmZmZmZmYpOyBcclxuXHJcbi8qKipcclxuR3JleSBDYXNjYWRlXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JleS1jYXNjYWRlXCIsICM5NUE1QTYsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5HcmV5IFNpbHZlclxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZXktc2lsdmVyXCIsICNCRkJGQkYsICNGQUZDRkIpO1xyXG4gXHJcbi8qKipcclxuR3JleSBTYWxzYVxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZXktc2Fsc2FcIiwgI0FDQjVDMywgI0ZBRkNGQik7XHJcblxyXG4vKioqXHJcbkdyZXkgU2FsdFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcImdyZXktc2FsdFwiLCAjYmZjYWQxLCAjRkFGQ0ZCKTtcclxuXHJcbi8qKipcclxuR3JleSBNaW50XHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwiZ3JleS1taW50XCIsICM5ZWFjYjQsICNGQUZDRkIpO1xyXG5cclxuXHJcbi8qKioqKioqKioqKlxyXG5SZWQgQ29sb3JzXHJcbioqKioqKioqKioqKi9cclxuXHJcbi8qKipcclxuUmVkIERlZmF1bHRcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJyZWRcIiwgI2NiNWE1ZSwgI0ZGRkZGRik7IFxyXG5cclxuLyoqKlxyXG5SZWQgUGlua1xyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcInJlZC1waW5rXCIsICNFMDgyODMsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5SZWQgU3VuZ2xvXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicmVkLXN1bmdsb1wiLCAjRTI2QTZBLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUmVkIEludGVuc2VcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJyZWQtaW50ZW5zZVwiLCAjZTM1YjVhLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUmVkIFRodW5kZXJiaXJkXHJcbioqKi9cclxuICBcclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJyZWQtdGh1bmRlcmJpcmRcIiwgI0Q5MUUxOCwgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcblJlZCBGbGFtaW5nb1xyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcInJlZC1mbGFtaW5nb1wiLCAjRUY0ODM2LCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUmVkIEZsYW1pbmdvXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicmVkLXNvZnRcIiwgI2QwNTQ1NCwgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcblJlZCBIYXplXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicmVkLWhhemVcIiwgI2YzNmE1YSwgI0ZGRkZGRik7XHJcblxyXG5cclxuLyoqKioqKioqKioqXHJcblllbGxvdyBDb2xvcnNcclxuKioqKioqKioqKioqL1xyXG5cclxuLyoqKlxyXG5ZZWxsb3cgRGVmYXVsdFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcInllbGxvd1wiLCAjYzQ5ZjQ3LCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuWWVsbG93IEdvbGRcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJ5ZWxsb3ctZ29sZFwiLCAjRTg3RTA0LCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuWWVsbG93IENhc2FibGFuY2FcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJ5ZWxsb3ctY2FzYWJsYW5jYVwiLCAjZjI3ODRiLCAjRkZGRkZGKTsgICAgXHJcblxyXG4vKioqXHJcblllbGxvdyBDcnVzdGFcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJ5ZWxsb3ctY3J1c3RhXCIsICNmM2MyMDAsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5ZZWxsb3cgTGVtb25cclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJ5ZWxsb3ctbGVtb25cIiwgI0Y3Q0ExOCwgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcblllbGxvdyBTYWZmcm9uXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwieWVsbG93LXNhZmZyb25cIiwgI0Y0RDAzRiwgI0ZGRkZGRik7XHJcblxyXG5cclxuLyoqKioqKioqKioqXHJcblB1cnBsZSBDb2xvcnNcclxuKioqKioqKioqKioqL1xyXG5cclxuLyoqKlxyXG5QdXJwbGUgRGVmYXVsdFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcInB1cnBsZVwiLCAjOGU1ZmEyLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUHVycGxlIFBsdW1cclxuKioqLyBcclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicHVycGxlLXBsdW1cIiwgIzg3NzVhNywgI0ZGRkZGRik7XHJcblxyXG4vKioqXHJcblB1cnBsZSBNZWRpdW1cclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJwdXJwbGUtbWVkaXVtXCIsICNCRjU1RUMsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5QdXJwbGUgU3R1ZGlvXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicHVycGxlLXN0dWRpb1wiLCAjOEU0NEFELCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUHVycGxlIFdpc3RlcmlhXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicHVycGxlLXdpc3RlcmlhXCIsICM5QjU5QjYsICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5QdXJwbGUgU2VhbmNlXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicHVycGxlLXNlYW5jZVwiLCAjOUExMkIzLCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUHVycGxlIEludGVuc2VcclxuKioqL1xyXG5cclxuQGluY2x1ZGUgZmxhdHVpLWNvbG9yLXZhcmlhbnQoXCJwdXJwbGUtaW50ZW5zZVwiLCAjODc3NWE3LCAjRkZGRkZGKTtcclxuXHJcbi8qKipcclxuUHVycGxlIFNoYXJwXHJcbioqKi9cclxuXHJcbkBpbmNsdWRlIGZsYXR1aS1jb2xvci12YXJpYW50KFwicHVycGxlLXNoYXJwXCIsICM3OTY3OTksICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5QdXJwbGUgU29mdFxyXG4qKiovXHJcblxyXG5AaW5jbHVkZSBmbGF0dWktY29sb3ItdmFyaWFudChcInB1cnBsZS1zb2Z0XCIsICM4ODc3YTksICNGRkZGRkYpO1xyXG5cclxuLyoqKlxyXG5UcmFuc3BhcmVudCBCdXR0b25cclxuKioqL1xyXG5cclxuLmJ0bi10cmFuc3BhcmVudC5idG4ge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAgIFxyXG4gIGNvbG9yOiAjODg4O1xyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
