@charset "UTF-8";
/* Compact */
/* App variables */
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.eot.xhtml?ln=ultima-layout");
  /* IE9 Compat Modes */
  src: local("Roboto Light"), local("Roboto-Light"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.eot.xhtml?ln=ultima-layout#iefix") format("embedded-opentype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.woff2.xhtml?ln=ultima-layout") format("woff2"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.woff.xhtml?ln=ultima-layout") format("woff"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.ttf.xhtml?ln=ultima-layout") format("truetype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-300.svg.xhtml?ln=ultima-layout#Roboto") format("svg");
  /* Legacy iOS */ }

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.eot.xhtml?ln=ultima-layout");
  /* IE9 Compat Modes */
  src: local("Roboto"), local("Roboto-Regular"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.eot.xhtml?ln=ultima-layout#iefix") format("embedded-opentype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.woff2.xhtml?ln=ultima-layout") format("woff2"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.woff.xhtml?ln=ultima-layout") format("woff"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.ttf.xhtml?ln=ultima-layout") format("truetype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-regular.svg.xhtml?ln=ultima-layout#Roboto") format("svg");
  /* Legacy iOS */ }

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.eot.xhtml?ln=ultima-layout");
  /* IE9 Compat Modes */
  src: local("Roboto Bold"), local("Roboto-Bold"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.eot.xhtml?ln=ultima-layout#iefix") format("embedded-opentype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.woff2.xhtml?ln=ultima-layout") format("woff2"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.woff.xhtml?ln=ultima-layout") format("woff"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.ttf.xhtml?ln=ultima-layout") format("truetype"), url("/QPort/javax.faces.resource/fonts/roboto-v15-latin-700.svg.xhtml?ln=ultima-layout#Roboto") format("svg");
  /* Legacy iOS */ }

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url("/QPort/javax.faces.resource/fonts/MaterialIcons-Regular.eot.xhtml?ln=ultima-layout");
  /* For IE6-8 */
  src: local("Material Icons"), local("MaterialIcons-Regular"), url("/QPort/javax.faces.resource/fonts/MaterialIcons-Regular.woff2.xhtml?ln=ultima-layout") format("woff2"), url("/QPort/javax.faces.resource/fonts/MaterialIcons-Regular.woff.xhtml?ln=ultima-layout") format("woff"), url("/QPort/javax.faces.resource/fonts/MaterialIcons-Regular.ttf.xhtml?ln=ultima-layout") format("truetype"); }

/* Utils */
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

.card {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  background: #ffffff;
  padding: 16px;
  margin-bottom: 16px;
  box-sizing: border-box; }
  .card.card-w-title {
    padding-bottom: 32px; }
  .card h1 {
    font-size: 24px;
    font-weight: 400;
    margin: 24px 0; }
    .card h1:first-child {
      margin-top: 16px; }
  .card h2 {
    font-size: 22px;
    font-weight: 400; }
  .card h3 {
    font-size: 20px;
    font-weight: 400; }
  .card h4 {
    font-size: 18px;
    font-weight: 400; }

.nopad {
  padding: 0; }
  .nopad .ui-panel-content {
    padding: 0; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 1;
    transform: none; } }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

.ui-shadow-1 {
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); }

.ui-shadow-2 {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); }

.ui-shadow-3 {
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); }

.ui-shadow-4 {
  -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); }

.ui-shadow-5 {
  -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
  -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); }

.ui-g.form-group > div {
  padding: 12px 16px; }

.ui-panelgrid.form-group .ui-panelgrid-cell {
  padding: 12px 16px; }

.ui-selectoneradio.form-group .ui-grid-row > div, .ui-selectmanycheckbox.form-group .ui-grid-row > div {
  padding: 8px 16px; }

.dashboard .overview {
  padding: 0 !important;
  min-height: 140px;
  position: relative;
  margin-bottom: 0px !important; }
  .dashboard .overview .overview-content {
    padding: 16px; }
    .dashboard .overview .overview-content .overview-title {
      font-size: 18px; }
    .dashboard .overview .overview-content .overview-badge {
      float: right;
      color: #757575; }
    .dashboard .overview .overview-content .overview-detail {
      display: block;
      font-size: 24px;
      margin-top: 5px; }
  .dashboard .overview .overview-footer {
    position: absolute;
    bottom: 0;
    width: 100%; }
    .dashboard .overview .overview-footer img {
      display: block; }

.dashboard .colorbox {
  padding: 0 !important;
  text-align: center;
  overflow: hidden;
  margin-bottom: 0px !important; }
  .dashboard .colorbox i {
    font-size: 48px;
    margin-top: 10px;
    color: #ffffff; }
  .dashboard .colorbox .colorbox-name {
    font-size: 20px;
    display: inline-block;
    width: 100%;
    margin: 4px 0 10px 0;
    color: #ffffff; }
  .dashboard .colorbox .colorbox-count {
    color: #ffffff;
    font-size: 36px; }
  .dashboard .colorbox .colorbox-count {
    font-weight: bold; }
  .dashboard .colorbox.colorbox-1 div:first-child {
    background-color: #2E7D32; }
  .dashboard .colorbox.colorbox-1 div:last-child {
    background-color: #4CAF50; }
  .dashboard .colorbox.colorbox-2 div:first-child {
    background-color: #0277BD; }
  .dashboard .colorbox.colorbox-2 div:last-child {
    background-color: #03A9F4; }
  .dashboard .colorbox.colorbox-3 div:first-child {
    background-color: #4527A0; }
  .dashboard .colorbox.colorbox-3 div:last-child {
    background-color: #673AB7; }
  .dashboard .colorbox.colorbox-4 div:first-child {
    background-color: #00695C; }
  .dashboard .colorbox.colorbox-4 div:last-child {
    background-color: #009688; }

.dashboard .task-list {
  overflow: hidden; }
  .dashboard .task-list > .ui-panel {
    min-height: 340px; }
  .dashboard .task-list .ui-panel-content {
    padding: 10px 0 !important; }
  .dashboard .task-list ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .dashboard .task-list ul li {
      padding: 10px 14px;
      border-bottom: 1px solid #dbdbdb; }
      .dashboard .task-list ul li:first-child {
        margin-top: 10px; }
    .dashboard .task-list ul .ui-chkbox {
      vertical-align: middle;
      margin-right: 5px; }
    .dashboard .task-list ul .task-name {
      vertical-align: middle; }
    .dashboard .task-list ul i {
      color: #757575;
      float: right; }

.dashboard .contact-form {
  overflow: hidden; }
  .dashboard .contact-form .ui-panel {
    min-height: 340px; }
  .dashboard .contact-form .ui-g-12 {
    padding: 16px 10px; }
  .dashboard .contact-form .ui-button {
    margin-top: 20px; }

.dashboard .contacts {
  overflow: hidden; }
  .dashboard .contacts > .ui-panel {
    min-height: 340px; }
  .dashboard .contacts .ui-panel-content {
    padding: 15px 0 10px 0 !important; }
  .dashboard .contacts ul {
    list-style-type: none;
    padding: 0;
    margin: 0; }
    .dashboard .contacts ul li {
      border-bottom: 1px solid #d8d8d8; }
      .dashboard .contacts ul li a {
        padding: 9px;
        width: 100%;
        box-sizing: border-box;
        text-decoration: none;
        position: relative;
        display: block;
        -moz-border-radius: 2px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        -moz-transition: background-color 0.2s;
        -o-transition: background-color 0.2s;
        -webkit-transition: background-color 0.2s;
        transition: background-color 0.2s; }
        .dashboard .contacts ul li a .name {
          position: absolute;
          right: 10px;
          top: 10px;
          font-size: 18px;
          color: #212121; }
        .dashboard .contacts ul li a .email {
          position: absolute;
          right: 10px;
          top: 30px;
          font-size: 14px;
          color: #757575; }
        .dashboard .contacts ul li a:hover {
          cursor: pointer;
          background-color: #e8e8e8; }
      .dashboard .contacts ul li:last-child {
        border: 0; }

.dashboard .activity-list {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .dashboard .activity-list li {
    border-bottom: 1px solid #bdbdbd;
    padding: 15px 0 9px 9px; }
    .dashboard .activity-list li .count {
      font-size: 24px;
      color: #ffffff;
      background-color: #03A9F4;
      font-weight: bold;
      width: 60px;
      padding: 5px;
      -moz-border-radius: 2px;
      -webkit-border-radius: 2px;
      border-radius: 2px; }
    .dashboard .activity-list li:first-child {
      border-top: 1px solid #bdbdbd; }
    .dashboard .activity-list li:last-child {
      border: 0; }
    .dashboard .activity-list li .ui-g-6:first-child {
      font-size: 18px;
      padding-left: 0; }
    .dashboard .activity-list li .ui-g-6:last-child {
      text-align: right;
      color: #757575; }

.dashboard .timeline {
  height: 100%;
  box-sizing: border-box; }
  .dashboard .timeline > .ui-g .ui-g-3 {
    font-size: 14px;
    position: relative;
    border-right: 1px solid #bdbdbd; }
    .dashboard .timeline > .ui-g .ui-g-3 i {
      background-color: #ffffff;
      font-size: 36px;
      position: absolute;
      top: 0px;
      right: -18px; }
  .dashboard .timeline > .ui-g .ui-g-9 {
    padding-left: 1.5em; }
    .dashboard .timeline > .ui-g .ui-g-9 .event-text {
      color: #757575;
      font-size: 14px;
      display: block;
      padding-bottom: 20px; }
    .dashboard .timeline > .ui-g .ui-g-9 .event-content img {
      width: 100%; }

.dashboard > div > .ui-panel {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); }

.login-body {
  background: url("/QPort/javax.faces.resource/images/login/login.png.xhtml?ln=ultima-layout") top left no-repeat #f7f7f7;
  background-size: 100% auto; }

body.layout-compact .login-panel.card {
  padding: 50px 20px; }

.login-panel {
  text-align: center;
  width: 350px;
  min-height: 440px;
  padding: 50px 20px;
  margin: 100px auto 0 auto; }
  .login-panel .ui-g .ui-g-12 {
    padding: 25px 40px; }
    .login-panel .ui-g .ui-g-12 .ui-button {
      margin-bottom: 20px; }

.login-footer {
  position: absolute;
  bottom: 10px;
  font-size: 16px;
  width: 100%;
  text-align: center;
  color: #757575; }

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .login-body {
    background: url("/QPort/javax.faces.resource/images/login/login2x.png.xhtml?ln=ultima-layout") top left no-repeat #f7f7f7;
    background-size: 100% auto; } }

@media (max-width: 1024px) {
  .login-panel {
    text-align: center;
    min-height: 440px;
    margin: 100px auto 0 auto; } }

@media (max-width: 640px) {
  .login-panel {
    text-align: center;
    width: 300px;
    min-height: 440px;
    padding: 40px 20px;
    margin: 75px auto 0 auto; }
    .login-panel .ui-g .ui-g-12 {
      padding: 20px 20px; }
      .login-panel .ui-g .ui-g-12 .ui-button {
        margin-top: 30px; } }

.exception-body {
  background-color: #f7f7f7; }
  .exception-body .exception-type {
    width: 100%;
    height: 50%;
    padding: 100px 100px 0 100px;
    box-sizing: border-box;
    text-align: center; }
  .exception-body .exception-panel {
    text-align: center;
    width: 350px;
    padding: 50px 50px;
    margin: -10% auto 0 auto;
    z-index: 100; }
    .exception-body .exception-panel i {
      font-size: 72px; }
    .exception-body .exception-panel h1 {
      font-size: 36px;
      line-height: 36px;
      color: #757575; }
    .exception-body .exception-panel .exception-detail {
      margin: 20px 0px 100px 0px;
      color: #757575; }
  .exception-body.error-page .exception-type {
    background-color: #e62a10; }
    .exception-body.error-page .exception-type img {
      width: 100%; }
  .exception-body.error-page .exception-panel i {
    color: #f79a84; }
  .exception-body.notfound-page .exception-type {
    background-color: #3f51b5; }
    .exception-body.notfound-page .exception-type img {
      width: 54%; }
  .exception-body.notfound-page .exception-panel i {
    color: #9fa8da; }
  .exception-body.accessdenied-page .exception-type {
    background-color: #e91e63; }
    .exception-body.accessdenied-page .exception-type img {
      width: 50%; }
  .exception-body.accessdenied-page .exception-panel i {
    color: #f48fb1; }

@media (max-width: 1105px) {
  .exception-body .exception-panel {
    margin-top: -50px; } }

@media (max-width: 640px) {
  .exception-body .exception-panel {
    width: 250px;
    margin-top: -15px; } }

.landing-wrapper #header {
  width: 100%;
  min-height: 400px;
  background: url("/QPort/javax.faces.resource/images/landing/landing-header.png.xhtml?ln=ultima-layout") top left no-repeat #f7f7f7;
  background-size: 100% auto; }
  .landing-wrapper #header .header-top {
    width: 960px;
    margin: 0 auto;
    padding: 30px 0px; }
    .landing-wrapper #header .header-top .logo {
      display: inline-block;
      vertical-align: middle;
      width: 200px;
      height: 30px;
      background: url("/QPort/javax.faces.resource/images/logo.png.xhtml?ln=ultima-layout") top left no-repeat; }
    .landing-wrapper #header .header-top #menu {
      float: right;
      list-style: none;
      margin: 0;
      padding: 0; }
      .landing-wrapper #header .header-top #menu li {
        float: left;
        display: block;
        margin-left: 30px; }
        .landing-wrapper #header .header-top #menu li a {
          color: #ffffff; }
        .landing-wrapper #header .header-top #menu li i {
          display: none; }
      .landing-wrapper #header .header-top #menu.lmenu-active {
        display: block; }
    .landing-wrapper #header .header-top #menu-button {
      float: right;
      font-size: 36px;
      color: #ffffff;
      display: none; }
  .landing-wrapper #header .header-content {
    width: 960px;
    margin: 0 auto;
    text-align: center; }
    .landing-wrapper #header .header-content h1 {
      margin: 75px 0px 50px 0px;
      font-weight: 400;
      color: #ffffff;
      line-height: 36px; }

.landing-wrapper #features {
  width: 960px;
  margin: 0 auto;
  padding: 50px 0px;
  text-align: center; }
  .landing-wrapper #features h2 {
    font-weight: 400;
    line-height: 28px; }
  .landing-wrapper #features h3 {
    font-weight: 400; }
  .landing-wrapper #features p {
    color: #757575; }
  .landing-wrapper #features .ui-g-12 {
    padding: 2em .5em; }
  .landing-wrapper #features .feature-icon {
    display: inline-block;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background-color: #f4f8fc;
    box-sizing: border-box;
    width: 100px;
    height: 100px;
    text-align: center;
    -moz-transition: background-color 0.3s;
    -o-transition: background-color 0.3s;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s; }
    .landing-wrapper #features .feature-icon i {
      margin-top: 30px;
      font-size: 36px; }
    .landing-wrapper #features .feature-icon:hover {
      background-color: #e91e63; }
      .landing-wrapper #features .feature-icon:hover i {
        color: #ffffff; }

.landing-wrapper #promotion {
  background: url("/QPort/javax.faces.resource/images/landing/promotion.png.xhtml?ln=ultima-layout") top left no-repeat;
  background-size: 100% auto; }
  .landing-wrapper #promotion .ui-lg-8 {
    padding: 150px 0 0 150px; }
    .landing-wrapper #promotion .ui-lg-8 h1 {
      font-weight: 48px;
      color: #ffffff;
      font-weight: 400; }
  .landing-wrapper #promotion .ui-lg-4 {
    margin: -50px 0 -50px 0; }
    .landing-wrapper #promotion .ui-lg-4 .card {
      -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1);
      -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1);
      box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1);
      margin-bottom: 20px; }
      .landing-wrapper #promotion .ui-lg-4 .card h3 {
        font-weight: 400; }
      .landing-wrapper #promotion .ui-lg-4 .card p {
        color: #757575; }
      .landing-wrapper #promotion .ui-lg-4 .card:last-child {
        margin-bottom: 0; }

.landing-wrapper #pricing {
  width: 960px;
  margin: 0 auto;
  padding: 50px 0px;
  text-align: center; }
  .landing-wrapper #pricing h2 {
    font-weight: 400; }
  .landing-wrapper #pricing p {
    color: #757575; }
  .landing-wrapper #pricing .pricing-box .card {
    height: 100%;
    padding: 0; }
  .landing-wrapper #pricing .pricing-box .pricing-header {
    padding: 40px 0;
    color: #ffffff; }
    .landing-wrapper #pricing .pricing-box .pricing-header span {
      display: block;
      line-height: 48px; }
      .landing-wrapper #pricing .pricing-box .pricing-header span.name {
        font-weight: 300;
        font-size: 24px; }
      .landing-wrapper #pricing .pricing-box .pricing-header span.fee {
        font-size: 48px;
        font-weight: 700; }
      .landing-wrapper #pricing .pricing-box .pricing-header span.type {
        font-weight: 300;
        font-size: 16px; }
  .landing-wrapper #pricing .pricing-box .pricing-content ul {
    margin: 0;
    padding: 30px 20px;
    list-style-type: none; }
    .landing-wrapper #pricing .pricing-box .pricing-content ul li {
      font-size: 18px;
      text-align: left;
      padding: 10px 14px; }
      .landing-wrapper #pricing .pricing-box .pricing-content ul li i {
        margin-right: 20px;
        vertical-align: middle; }
      .landing-wrapper #pricing .pricing-box .pricing-content ul li span {
        vertical-align: middle; }
  .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header {
    background-color: #3f51b5; }
  .landing-wrapper #pricing .pricing-box.pricing-basic i {
    color: #3f51b5; }
  .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header {
    background-color: #e91e63; }
  .landing-wrapper #pricing .pricing-box.pricing-standard i {
    color: #e91e63; }
  .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header {
    background-color: #607d8b; }
  .landing-wrapper #pricing .pricing-box.pricing-professional i {
    color: #607d8b; }

.landing-wrapper #video {
  background-color: #f7f7f7;
  min-width: 400px; }
  .landing-wrapper #video .video-content {
    width: 960px;
    margin: 0 auto;
    padding: 50px 0px;
    text-align: center; }
    .landing-wrapper #video .video-content h2 {
      font-weight: 400; }
    .landing-wrapper #video .video-content p {
      color: #757575; }

.landing-wrapper .footer {
  background-color: #f7f7f7;
  border-top: 1px solid #dddddd; }
  .landing-wrapper .footer .footer-content {
    width: 960px;
    margin: 0 auto;
    padding: 30px 0px 50px 0px; }
    .landing-wrapper .footer .footer-content ul {
      float: right;
      list-style-type: none; }
      .landing-wrapper .footer .footer-content ul li a {
        color: #757575;
        -moz-transition: color 0.3s;
        -o-transition: color 0.3s;
        -webkit-transition: color 0.3s;
        transition: color 0.3s; }
        .landing-wrapper .footer .footer-content ul li a:hover {
          color: #212121; }

@media (max-width: 1105px) {
  .landing-wrapper #header {
    min-height: 200px;
    background-size: cover; }
    .landing-wrapper #header .header-top {
      z-index: 100;
      position: fixed;
      top: 0;
      background: #424242;
      background-size: 100% auto;
      padding: 30px;
      width: 100%;
      box-sizing: border-box;
      -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
      -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
      box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); }
      .landing-wrapper #header .header-top #menu-button {
        display: inline-block; }
      .landing-wrapper #header .header-top #menu {
        z-index: 100;
        position: fixed;
        top: 86px;
        right: 30px;
        float: none;
        display: none;
        margin: 0;
        padding: 0;
        width: 225px;
        list-style: none;
        background-color: #ffffff;
        -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        -webkit-animation-duration: .5s;
        -moz-animation-duration: .5s;
        animation-duration: .5s; }
        .landing-wrapper #header .header-top #menu li {
          float: none;
          margin-left: 0; }
          .landing-wrapper #header .header-top #menu li a {
            font-size: 16px;
            display: block;
            padding: 10px 16px;
            color: #212121;
            width: 100%;
            box-sizing: border-box;
            -moz-transition: background-color 0.3s;
            -o-transition: background-color 0.3s;
            -webkit-transition: background-color 0.3s;
            transition: background-color 0.3s;
            overflow: hidden; }
            .landing-wrapper #header .header-top #menu li a i {
              color: #757575;
              display: inline-block;
              vertical-align: middle;
              margin-right: 12px;
              font-size: 24px; }
            .landing-wrapper #header .header-top #menu li a:hover {
              background-color: #e8e8e8; }
            .landing-wrapper #header .header-top #menu li a span {
              display: inline-block;
              vertical-align: middle; }
    .landing-wrapper #header .header-content {
      width: 100%;
      padding: 100px 30px 60px 30px;
      box-sizing: border-box; }
      .landing-wrapper #header .header-content h1 {
        margin: 75px 0px 50px 0px;
        font-weight: 400; }
  .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content {
    width: 100%;
    padding-right: 30px;
    padding-left: 30px;
    box-sizing: border-box; }
  .landing-wrapper #promotion .ui-lg-8 {
    padding: 100px 0 30px;
    text-align: center; }
    .landing-wrapper #promotion .ui-lg-8 h1 {
      margin-top: -30px;
      font-weight: 48px;
      color: #ffffff;
      font-weight: 400; }
  .landing-wrapper #video .video-content {
    width: 100%; }
    .landing-wrapper #video .video-content .video-container iframe {
      width: 350px;
      height: 220px; }
  .landing-wrapper .footer .footer-content {
    text-align: center; }
    .landing-wrapper .footer .footer-content ul {
      float: none;
      margin: 0;
      padding: 0; } }

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .landing-wrapper .header .header-top .logo {
    background: url("/QPort/javax.faces.resource/images/logo2x.png.xhtml?ln=ultima-layout") top left no-repeat;
    background-size: 200px 30px; } }

html {
  height: 100%; }

body {
  font-family: Roboto,"Helvetica Neue",sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #212121;
  -webkit-font-smoothing: antialiased;
  padding: 0;
  margin: 0; }
  body.main-body {
    background-color: #f7f7f7; }
  body a {
    text-decoration: none; }

.layout-mask {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #424242;
  opacity: 0.7;
  top: 0;
  left: 0;
  z-index: 999999997; }

.layout-wrapper .topbar {
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 75px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); }
  @media (min-width: 0px) and (max-width: 1105px) {
    .layout-wrapper .topbar {
      height: 55px; } }
  .layout-wrapper .topbar .topbar-left {
    box-sizing: border-box;
    height: 75px;
    width: 270px;
    background-color: #ffffff;
    float: left; }
    @media (min-width: 0px) and (max-width: 1105px) {
      .layout-wrapper .topbar .topbar-left {
        height: 55px; } }
  .layout-wrapper .topbar .topbar-right {
    padding: 15px 0 15px 15px;
    position: relative; }
    .layout-wrapper .topbar .topbar-right #menu-button {
      color: #212121;
      display: inline-block;
      vertical-align: middle;
      height: 36px;
      margin-right: 10px;
      position: relative;
      left: -45px;
      top: 0px; }
      .layout-wrapper .topbar .topbar-right #menu-button:hover {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -o-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2); }
      .layout-wrapper .topbar .topbar-right #menu-button i {
        font-family: 'Material Icons';
        font-weight: normal;
        font-style: normal;
        font-size: 24px;
        /* Preferred icon size */
        display: inline-block;
        width: 1em;
        height: 1em;
        line-height: 1;
        text-transform: none;
        letter-spacing: normal;
        word-wrap: normal;
        white-space: nowrap;
        direction: ltr;
        /* Support for all WebKit browsers. */
        -webkit-font-smoothing: antialiased;
        /* Support for Safari and Chrome. */
        text-rendering: optimizeLegibility;
        /* Support for Firefox. */
        -moz-osx-font-smoothing: grayscale;
        /* Support for IE. */
        font-feature-settings: 'liga';
        -moz-transition: all 0.3s;
        -o-transition: all 0.3s;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        font-size: 30px; }
        .layout-wrapper .topbar .topbar-right #menu-button i:before {
          content: ""; }
      .layout-wrapper .topbar .topbar-right #menu-button.menu-button-rotate i {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
    .layout-wrapper .topbar .topbar-right #topbar-menu-button {
      display: none;
      color: #ffffff;
      vertical-align: middle;
      height: 36px;
      position: absolute;
      top: 20px;
      right: 25px;
      -moz-transition: all 0.3s;
      -o-transition: all 0.3s;
      -webkit-transition: all 0.3s;
      transition: all 0.3s; }
      .layout-wrapper .topbar .topbar-right #topbar-menu-button i {
        -moz-transition: color 0.5s;
        -o-transition: color 0.5s;
        -webkit-transition: color 0.5s;
        transition: color 0.5s;
        font-size: 36px; }
    .layout-wrapper .topbar .topbar-right .topbar-items .search-item input {
      position: relative;
      top: -10px;
      font-size: 16px;
      background-color: transparent;
      border-width: 0 0 1px 0;
      padding: 2px 2px 1px 2px;
      border-color: #ffffff;
      color: #ffffff; }
      .layout-wrapper .topbar .topbar-right .topbar-items .search-item input:focus {
        outline: 0 none;
        border-bottom-width: 2px; }
    .layout-wrapper .topbar .topbar-right .topbar-items .search-item input:focus ~ label {
      top: -5px;
      font-size: 12px;
      color: #015496; }
    .layout-wrapper .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label {
      display: none; }
    .layout-wrapper .topbar .topbar-right .topbar-items .search-item label {
      color: #ffffff;
      top: 8px; }

.layout-wrapper .layout-menu {
  overflow: auto;
  position: fixed;
  width: 270px;
  z-index: 99;
  top: 55px;
  height: 100%;
  background-color: #ffffff;
  -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3);
  box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3);
  -moz-transition: margin-left 0.3s;
  -o-transition: margin-left 0.3s;
  -webkit-transition: margin-left 0.3s;
  transition: margin-left 0.3s; }
  .layout-wrapper .layout-menu > .nano > .nano-content.menu-scroll-content {
    display: block;
    height: 100%;
    position: relative;
    overflow: scroll;
    overflow-x: hidden; }
  .layout-wrapper .layout-menu > .nano > .nano-content > ul:last-child {
    margin-top: 16px;
    padding-bottom: 120px; }
  .layout-wrapper .layout-menu > .nano .nano-pane .nano-slider {
    background-color: #aaaaaa;
    opacity: 0.3;
    filter: alpha(opacity=30); }
  .layout-wrapper .layout-menu .profile {
    box-sizing: border-box;
    padding-top: 30px;
    width: 270px;
    height: 145px;
    text-align: center;
    background: url("/QPort/javax.faces.resource/images/profile-bg.png.xhtml?ln=ultima-layout") top left no-repeat;
    background-size: 270px 145px;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); }
    .layout-wrapper .layout-menu .profile .profile-image {
      display: block;
      width: 60px;
      height: 60px;
      margin: 0 auto 5px auto;
      background: url("/QPort/javax.faces.resource/images/avatar2x.png.xhtml?ln=ultima-layout") top left no-repeat;
      background-size: 60px 60px; }
    .layout-wrapper .layout-menu .profile .profile-name {
      display: inline-block;
      color: #212121;
      vertical-align: middle;
      font-size: 16px; }
    .layout-wrapper .layout-menu .profile i {
      color: #212121;
      vertical-align: middle;
      -moz-transition: transform 0.3s;
      -o-transition: transform 0.3s;
      -webkit-transition: transform 0.3s;
      transition: transform 0.3s; }
    .layout-wrapper .layout-menu .profile.profile-expanded i {
      -webkit-transform: rotate(-180deg);
      -moz-transform: rotate(-180deg);
      -o-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      transform: rotate(-180deg); }
  .layout-wrapper .layout-menu #profile-menu {
    margin-top: 16px;
    border-bottom: 1px solid #d6d5d5;
    display: none; }
    .layout-wrapper .layout-menu #profile-menu li:last-child {
      margin-bottom: 16px; }
  .layout-wrapper .layout-menu.layout-menu-dark {
    background-color: #424242; }
    .layout-wrapper .layout-menu.layout-menu-dark .profile {
      background-image: url("/QPort/javax.faces.resource/images/profile-bg-dark.png.xhtml?ln=ultima-layout"); }
      .layout-wrapper .layout-menu.layout-menu-dark .profile .profile-name {
        color: #ffffff; }
      .layout-wrapper .layout-menu.layout-menu-dark .profile i {
        color: #ffffff; }
    .layout-wrapper .layout-menu.layout-menu-dark #profile-menu {
      border-bottom: 1px solid #676767; }
    .layout-wrapper .layout-menu.layout-menu-dark ul.ultima-menu li a {
      color: #ffffff; }
      .layout-wrapper .layout-menu.layout-menu-dark ul.ultima-menu li a i {
        color: #ffffff; }
      .layout-wrapper .layout-menu.layout-menu-dark ul.ultima-menu li a:hover {
        background-color: #676767; }
    .layout-wrapper .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a {
      color: #ffffff;
      background-color: #FDB813; }

.layout-wrapper.menu-layout-overlay .layout-menu {
  margin-left: -277px; }

.layout-wrapper.menu-layout-overlay .layout-main {
  margin-left: 0px; }

.layout-wrapper.menu-layout-overlay.layout-menu-overlay-active .layout-menu {
  z-index: 999999999;
  margin-left: 0px; }

.layout-wrapper.menu-layout-overlay .topbar {
  z-index: 999999998; }
  .layout-wrapper.menu-layout-overlay .topbar .topbar-right #menu-button i {
    font-size: 36px !important;
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    /* Preferred icon size */
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga'; }
    .layout-wrapper.menu-layout-overlay .topbar .topbar-right #menu-button i:before {
      content: ""; }

.layout-wrapper .layout-main {
  padding: 50px 0 0 0;
  -moz-transition: margin-left 0.3s;
  -o-transition: margin-left 0.3s;
  -webkit-transition: margin-left 0.3s;
  transition: margin-left 0.3s; }

.layout-wrapper .ultima-menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  .layout-wrapper .ultima-menu li a {
    font-size: 16px;
    display: block;
    padding: 10px 16px;
    color: #212121;
    width: 100%;
    box-sizing: border-box;
    -moz-transition: background-color 0.3s, border 0.3s;
    -o-transition: background-color 0.3s, border 0.3s;
    -webkit-transition: background-color 0.3s, border 0.3s;
    transition: background-color 0.3s, border 0.3s;
    overflow: hidden; }
    .layout-wrapper .ultima-menu li a i {
      color: #757575; }
    .layout-wrapper .ultima-menu li a i:first-child {
      display: inline-block;
      vertical-align: middle;
      margin-right: 12px;
      font-size: 24px; }
    .layout-wrapper .ultima-menu li a i:last-child {
      float: right;
      font-size: 20px;
      margin-top: 2px;
      margin-right: -3px;
      -moz-transition: transform 0.3s;
      -o-transition: transform 0.3s;
      -webkit-transition: transform 0.3s;
      transition: transform 0.3s; }
    .layout-wrapper .ultima-menu li a:hover {
      background-color: #e8e8e8; }
    .layout-wrapper .ultima-menu li a span {
      display: inline-block;
      vertical-align: middle; }
  .layout-wrapper .ultima-menu li.active-menuitem > a {
    color: #015496;
    background-color: #e8e8e8; }
    .layout-wrapper .ultima-menu li.active-menuitem > a i:last-child {
      -webkit-transform: rotate(-180deg);
      -moz-transform: rotate(-180deg);
      -o-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      transform: rotate(-180deg); }
  .layout-wrapper .ultima-menu li ul {
    display: none;
    padding: 0;
    margin: 0;
    list-style: none; }
    .layout-wrapper .ultima-menu li ul li a {
      padding: 10px 16px 10px 32px;
      font-size: 15px; }
      .layout-wrapper .ultima-menu li ul li a i:first-child {
        display: inline-block;
        vertical-align: middle;
        margin-right: 12px;
        font-size: 20px; }
    .layout-wrapper .ultima-menu li ul li ul li a {
      padding-left: 48px; }
    .layout-wrapper .ultima-menu li ul li ul ul li a {
      padding-left: 64px; }
    .layout-wrapper .ultima-menu li ul li ul ul ul li a {
      padding-left: 80px; }
    .layout-wrapper .ultima-menu li ul li ul ul ul ul li a {
      padding-left: 96px; }

.layout-wrapper .footer {
  padding: .5em; }
  .layout-wrapper .footer .footer-text-left {
    float: left; }
  .layout-wrapper .footer .footer-text-right {
    color: #757575;
    float: right; }
    .layout-wrapper .footer .footer-text-right span {
      vertical-align: middle;
      display: inline-block; }

.layout-wrapper.layout-rtl .ultima-menu li a {
  direction: rtl; }
  .layout-wrapper.layout-rtl .ultima-menu li a i:last-child {
    float: left; }
  .layout-wrapper.layout-rtl .ultima-menu li a i:first-child {
    float: right;
    margin-left: 12px;
    margin-right: 0px; }
  .layout-wrapper.layout-rtl .ultima-menu li a img:first-child {
    float: right; }
  .layout-wrapper.layout-rtl .ultima-menu li a img ~ span {
    float: right;
    padding-top: 8px;
    padding-right: 10px; }

.layout-wrapper.layout-rtl .layout-menu {
  right: 0;
  direction: rtl;
  margin-right: 0px;
  transition: margin-right 0.3s; }
  .layout-wrapper.layout-rtl .layout-menu > .nano > .nano-content.menu-scroll-content {
    margin-right: 0px !important;
    margin-left: -17px; }
  .layout-wrapper.layout-rtl .layout-menu > .nano > .nano-content .ultima-menu li ul li a {
    padding: 8px 32px 8px 16px; }
  .layout-wrapper.layout-rtl .layout-menu > .nano > .nano-content .ultima-menu li ul li ul li a {
    padding-left: 16px;
    padding-right: 48px; }
  .layout-wrapper.layout-rtl .layout-menu > .nano > .nano-content .ultima-menu li ul li ul ul li a {
    padding-left: 16px;
    padding-right: 64px; }
  .layout-wrapper.layout-rtl .layout-menu > .nano > .nano-pane {
    right: auto;
    left: 0; }

.layout-wrapper.layout-rtl .layout-main {
  transition: margin-right 0.3s; }

.layout-wrapper.layout-rtl.menu-layout-static .layout-main {
  margin-left: 0;
  margin-right: 270px; }

.layout-wrapper.layout-rtl.menu-layout-static.layout-menu-static-inactive .layout-menu {
  margin-left: 0;
  margin-right: -270px; }

.layout-wrapper.layout-rtl.menu-layout-static.layout-menu-static-inactive .layout-main {
  margin-right: 0px; }

.layout-wrapper.layout-rtl.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i {
  transform: rotate(0deg); }

.layout-wrapper.layout-rtl.menu-layout-overlay .layout-menu {
  margin-left: 0px;
  margin-right: -270px; }

.layout-wrapper.layout-rtl.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i {
  transform: rotate(0deg); }

.layout-wrapper.layout-rtl.menu-layout-overlay.layout-menu-overlay-active .layout-menu {
  margin-right: 0px; }

.layout-wrapper.layout-rtl.menu-layout-horizontal .layout-main {
  margin-right: 0px; }

.layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu > li {
  float: right; }
  .layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu > li > ul {
    left: auto; }
    .layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu > li > ul li ul li a {
      padding-left: 16px;
      padding-right: 32px; }
    .layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu > li > ul li ul ul li a {
      padding-left: 16px;
      padding-right: 48px; }

.layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu li a i:last-child {
  margin-right: 3px; }

.layout-wrapper.layout-rtl .topbar .topbar-left {
  float: right; }

.layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items {
  float: left; }
  .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > a .topbar-badge {
    right: auto; }
  .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > ul {
    right: auto; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > ul li a span {
      float: right; }
  .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items .search-item input {
    direction: rtl; }
  .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items .search-item label {
    left: auto;
    right: 43px; }

.layout-wrapper.layout-rtl .topbar .topbar-right #menu-button {
  margin-right: 0px;
  left: 13px;
  float: right; }
  .layout-wrapper.layout-rtl .topbar .topbar-right #menu-button i {
    transform: rotate(180deg); }

.ajax-loader {
  font-size: 32px;
  color: #FDB813; }

@media (min-width: 1106px) {
  .layout-wrapper .topbar-items {
    float: right;
    margin: 0;
    padding: 5px 0 0 0;
    list-style-type: none; }
    .layout-wrapper .topbar-items > li {
      float: right;
      position: relative;
      margin-left: 8px; }
      .layout-wrapper .topbar-items > li > a {
        position: relative;
        display: block; }
        .layout-wrapper .topbar-items > li > a .topbar-item-name {
          display: none; }
        .layout-wrapper .topbar-items > li > a .topbar-badge {
          position: absolute;
          right: -5px;
          top: -5px;
          background-color: #FDB813;
          color: #ffffff;
          -moz-border-radius: 50%;
          -webkit-border-radius: 50%;
          border-radius: 50%;
          padding: 2px 4px;
          display: block;
          font-size: 12px;
          line-height: 12px; }
      .layout-wrapper .topbar-items > li .topbar-icon {
        font-size: 36px;
        color: #ffffff;
        -moz-transition: color 0.3s;
        -o-transition: color 0.3s;
        -webkit-transition: color 0.3s;
        transition: color 0.3s; }
        .layout-wrapper .topbar-items > li .topbar-icon:hover {
          color: #e8e8e8; }
      .layout-wrapper .topbar-items > li.profile-item .profile-image {
        display: block;
        width: 36px;
        height: 36px;
        background: url("/QPort/javax.faces.resource/images/avatar2x.png.xhtml?ln=ultima-layout") top left no-repeat;
        background-size: 36px 36px; }
      .layout-wrapper .topbar-items > li > ul {
        position: absolute;
        top: 55px;
        right: 5px;
        display: none;
        width: 270px;
        background-color: #ffffff;
        -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        -webkit-animation-duration: .5s;
        -moz-animation-duration: .5s;
        animation-duration: .5s; }
      .layout-wrapper .topbar-items > li.active-top-menu > ul {
        display: block; }
      .layout-wrapper .topbar-items > li .topbar-message img {
        display: inline-block;
        vertical-align: middle;
        margin-right: 12px; }
  .layout-wrapper.menu-layout-static .layout-menu {
    margin-left: 0; }
  .layout-wrapper.menu-layout-static .layout-main {
    margin-left: 270px; }
  .layout-wrapper.menu-layout-static.layout-menu-static-inactive .layout-menu {
    margin-left: -270px; }
  .layout-wrapper.menu-layout-static.layout-menu-static-inactive .layout-main {
    margin-left: 0px; }
  .layout-wrapper.menu-layout-static .layout-mask {
    display: none; }
  .layout-wrapper.menu-layout-horizontal .topbar {
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none; }
    .layout-wrapper.menu-layout-horizontal .topbar .topbar-left {
      background-color: #ffffff;
      box-shadow: none;
      -webkit-box-shadow: none;
      -moz-box-shadow: none; }
    .layout-wrapper.menu-layout-horizontal .topbar .topbar-right #menu-button {
      display: none; }
  .layout-wrapper.menu-layout-horizontal .layout-menu {
    overflow: visible;
    position: fixed;
    width: 100%;
    top: 75px;
    height: auto;
    background-color: #005395;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); }
    .layout-wrapper.menu-layout-horizontal .layout-menu > .nano {
      overflow: visible; }
      .layout-wrapper.menu-layout-horizontal .layout-menu > .nano .nano-content.menu-scroll-content {
        display: inherit;
        height: auto;
        position: static;
        overflow: visible;
        overflow-x: visible; }
      .layout-wrapper.menu-layout-horizontal .layout-menu > .nano .nano-content ul:last-child {
        margin-top: 0px;
        padding-bottom: 0px; }
      .layout-wrapper.menu-layout-horizontal .layout-menu > .nano .nano-pane {
        display: none !important; }
    .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu:last-child {
      margin-top: 0; }
    .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li {
      float: left;
      position: relative; }
      .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a {
        color: #ffffff; }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i {
          color: #ffffff; }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover {
          background-color: #e8e8e8;
          color: #212121; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i {
            color: #212121; }
      .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul {
        z-index: 100;
        position: absolute;
        top: 45px;
        left: 0px;
        display: none;
        width: 270px;
        background-color: #ffffff;
        -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a {
          padding: 10px 16px; }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul {
          position: static; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a {
            padding-left: 32px; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a {
            padding-left: 48px; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a {
            padding-left: 64px; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a {
            padding-left: 80px; }
          .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a {
            padding-left: 96px; }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a {
          color: #015496;
          background-color: #e8e8e8; }
      .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a {
        color: #ffffff;
        background-color: #FDB813; }
        .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i {
          color: #ffffff; }
    .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark {
      background-color: #424242; }
      .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a {
        color: #ffffff; }
        .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover {
          background-color: #676767; }
          .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i {
            color: #ffffff; }
      .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a {
        color: #ffffff;
        background-color: #FDB813; }
      .layout-wrapper.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul {
        background-color: #424242; }
  .layout-wrapper.menu-layout-horizontal .layout-main {
    padding-top: 111px;
    margin-left: 0px; }
  .layout-wrapper.menu-layout-horizontal .layout-mask {
    display: none; }
  .layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content ul.ultima-menu > li > ul li a {
    padding: 10px 16px; } }

@media (max-width: 1105px) {
  .layout-wrapper.menu-layout-static .topbar .topbar-right #menu-button i {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
  .layout-wrapper.menu-layout-static .topbar .topbar-right #menu-button.menu-button-rotate i {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  .layout-wrapper.menu-layout-static .layout-menu {
    margin-left: -285px; }
  .layout-wrapper.menu-layout-static .layout-main {
    margin-left: 0px; }
  .layout-wrapper.menu-layout-static.layout-menu-static-active .layout-menu {
    margin-left: 0;
    z-index: 999999999; }
  .layout-wrapper.menu-layout-static.layout-menu-static-active .topbar {
    z-index: 999999998; }
  .layout-wrapper.menu-layout-static.layout-menu-static-active .layout-main {
    margin-left: 0; }
  .layout-wrapper .topbar .topbar-right #topbar-menu-button {
    display: block; }
  .layout-wrapper .topbar .topbar-right .topbar-items {
    position: absolute;
    top: 75px;
    right: 15px;
    width: 275px;
    -webkit-animation-duration: .5s;
    -moz-animation-duration: .5s;
    animation-duration: .5s;
    display: none;
    background-color: #ffffff;
    -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2);
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li > a {
      width: 100%;
      display: block;
      box-sizing: border-box;
      font-size: 16px;
      padding: 16px 16px;
      color: #212121;
      position: relative; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li > a i {
        display: inline-block;
        vertical-align: middle;
        margin-right: 12px;
        font-size: 24px; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li > a:hover {
        background-color: #e8e8e8; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li > a .topbar-item-name {
        display: inline-block;
        vertical-align: middle; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li > a .topbar-badge {
        position: absolute;
        left: 30px;
        top: 10px;
        background-color: #FDB813;
        color: #ffffff;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        padding: 2px 4px;
        display: block;
        font-size: 12px;
        line-height: 12px; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li > ul {
      display: none; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li > ul li a span, .layout-wrapper .topbar .topbar-right .topbar-items > li > ul li a img, .layout-wrapper .topbar .topbar-right .topbar-items > li > ul li a i {
        display: inline-block;
        vertical-align: middle; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li.active-top-menu > a {
      color: #015496; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li.active-top-menu > ul {
      display: block; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a {
        padding-left: 32px; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item {
      text-align: center;
      width: 100%;
      display: block;
      box-sizing: border-box;
      font-size: 16px;
      padding: 16px 16px;
      position: relative; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item input {
        top: 0;
        width: 100%;
        box-sizing: border-box;
        padding-right: 16px;
        border-color: #bdbdbd;
        color: #212121; }
        .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item input:focus {
          margin-bottom: -1px;
          border-color: #bdbdbd; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label,
      .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label {
        top: -20px;
        color: #015496; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item label {
        top: 1px;
        color: #212121; }
      .layout-wrapper .topbar .topbar-right .topbar-items > li.search-item i {
        position: absolute;
        right: 5px;
        top: -2px; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li.profile-item .profile-image {
      display: inline-block;
      vertical-align: middle;
      width: 24px;
      height: 24px;
      background: url("/QPort/javax.faces.resource/images/avatar2x.png.xhtml?ln=ultima-layout") top left no-repeat;
      background-size: 24px 24px;
      margin-right: 14px; }
    .layout-wrapper .topbar .topbar-right .topbar-items > li.profile-item span {
      vertical-align: middle;
      display: inline-block; }
    .layout-wrapper .topbar .topbar-right .topbar-items.topbar-items-visible {
      display: block; }
  .layout-wrapper.layout-rtl.menu-layout-static .layout-menu {
    margin-left: 0px;
    margin-right: -285px; }
  .layout-wrapper.layout-rtl.menu-layout-static .layout-main {
    margin-right: 0px; }
  .layout-wrapper.layout-rtl.menu-layout-static .topbar .topbar-right #menu-button i {
    transform: rotate(0deg); }
  .layout-wrapper.layout-rtl.menu-layout-static.layout-menu-static-active .layout-menu {
    margin-right: 0px; }
  .layout-wrapper.layout-rtl.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i {
    transform: rotate(180deg); }
  .layout-wrapper.layout-rtl.menu-layout-horizontal .layout-menu > .nano > .nano-content .ultima-menu > li {
    float: none; }
  .layout-wrapper.layout-rtl .topbar .topbar-right #topbar-menu-button {
    right: auto; }
  .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items {
    right: auto; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items.topbar-items-visible {
      direction: rtl; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li.search-item input {
      padding-right: 30px; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > a .topbar-badge {
      left: auto;
      right: 28px; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > a i {
      margin-left: 10px;
      margin-right: 0px; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li > a span {
      float: none; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a {
      padding-right: 32px;
      padding-left: 16px; }
      .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a i {
        margin-left: 12px;
        margin-right: 0px; }
        .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a i:first-child {
          padding-left: 0px; }
    .layout-wrapper.layout-rtl .topbar .topbar-right .topbar-items > li.profile-item .profile-image {
      margin-left: 8px;
      margin-right: -2px; } }

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .layout-wrapper .topbar .logo {
    background: url("/QPort/javax.faces.resource/images/logo2x.png.xhtml?ln=ultima-layout") top left no-repeat;
    background-size: 200px 30px; } }

@media (max-width: 399px) {
  .layout-wrapper .topbar .topbar-right #topbar-menu-button {
    right: 10px; }
  .layout-wrapper.layout-rtl .topbar .topbar-right #topbar-menu-button {
    left: 10px; } }

body.layout-compact {
  font-size: 14px;
  line-height: 18px;
  /* Messages */ }
  body.layout-compact .layout-wrapper .ultima-menu li a {
    font-size: 13px;
    padding: 8px 12px; }
    body.layout-compact .layout-wrapper .ultima-menu li a i:first-child {
      font-size: 20px; }
    body.layout-compact .layout-wrapper .ultima-menu li a i:last-child {
      font-size: 18px; }
  body.layout-compact .layout-wrapper .ultima-menu li ul li a {
    padding: 8px 16px 8px 18px;
    font-size: 13px; }
  body.layout-compact .layout-wrapper .ultima-menu li ul li ul li a {
    padding-left: 48px; }
  body.layout-compact .layout-wrapper .ultima-menu li ul li ul ul li a {
    padding-left: 64px; }
  body.layout-compact .layout-wrapper .ultima-menu li ul li ul ul ul li a {
    padding-left: 80px; }
  body.layout-compact .layout-wrapper .ultima-menu li ul li ul ul ul ul li a {
    padding-left: 96px; }
  body.layout-compact .layout-wrapper .layout-menu #profile-menu {
    margin-top: 14px; }
    body.layout-compact .layout-wrapper .layout-menu #profile-menu li:last-child {
      margin-bottom: 14px; }
  body.layout-compact .layout-wrapper .layout-menu > .nano > .nano-content > ul:last-child {
    margin-top: 14px; }
  body.layout-compact .ui-widget-content {
    font-size: 14px; }
  body.layout-compact .ui-widget-header {
    font-size: 14px; }
  body.layout-compact .ui-icon {
    font-size: 20px; }
  body.layout-compact .card {
    padding: 16px;
    margin-bottom: 16px;
    box-sizing: border-box; }
    body.layout-compact .card.card-w-title {
      padding-bottom: 26px; }
    body.layout-compact .card h1 {
      font-size: 22px;
      margin: 22px 0; }
      body.layout-compact .card h1:first-child {
        margin-top: 10px; }
    body.layout-compact .card h2 {
      font-size: 20px; }
    body.layout-compact .card h3 {
      font-size: 18px; }
    body.layout-compact .card h4 {
      font-size: 16px; }
  body.layout-compact .ui-panel .ui-panel-titlebar {
    padding: 8px 14px; }
    body.layout-compact .ui-panel .ui-panel-titlebar .ui-panel-title {
      line-height: 18px; }
    body.layout-compact .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon {
      position: relative;
      top: 4px;
      width: 24px;
      height: 24px;
      margin: 0; }
  body.layout-compact .ui-panel .ui-panel-content {
    padding: 8px 14px; }
  body.layout-compact .ui-panel .ui-panel-footer {
    padding: 8px 14px; }
  body.layout-compact .ui-panel.ui-panel-collapsed-h .ui-panel-titlebar {
    padding-left: 40px; }
  body.layout-compact .ui-button {
    font-size: 14px;
    height: 30px;
    padding: 0 14px; }
    body.layout-compact .ui-button .ui-button-text {
      white-space: nowrap;
      line-height: 30px; }
    body.layout-compact .ui-button.ui-button-icon-only {
      width: 32px;
      height: 32px; }
      body.layout-compact .ui-button.ui-button-icon-only .ui-icon {
        width: 20px;
        height: 20px;
        font-size: 20px;
        margin-top: -10px;
        margin-left: -10px; }
    body.layout-compact .ui-button.ui-button-text-icon-left .ui-icon, body.layout-compact .ui-button.ui-button-text-icon-right .ui-icon {
      width: 20px;
      height: 20px;
      font-size: 20px;
      margin-top: -10px; }
    body.layout-compact .ui-button.ui-button-text-icon-left {
      padding-left: 36px; }
    body.layout-compact .ui-button.ui-button-text-icon-right {
      padding-right: 36px; }
  body.layout-compact .ui-splitbutton .ui-splitbutton-menubutton {
    height: 30px; }
  body.layout-compact .ui-inputfield {
    font-size: 14px; }
  body.layout-compact .md-inputfield .ui-message.ui-message-error {
    font-size: 11px; }
    body.layout-compact .md-inputfield .ui-message.ui-message-error .ui-message-error-icon {
      font-size: 13px; }
  body.layout-compact .ui-chkbox {
    line-height: 18px;
    width: 18px;
    height: 18px;
    margin-right: 4px; }
    body.layout-compact .ui-chkbox .ui-chkbox-box {
      width: 14px;
      height: 14px; }
      body.layout-compact .ui-chkbox .ui-chkbox-box .ui-chkbox-icon {
        font-size: 18px;
        margin-left: -2px;
        margin-top: -2px; }
  body.layout-compact .ui-radiobutton .ui-radiobutton-box {
    width: 14px;
    height: 14px; }
    body.layout-compact .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon {
      top: 0;
      left: -1px;
      width: 18px;
      height: 18px; }
  body.layout-compact .ui-picklist .ui-picklist-caption {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-picklist li.ui-picklist-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-picklist .ui-picklist-buttons {
    width: 60px; }
    body.layout-compact .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only {
      width: 32px;
      margin-bottom: 4px; }
  body.layout-compact .ui-picklist .ui-picklist-filter-container {
    padding: 6px 10px; }
    body.layout-compact .ui-picklist .ui-picklist-filter-container .ui-icon {
      top: 8px; }
  body.layout-compact .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only {
    margin-bottom: 4px; }
  body.layout-compact .ui-orderlist .ui-orderlist-caption {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-orderlist .ui-orderlist-list li.ui-orderlist-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-orderlist .ui-orderlist-controls {
    width: 40px; }
    body.layout-compact .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only {
      width: 32px; }
  body.layout-compact .ui-selectonelistbox .ui-selectlistbox-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-selectonelistbox .ui-selectlistbox-filter-container {
    padding: 6px 10px; }
  body.layout-compact .ui-multiselectlistbox .ui-multiselectlistbox-header {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-multiselectlistbox li.ui-multiselectlistbox-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-paginator {
    padding: 6px 10px; }
    body.layout-compact .ui-paginator .ui-paginator-next {
      padding: 0 6px;
      vertical-align: middle;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: 24px;
      /* Preferred icon size */
      display: inline-block;
      width: 1em;
      height: 1em;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      /* Support for all WebKit browsers. */
      -webkit-font-smoothing: antialiased;
      /* Support for Safari and Chrome. */
      text-rendering: optimizeLegibility;
      /* Support for Firefox. */
      -moz-osx-font-smoothing: grayscale;
      /* Support for IE. */
      font-feature-settings: 'liga';
      font-size: 20px; }
      body.layout-compact .ui-paginator .ui-paginator-next:before {
        content: ""; }
      body.layout-compact .ui-paginator .ui-paginator-next:before {
        position: relative;
        left: -6px; }
    body.layout-compact .ui-paginator .ui-paginator-last {
      padding: 0 6px;
      vertical-align: middle;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: 24px;
      /* Preferred icon size */
      display: inline-block;
      width: 1em;
      height: 1em;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      /* Support for all WebKit browsers. */
      -webkit-font-smoothing: antialiased;
      /* Support for Safari and Chrome. */
      text-rendering: optimizeLegibility;
      /* Support for Firefox. */
      -moz-osx-font-smoothing: grayscale;
      /* Support for IE. */
      font-feature-settings: 'liga';
      font-size: 20px; }
      body.layout-compact .ui-paginator .ui-paginator-last:before {
        content: ""; }
      body.layout-compact .ui-paginator .ui-paginator-last:before {
        position: relative;
        left: -6px; }
    body.layout-compact .ui-paginator .ui-paginator-prev {
      padding: 0 6px;
      vertical-align: middle;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: 24px;
      /* Preferred icon size */
      display: inline-block;
      width: 1em;
      height: 1em;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      /* Support for all WebKit browsers. */
      -webkit-font-smoothing: antialiased;
      /* Support for Safari and Chrome. */
      text-rendering: optimizeLegibility;
      /* Support for Firefox. */
      -moz-osx-font-smoothing: grayscale;
      /* Support for IE. */
      font-feature-settings: 'liga';
      font-size: 20px; }
      body.layout-compact .ui-paginator .ui-paginator-prev:before {
        content: ""; }
      body.layout-compact .ui-paginator .ui-paginator-prev:before {
        position: relative;
        left: -5px; }
    body.layout-compact .ui-paginator .ui-paginator-first {
      padding: 0 6px;
      vertical-align: middle;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: 24px;
      /* Preferred icon size */
      display: inline-block;
      width: 1em;
      height: 1em;
      line-height: 1;
      text-transform: none;
      letter-spacing: normal;
      word-wrap: normal;
      white-space: nowrap;
      direction: ltr;
      /* Support for all WebKit browsers. */
      -webkit-font-smoothing: antialiased;
      /* Support for Safari and Chrome. */
      text-rendering: optimizeLegibility;
      /* Support for Firefox. */
      -moz-osx-font-smoothing: grayscale;
      /* Support for IE. */
      font-feature-settings: 'liga';
      font-size: 20px; }
      body.layout-compact .ui-paginator .ui-paginator-first:before {
        content: ""; }
      body.layout-compact .ui-paginator .ui-paginator-first:before {
        position: relative;
        left: -5px; }
    body.layout-compact .ui-paginator .ui-paginator-pages {
      vertical-align: middle;
      margin: 0 4px 0 10px; }
      body.layout-compact .ui-paginator .ui-paginator-pages a {
        padding: 1px 6px;
        margin-right: 2px; }
        body.layout-compact .ui-paginator .ui-paginator-pages a:last-child {
          margin-right: 0; }
  body.layout-compact .ui-datagrid .ui-datagrid-header {
    padding: 8px 14px; }
  body.layout-compact .ui-datalist .ui-datalist-header {
    padding: 8px 14px; }
  body.layout-compact .ui-datatable .ui-datatable-header,
  body.layout-compact .ui-datatable .ui-datatable-footer {
    padding: 8px 14px; }
  body.layout-compact .ui-datatable .ui-paginator {
    padding: 8px 14px; }
  body.layout-compact .ui-datatable thead th {
    padding: 6px 10px; }
    body.layout-compact .ui-datatable thead th .ui-sortable-column-icon {
      margin: -4px 0 0 0; }
      body.layout-compact .ui-datatable thead th .ui-sortable-column-icon.ui-icon-carat-2-n-s {
        margin-left: 4px; }
  body.layout-compact .ui-datatable tfoot td {
    padding: 6px 10px; }
  body.layout-compact .ui-datatable tbody tr.ui-widget-content td {
    padding: 6px 10px; }
  body.layout-compact .ui-datatable > .ui-icon-arrowthick-1-s {
    font-size: 18px; }
  body.layout-compact .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-theadclone th {
    padding-top: 0;
    padding-bottom: 0; }
  body.layout-compact .ui-draggable-dragging.ui-state-default {
    padding: 8px 14px !important; }
  body.layout-compact .ui-carousel .ui-carousel-header {
    padding: 5px 14px;
    font-size: 14px; }
  body.layout-compact .ui-carousel .ui-carousel-footer {
    padding: 8px 14px;
    font-size: 14px; }
  body.layout-compact .ui-dialog .ui-dialog-titlebar {
    padding: 8px 14px;
    font-size: 16px; }
    body.layout-compact .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon {
      margin-top: 2px; }
  body.layout-compact .ui-dialog .ui-dialog-content {
    padding: 8px 14px; }
  body.layout-compact .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group {
    padding: 6px 10px; }
  body.layout-compact .ui-autocomplete .ui-autocomplete-dropdown {
    top: 4px; }
    body.layout-compact .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only {
      background-color: transparent;
      box-shadow: none;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      height: 20px;
      width: 20px; }
  body.layout-compact .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input {
    font-size: 14px; }
  body.layout-compact .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-icon {
    margin-top: -10px; }
  body.layout-compact .ui-selectonemenu .ui-selectonemenu-trigger {
    height: 20px;
    width: 20px;
    top: 4px; }
    body.layout-compact .ui-selectonemenu .ui-selectonemenu-trigger .ui-icon {
      height: 20px;
      width: 20px;
      margin-top: -8px; }
  body.layout-compact .ui-selectonemenu .ui-selectonemenu-label {
    font-size: 14px; }
    body.layout-compact .ui-selectonemenu .ui-selectonemenu-label.ui-inputfield {
      font-size: 14px; }
  body.layout-compact .ui-selectonemenu-panel .ui-selectonemenu-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-selectonemenu-panel .ui-selectonemenu-item-group {
    padding: 8px; }
  body.layout-compact .ui-selectcheckboxmenu .ui-selectcheckboxmenu-label-container .ui-selectcheckboxmenu-label {
    padding-bottom: 1px; }
  body.layout-compact .ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger {
    height: 20px;
    width: 20px;
    font-size: 20px; }
    body.layout-compact .ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger .ui-icon {
      height: 20px;
      width: 20px; }
  body.layout-compact .ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-header {
    padding: 6px 10px; }
  body.layout-compact .ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact #keypad-div .keypad-key {
    font-size: 14px;
    padding: 4px; }
  body.layout-compact .ui-selectmanymenu .ui-selectlistbox-item {
    font-size: 14px;
    padding: 6px 10px; }
  body.layout-compact .ui-selectmanymenu .ui-selectlistbox-filter-container {
    padding: 6px 10px; }
    body.layout-compact .ui-selectmanymenu .ui-selectlistbox-filter-container .ui-icon {
      top: 4px;
      right: 10px; }
  body.layout-compact .ui-spinner .ui-spinner-button {
    width: 18px;
    height: 12px;
    padding: 0; }
  body.layout-compact .ui-spinner .ui-spinner-up .ui-icon {
    top: 6px; }
  body.layout-compact .ui-spinner .ui-spinner-down .ui-icon {
    top: 4px; }
  body.layout-compact .ui-fluid .ui-spinner .ui-spinner-button {
    width: 25px;
    height: 12px; }
  body.layout-compact .ui-fluid .ui-spinner .ui-spinner-input {
    padding-right: 30px; }
  body.layout-compact .ui-calendar .ui-datepicker-trigger {
    top: 4px;
    right: 25px;
    height: 20px;
    height: 20px; }
  body.layout-compact .ui-datepicker .ui-datepicker-header {
    padding: 6px 10px;
    font-size: 14px; }
    body.layout-compact .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
      top: 8px;
      font-size: 20px; }
    body.layout-compact .ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
      top: 8px;
      font-size: 20px; }
  body.layout-compact .ui-datepicker tbody td a {
    margin: 0;
    height: 24px;
    width: 24px;
    line-height: 24px; }
  body.layout-compact .ui-datepicker .ui-timepicker-div dl {
    margin: -16px 0 40px 0; }
    body.layout-compact .ui-datepicker .ui-timepicker-div dl dt.ui_tpicker_hour_label {
      margin-top: 6px; }
    body.layout-compact .ui-datepicker .ui-timepicker-div dl dt.ui_tpicker_minute_label {
      margin-top: 6px; }
    body.layout-compact .ui-datepicker .ui-timepicker-div dl dt.ui_tpicker_second_label {
      margin-top: 6px; }
    body.layout-compact .ui-datepicker .ui-timepicker-div dl dd {
      margin-top: 42px; }
  body.layout-compact .ui-fluid .ui-calendar .ui-datepicker-trigger.ui-button {
    top: -6px; }
  body.layout-compact .ui-messages > div {
    padding: 8px 14px; }
    body.layout-compact .ui-messages > div > span {
      font-size: 24px; }
  body.layout-compact .ui-message {
    min-height: 20px; }
    body.layout-compact .ui-message > span {
      display: inline-block;
      vertical-align: middle;
      margin: 0; }
      body.layout-compact .ui-message > span.ui-message-info-icon, body.layout-compact .ui-message > span.ui-message-error-icon, body.layout-compact .ui-message > span.ui-message-warn-icon, body.layout-compact .ui-message > span.ui-message-fatal-icon {
        margin-right: 4px;
        margin-top: 1px; }
  body.layout-compact .ui-accordion .ui-accordion-header {
    padding: 8px 14px;
    padding-left: 36px;
    font-size: 14px; }
    body.layout-compact .ui-accordion .ui-accordion-header .ui-icon-triangle-1-e {
      margin-top: -10px; }
    body.layout-compact .ui-accordion .ui-accordion-header .ui-icon-triangle-1-s {
      margin-top: -10px; }
  body.layout-compact .ui-accordion .ui-accordion-content {
    padding: 8px 14px;
    line-height: 18px; }
  body.layout-compact .ui-toolbar {
    padding: 8px 14px; }
  body.layout-compact .ui-tabs .ui-tabs-nav > li > a {
    padding: 8px 14px; }
  body.layout-compact .ui-tabs .ui-tabs-nav > li > .ui-icon-close {
    margin: 7px 0 0 0; }
  body.layout-compact .ui-tabs .ui-tabs-panel {
    padding: 8px 14px; }
  body.layout-compact .ui-fieldset {
    padding: 8px 14px; }
    body.layout-compact .ui-fieldset .ui-fieldset-legend {
      padding: 8px 14px;
      padding-left: 2px;
      padding-right: 8px; }
      body.layout-compact .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler {
        padding: 8px;
        margin-top: -10px;
        margin-right: 8px; }
  body.layout-compact .ui-wizard .ui-wizard-step-titles > li {
    padding: 8px 14px;
    font-size: 14px; }
  body.layout-compact .ui-breadcrumb {
    padding: 6px 10px; }
    body.layout-compact .ui-breadcrumb a {
      font-size: 14px; }
    body.layout-compact .ui-breadcrumb li:first-child a {
      font-size: 20px;
      top: 1px; }
  body.layout-compact .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number {
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    padding: 4px 8px; }
  body.layout-compact .ui-menu .ui-menu-list li.ui-widget-header h3 {
    font-size: 14px;
    padding: 6px 10px; }
    body.layout-compact .ui-menu .ui-menu-list li.ui-widget-header h3 .ui-icon {
      font-size: 20px; }
      body.layout-compact .ui-menu .ui-menu-list li.ui-widget-header h3 .ui-icon.ui-icon-triangle-1-s, body.layout-compact .ui-menu .ui-menu-list li.ui-widget-header h3 .ui-icon.ui-icon-triangle-1-e {
        margin: -12px 0 0 0px; }
  body.layout-compact .ui-menu .ui-menu-list li.ui-menuitem .ui-menuitem-link {
    font-size: 14px;
    padding: 6px 10px;
    min-height: 30px;
    line-height: 18px; }
    body.layout-compact .ui-menu .ui-menu-list li.ui-menuitem .ui-menuitem-link .ui-menuitem-icon {
      margin-right: 8px; }
  body.layout-compact .ui-menu .ui-menu-list .ui-separator {
    height: 1px;
    background-color: #bdbdbd;
    width: 100%;
    box-sizing: border-box; }
  body.layout-compact .ui-menu.ui-menu-toggleable .ui-menu-list li.ui-widget-header {
    padding-left: 30px; }
    body.layout-compact .ui-menu.ui-menu-toggleable .ui-menu-list li.ui-widget-header .ui-icon {
      color: #ffffff; }
      body.layout-compact .ui-menu.ui-menu-toggleable .ui-menu-list li.ui-widget-header .ui-icon.ui-icon-triangle-1-s {
        margin-top: -10px; }
      body.layout-compact .ui-menu.ui-menu-toggleable .ui-menu-list li.ui-widget-header .ui-icon.ui-icon-triangle-1-e {
        margin-top: -10px; }
  body.layout-compact .ui-menu.ui-tieredmenu .ui-icon-triangle-1-e {
    top: 6px; }
  body.layout-compact .ui-menu.ui-menubar .ui-menubar-options {
    padding: 6px 10px; }
  body.layout-compact .ui-menu.ui-slidemenu .ui-menu-parent .ui-menu-child {
    padding: 0;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none; }
  body.layout-compact .ui-menu.ui-slidemenu .ui-slidemenu-backward {
    width: 100%;
    box-sizing: border-box;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0; }
  body.layout-compact .ui-panelmenu .ui-panelmenu-header a {
    padding: 6px 10px 6px 36px;
    font-size: 14px; }
  body.layout-compact .ui-panelmenu .ui-panelmenu-header .ui-icon {
    color: #ffffff;
    margin-top: -10px; }
  body.layout-compact .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link {
    padding: 6px 10px;
    min-height: 30px;
    line-height: 18px; }
    body.layout-compact .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-icon {
      position: static;
      display: inline-block;
      vertical-align: middle;
      margin-right: 6px; }
  body.layout-compact .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a {
    padding: 8px 14px; }
    body.layout-compact .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon {
      margin-right: 8px; }
  body.layout-compact .ui-tree {
    padding: 8px 14px/2; }
    body.layout-compact .ui-tree .ui-treenode-children {
      padding-left: 24px; }
    body.layout-compact .ui-tree .ui-treenode-content .ui-chkbox {
      margin: 0 4px 0 1px; }
    body.layout-compact .ui-tree .ui-treenode-content .ui-tree-toggler {
      vertical-align: middle;
      margin: 0 1px 0 2px; }
    body.layout-compact .ui-tree .ui-treenode-content .ui-treenode-icon {
      vertical-align: middle;
      margin: 0 2px 0 1px; }
    body.layout-compact .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler {
      margin-right: 0;
      vertical-align: bottom; }
    body.layout-compact .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon {
      vertical-align: top;
      margin-right: 4px; }
  body.layout-compact .ui-treetable .ui-treetable-header {
    padding: 6px 10px;
    font-size: 14px; }
  body.layout-compact .ui-treetable thead th {
    padding: 6px 10px; }
    body.layout-compact .ui-treetable thead th .ui-sortable-column-icon {
      margin: -4px 0 0 0; }
  body.layout-compact .ui-treetable tfoot td {
    padding: 6px 10px; }
  body.layout-compact .ui-treetable tbody tr td {
    padding: 6px 10px; }
    body.layout-compact .ui-treetable tbody tr td .ui-treetable-toggler {
      margin: 0 4px; }
    body.layout-compact .ui-treetable tbody tr td .ui-chkbox {
      margin-right: 8px; }
  body.layout-compact .ui-lightbox .ui-lightbox-caption {
    padding: 8px 14px; }
    body.layout-compact .ui-lightbox .ui-lightbox-caption .ui-lightbox-close {
      line-height: 18px;
      width: 20px;
      height: 20px; }
  body.layout-compact .ui-rating .ui-rating-cancel a {
    font-size: 20px; }
  body.layout-compact .ui-rating .ui-rating-star a {
    font-size: 20px; }
  body.layout-compact .ui-fileupload .ui-fileupload-buttonbar {
    padding: 8px 14px; }
  body.layout-compact .ui-log .ui-log-header {
    padding: 8px 14px; }
  body.layout-compact .ui-tagcloud li {
    margin: 6px 0px; }
  body.layout-compact .ui-slider.ui-slider-horizontal .ui-slider-handle {
    top: -.65em; }

@media (min-width: 1106px) {
  body.layout-compact .layout-wrapper.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul {
    top: 38px; }
  body.layout-compact .layout-wrapper.menu-layout-horizontal .layout-menu > .nano > .nano-content > ul:last-child {
    margin-top: 0; } }

@media (max-width: 640px) {
  body.layout-compact .ui-orderlist.ui-grid-responsive .ui-orderlist-controls {
    width: auto; } }

@media (max-width: 1105px) {
  body.layout-compact .layout-wrapper .topbar .topbar-right .topbar-items > li > a {
    font-size: 14px;
    padding: 14px 16px; }
    body.layout-compact .layout-wrapper .topbar .topbar-right .topbar-items > li > a i {
      font-size: 20px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXFucC5jc3MiLCJzb3VyY2VzIjpbImxheW91dC1xbnAuc2NzcyIsIi4uLy4uL3Nhc3MvbGF5b3V0L19sYXlvdXQuc2NzcyIsIi4uLy4uL3Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vc2Fzcy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9zYXNzL19mb250cy5zY3NzIiwiLi4vLi4vc2Fzcy9sYXlvdXQvX3V0aWxzLnNjc3MiLCIuLi8uLi9zYXNzL2xheW91dC9fZGFzaGJvYXJkLnNjc3MiLCIuLi8uLi9zYXNzL2xheW91dC9fbG9naW4uc2NzcyIsIi4uLy4uL3Nhc3MvbGF5b3V0L19leGNlcHRpb24uc2NzcyIsIi4uLy4uL3Nhc3MvbGF5b3V0L19sYW5kaW5nLnNjc3MiLCIuLi8uLi9zYXNzL2xheW91dC9fbWFpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZ3VscC9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19jb250ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZ3VscC9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX3BhcnNlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3F1ZXJ5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19zaW5nbGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvc2luZ2xlL19kZWZhdWx0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19kb3VibGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kZWZhdWx0LXBhaXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kb3VibGUtc3RyaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL2RvdWJsZS9fZGVmYXVsdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZ3VscC9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fdHJpcGxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3RyaXBsZS9fZGVmYXVsdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZ3VscC9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fcmVzb2x1dGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZ3VscC9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9yZXNvbHV0aW9uL19yZXNvbHV0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fbm8tcXVlcnkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2d1bHAvbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19yZXNwb25kLXRvLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9ndWxwL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fbGVnYWN5LXNldHRpbmdzLnNjc3MiLCIuLi8uLi9zYXNzL2xheW91dC9fY29tcGFjdC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiRwcmltYXJ5Q29sb3I6ICMwMTU0OTY7XHJcbiRwcmltYXJ5RGFya0NvbG9yOiAjMDA1Mzk1O1xyXG4kcHJpbWFyeUxpZ2h0Q29sb3I6ICNBQUM1REI7XHJcbiRhY2NlbnRDb2xvcjogI0ZEQjgxMztcclxuJGFjY2VudERhcmtDb2xvcjogI2M1OGEwMjtcclxuJGFjY2VudExpZ2h0Q29sb3I6ICNGRENGNjE7XHJcbiRhY2NlbnRUZXh0Q29sb3I6ICNmZmZmZmY7XHJcbiRkYXJrTWVudUJnQ29sb3I6ICM0MjQyNDI7XHJcbiRkYXJrTWVudUhvdmVyQ29sb3I6ICM2NzY3Njc7XHJcblxyXG5AaW1wb3J0ICcuLi8uLi9zYXNzL2xheW91dC9fbGF5b3V0JztcclxuIiwiQGltcG9ydCAnLi4vX3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uL19taXhpbnMnO1xyXG5AaW1wb3J0ICcuLi9fZm9udHMnO1xyXG5AaW1wb3J0ICcuL191dGlscy5zY3NzJztcclxuQGltcG9ydCAnLi9fZGFzaGJvYXJkLnNjc3MnO1xyXG5AaW1wb3J0ICcuL19sb2dpbi5zY3NzJztcclxuQGltcG9ydCAnLi9fZXhjZXB0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICcuL19sYW5kaW5nLnNjc3MnO1xyXG5AaW1wb3J0ICcuL19tYWluLnNjc3MnO1xyXG5AaW1wb3J0ICcuL19jb21wYWN0LnNjc3MnOyIsIiR0ZXh0Q29sb3I6ICMyMTIxMjE7XHJcbiR0ZXh0U2Vjb25kYXJ5Q29sb3I6ICM3NTc1NzU7XHJcbiRmb250U2l6ZTogMTZweDtcclxuJGxpbmVIZWlnaHQ6IDI0cHg7XHJcbiRoZWFkZXJGb250U2l6ZTogMTZweDtcclxuJGhlYWRlclBhZGRpbmc6IDEwcHggMTZweDtcclxuJGNvbnRlbnRGb250U2l6ZTogMTZweDtcclxuJGNvbnRlbnRQYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiRpbnB1dEhlYWRlckZvbnRTaXplOiAxNnB4O1xyXG4kaW5wdXRIZWFkZXJQYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiRpbnB1dEZvbnRTaXplOiAxNnB4O1xyXG4kYnV0dG9uRm9udFNpemU6IDE2cHg7XHJcbiRpbnB1dE9wdGlvbkZvbnRTaXplOiAxNnB4O1xyXG4kaW5wdXRPcHRpb25QYWRkaW5nOiAxMHB4IDE0cHg7XHJcbiRob3ZlckJnQ29sb3I6ICNlOGU4ZTg7XHJcbiRob3ZlclRleHRDb2xvcjogIzAwMDAwMDtcclxuJGRpdmlkZXJDb2xvcjogI2JkYmRiZDtcclxuJGRpdmlkZXJMaWdodENvbG9yOiAjY2FjYWNhO1xyXG4kZ3JheUJnQ29sb3I6ICM3NTc1NzU7XHJcbiRpY29uRm9udFNpemU6IDI0cHg7XHJcbiRlcnJvck1lc3NhZ2VGb250U2l6ZTogMTJweDtcclxuJGVycm9yTWVzc2FnZUljb25Gb250U2l6ZTogMTVweDtcclxuXHJcbi8qIENvbXBhY3QgKi9cclxuJGMtbWVudUZvbnRTaXplOiAxM3B4O1xyXG4kYy1mb250U2l6ZTogMTRweDtcclxuJGMtbGluZUhlaWdodDogMThweDtcclxuJGMtaGVhZGVyRm9udFNpemU6IDE0cHg7XHJcbiRjLWhlYWRlclBhZGRpbmc6IDhweCAxNHB4O1xyXG4kYy1jb250ZW50Rm9udFNpemU6IDE0cHg7XHJcbiRjLWNvbnRlbnRQYWRkaW5nOiA4cHggMTRweDtcclxuJGMtaWNvbkZvbnRTaXplOiAyMHB4O1xyXG4kYy1idXR0b25Gb250U2l6ZTogMTRweDtcclxuJGMtaW5wdXRGb250U2l6ZTogMTRweDtcclxuJGMtaW5wdXRIZWFkZXJGb250U2l6ZTogMTRweDtcclxuJGMtaW5wdXRIZWFkZXJQYWRkaW5nOiA2cHggMTBweDtcclxuJGMtaW5wdXRPcHRpb25Gb250U2l6ZTogMTRweDtcclxuJGMtaW5wdXRPcHRpb25QYWRkaW5nOiA2cHggMTBweDtcclxuJGMtZHRQYWRkaW5nOiA2cHggMTBweDtcclxuJGMtZXJyb3JNZXNzYWdlRm9udFNpemU6IDExcHg7XHJcbiRjLWVycm9yTWVzc2FnZUljb25Gb250U2l6ZTogMTNweDtcclxuXHJcbi8qIEFwcCB2YXJpYWJsZXMgKi9cclxuJHRvcGJhci1icmVha3BvaW50OiAxMTA1cHg7XHJcbiRjb250ZW50LXBhZGRpbmc6IDAgMjVweCAwIDI1cHg7XHJcbiRoZWFkZXItY29sb3I6ICNmZmZmZmY7XHJcbiRoZWFkZXItaGVpZ2h0OiA3NXB4O1xyXG4kbWVudS1jb2xvcjogI2ZmZmZmZjtcclxuJG1lbnUtaGVpZ2h0OiAzNnB4O1xyXG4kbWVudS1ib3JkZXItYm90dG9tOiAycHg7XHJcbiRmb290ZXItY29sb3I6ICRoZWFkZXItY29sb3I7XHJcbiRmb290ZXItaGVpZ2h0OiA1MHB4O1xyXG4kb2NjdXBpZWQtaGVpZ2h0OiA4NXB4O1xyXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xyXG4kY29udGVudC1tYXgtd2lkdGg6IDEzNzBweDtcclxuJGNvbnRlbnQtbWluLXdpZHRoOiA5MCU7XHJcblxyXG4kdG9wYmFyLWhlaWdodDogNzVweDtcclxuJHRvcGJhci1oZWlnaHQtc21hbGw6IDU1cHg7XHJcbiR0b3BiYXItbGVmdC13aWR0aDogMjcwcHg7XHJcbiRzZWFyY2gtaXRlbS1oZWlnaHQ6IDQ1cHg7XHJcbiRzZWFyY2gtaXRlbS1oZWlnaHQtY29tcGFjdDogMThweDtcclxuIiwiQG1peGluIGJvcmRlci1yYWRpdXMoJHZhbCkge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkdmFsO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkdmFsO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHZhbDtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMtcmlnaHQoJHZhbCkge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAkdmFsO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdmFsO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAkdmFsO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdmFsOyBcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yYWRpdXMtbGVmdCgkdmFsKSB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogJHZhbDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR2YWw7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogJHZhbDtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR2YWw7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzLXRvcCgkdmFsKSB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogJHZhbDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR2YWw7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6ICR2YWw7XHJcbiAgICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdmFsO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR2YWw7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzLWJvdHRvbSgkdmFsKSB7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogJHZhbDtcclxuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHZhbDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR2YWw7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6ICR2YWw7XHJcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdmFsO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR2YWw7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudCgkZGVnLCAkY29sb3IxLCAkY29sb3IyKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkY29sb3IxIDAlLCAkY29sb3IyIDEwMCUpOyAvKiBmZjMuNisgKi9cclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCAkY29sb3IxKSwgY29sb3Itc3RvcCgxMDAlLCAkY29sb3IyKSk7IC8qIHNhZmFyaTQrLGNocm9tZSAqL1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJGNvbG9yMSAwJSwgJGNvbG9yMiAxMDAlKTsgLyogc2FmYXJpNS4xKyxjaHJvbWUxMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkY29sb3IxIDAlLCAkY29sb3IyIDEwMCUpOyAvKiBvcGVyYSAxMS4xMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoJGRlZywgJGNvbG9yMSAwJSwgJGNvbG9yMiAxMDAlKTsgLyogaWUxMCsgKi9cclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkY29sb3IxIDAlLCAkY29sb3IyIDEwMCUpOyAvKiB3M2MgKi9cclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjeyRjb2xvcjF9JywgZW5kQ29sb3JzdHI9JyN7JGNvbG9yMn0nLEdyYWRpZW50VHlwZT0xICk7IC8qIGllNi05ICovXHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICAgICR0cmFuc2l0aW9uO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogICAgICAkdHJhbnNpdGlvbjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgICB0cmFuc2l0aW9uOiAgICAgICAgICR0cmFuc2l0aW9uO1xyXG59XHJcblxyXG5AbWl4aW4gY29udGVudC1zaGFkb3coKSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMTIpO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMTIpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsMCwwLC4yKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xNCksMCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMTIpXHJcbn1cclxuXHJcbkBtaXhpbiBvdmVybGF5LWNvbnRlbnQtc2hhZG93KCkge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsMCwwLDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjIzKTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLDAsMCwwLjE5KSwgMCA2cHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsMCwwLDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjIzKTtcclxufVxyXG5cclxuQG1peGluIG92ZXJsYXktaW5wdXQtc2hhZG93KCkge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yNCk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMTIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMTIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxufVxyXG5cclxuQG1peGluIG5vLXNoYWRvdygpIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBob3Zlci1lbGVtZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlckJnQ29sb3I7XHJcbiAgICBjb2xvcjogJGhvdmVyVGV4dENvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gaG92ZXItZWxlbWVudC1wcmltYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5TGlnaHRDb2xvcjtcclxuICAgIGNvbG9yOiAkaG92ZXJUZXh0Q29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XHJcbiAgb3BhY2l0eTogJG9wYWNpdHk7XHJcbiAgJG9wYWNpdHktaWU6ICRvcGFjaXR5ICogMTAwO1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uLW92ZXJyaWRlKCRpY29uKSB7ICAgIFxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRpY29uO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtaWNvbigkaWNvbikge1xyXG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAyNHB4OyAgLyogUHJlZmVycmVkIGljb24gc2l6ZSAqL1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDFlbTtcclxuICAgIGhlaWdodDogMWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuXHJcbiAgICAvKiBTdXBwb3J0IGZvciBhbGwgV2ViS2l0IGJyb3dzZXJzLiAqL1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAvKiBTdXBwb3J0IGZvciBTYWZhcmkgYW5kIENocm9tZS4gKi9cclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblxyXG4gICAgLyogU3VwcG9ydCBmb3IgRmlyZWZveC4gKi9cclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblxyXG4gICAgLyogU3VwcG9ydCBmb3IgSUUuICovXHJcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcclxuICAgIFxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRpY29uO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcm90YXRlKCRkZWcpIHsgICAgXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgkZGVnKTtcclxuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZyk7XHJcbn1cclxuXHJcbkBtaXhpbiBzY2FsZSgkZGVnKSB7ICAgIFxyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKCRkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkZGVnKTtcclxufVxyXG5cclxuQG1peGluIHJpcHBsZWl0ZW0oKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufSIsIi8qIHJvYm90by0zMDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3JjOiB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi0zMDAuZW90J119XCIpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSxcclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLTMwMC5lb3QnXX0jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi0zMDAud29mZjInXX1cIikgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLTMwMC53b2ZmJ119XCIpIGZvcm1hdCgnd29mZicpLCAvKiBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLTMwMC50dGYnXX1cIikgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xyXG4gICAgICAgdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmZvbnRzL3JvYm90by12MTUtbGF0aW4tMzAwLnN2ZyddfSNSb2JvdG9cIikgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by1yZWd1bGFyIC0gbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIHNyYzogdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmZvbnRzL3JvYm90by12MTUtbGF0aW4tcmVndWxhci5lb3QnXX1cIik7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cclxuICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi1yZWd1bGFyLmVvdCddfSNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLXJlZ3VsYXIud29mZjInXX1cIikgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLXJlZ3VsYXIud29mZiddfVwiKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi1yZWd1bGFyLnR0ZiddfVwiKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi1yZWd1bGFyLnN2ZyddfSNSb2JvdG9cIikgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xyXG59XHJcbi8qIHJvYm90by03MDAgLSBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgc3JjOiB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi03MDAuZW90J119XCIpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXHJcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi03MDAuZW90J119I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xyXG4gICAgICAgdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmZvbnRzL3JvYm90by12MTUtbGF0aW4tNzAwLndvZmYyJ119XCIpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi03MDAud29mZiddfVwiKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXHJcbiAgICAgICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvcm9ib3RvLXYxNS1sYXRpbi03MDAudHRmJ119XCIpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9yb2JvdG8tdjE1LWxhdGluLTcwMC5zdmcnXX0jUm9ib3RvXCIpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6Zm9udHMvTWF0ZXJpYWxJY29ucy1SZWd1bGFyLmVvdCddfVwiKTsgLyogRm9yIElFNi04ICovXHJcbiAgc3JjOiBsb2NhbCgnTWF0ZXJpYWwgSWNvbnMnKSxcclxuICAgICAgIGxvY2FsKCdNYXRlcmlhbEljb25zLVJlZ3VsYXInKSxcclxuICAgICAgIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDpmb250cy9NYXRlcmlhbEljb25zLVJlZ3VsYXIud29mZjInXX1cIikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci53b2ZmJ119XCIpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmZvbnRzL01hdGVyaWFsSWNvbnMtUmVndWxhci50dGYnXX1cIikgZm9ybWF0KCd0cnVldHlwZScpO1xyXG59IiwiLyogVXRpbHMgKi9cclxuLmNsZWFyZml4OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6XCIgXCI7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgY2xlYXI6Ym90aDtcclxufVxyXG5cclxuLmNhcmQge1xyXG4gICAgQGluY2x1ZGUgY29udGVudC1zaGFkb3coKTtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBcclxuICAgICYuY2FyZC13LXRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxufVxyXG5cclxuLm5vcGFkIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBcclxuICAgIC51aS1wYW5lbC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4udWktc2hhZG93LTEge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yNCk7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMTIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMTIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjI0KTtcclxufVxyXG5cclxuLnVpLXNoYWRvdy0yIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4xNiksIDAgM3B4IDZweCByZ2JhKDAsMCwwLDAuMjMpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwwLDAsMC4yMyk7XHJcbn1cclxuXHJcbi51aS1zaGFkb3ctMyB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwwLDAsMC4xOSksIDAgNnB4IDZweCByZ2JhKDAsMCwwLDAuMjMpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsMCwwLDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjIzKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwwLDAsMC4xOSksIDAgNnB4IDZweCByZ2JhKDAsMCwwLDAuMjMpO1xyXG59XHJcblxyXG4udWktc2hhZG93LTQge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsMCwwLDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsMCwwLDAuMjIpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsMCwwLDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsMCwwLDAuMjIpO1xyXG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgwLDAsMCwwLjI1KSwgMCAxMHB4IDEwcHggcmdiYSgwLDAsMCwwLjIyKTtcclxufVxyXG5cclxuLnVpLXNoYWRvdy01IHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxOXB4IDM4cHggcmdiYSgwLDAsMCwwLjMwKSwgMCAxNXB4IDEycHggcmdiYSgwLDAsMCwwLjIyKTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMCAxOXB4IDM4cHggcmdiYSgwLDAsMCwwLjMwKSwgMCAxNXB4IDEycHggcmdiYSgwLDAsMCwwLjIyKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTlweCAzOHB4IHJnYmEoMCwwLDAsMC4zMCksIDAgMTVweCAxMnB4IHJnYmEoMCwwLDAsMC4yMik7XHJcbn1cclxuXHJcbi51aS1nIHtcclxuICAgICYuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udWktcGFuZWxncmlkIHtcclxuICAgICYuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgLnVpLXBhbmVsZ3JpZC1jZWxsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVpLXNlbGVjdG9uZXJhZGlvLCAudWktc2VsZWN0bWFueWNoZWNrYm94ICB7XHJcbiAgICAmLmZvcm0tZ3JvdXAge1xyXG4gICAgICAgIC51aS1ncmlkLXJvdyA+IGRpdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiLmRhc2hib2FyZCB7XHJcblxyXG4gICAgLm92ZXJ2aWV3IHtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5vdmVydmlldy1jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5vdmVydmlldy10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5vdmVydmlldy1iYWRnZSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRTZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLm92ZXJ2aWV3LWRldGFpbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAub3ZlcnZpZXctZm9vdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29sb3Jib3gge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb2xvcmJveC1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDRweCAwIDEwcHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb2xvcmJveC1jb3VudCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb2xvcmJveC1jb3VudCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmNvbG9yYm94LTEgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJFN0QzMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGl2Omxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRDQUY1MDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmNvbG9yYm94LTIgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNzdCRDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGl2Omxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzQTlGNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmNvbG9yYm94LTMgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ1MjdBMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGl2Omxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3M0FCNztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmNvbG9yYm94LTQgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjk1QztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGl2Omxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnRhc2stbGlzdCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcclxuICAgICAgICA+IC51aS1wYW5lbCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktcGFuZWwtY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGlucHV0T3B0aW9uUGFkZGluZztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktY2hrYm94IHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnRhc2stbmFtZSB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dFNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbnRhY3QtZm9ybSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcclxuICAgICAgICAudWktcGFuZWwge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWctMTIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbnRhY3RzIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIFxyXG4gICAgICAgID4gLnVpLXBhbmVsIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1wYW5lbC1jb250ZW50e1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4ycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5lbWFpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRTZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmFjdGl2aXR5LWxpc3Qge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmRiZGJkO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgOXB4IDlweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5jb3VudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwM0E5RjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmRiZGJkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWktZy02OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLWctNjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0U2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC50aW1lbGluZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgXHJcbiAgICAgICAgPiAudWktZyB7XHJcbiAgICAgICAgICAgIC51aS1nLTMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JkYmRiZDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLWctOSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xyXG4gICAgICAgICAgICAgICAgLmV2ZW50LW93bmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmV2ZW50LXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dFNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmV2ZW50LWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgID4gLnVpLXBhbmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29udGVudC1zaGFkb3coKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgIFxyXG59IiwiLmxvZ2luLWJvZHkge1xyXG4gICAgYmFja2dyb3VuZDogIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDppbWFnZXMvbG9naW4vbG9naW4ucG5nJ119XCIpIHRvcCBsZWZ0IG5vLXJlcGVhdCAjZjdmN2Y3O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcbn1cclxuXHJcbmJvZHkubGF5b3V0LWNvbXBhY3Qge1xyXG4gICAgLmxvZ2luLXBhbmVsLmNhcmQge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmxvZ2luLXBhbmVsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzNTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ0MHB4O1xyXG4gICAgcGFkZGluZzogNTBweCAyMHB4O1xyXG4gICAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcclxuICAgIFxyXG4gICAgLnVpLWcge1xyXG4gICAgICAgIC51aS1nLTEyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCA0MHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubG9naW4tZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICR0ZXh0U2Vjb25kYXJ5Q29sb3I7XHJcbn1cclxuXHJcbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHsgXHJcbiAgICAubG9naW4tYm9keSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDppbWFnZXMvbG9naW4vbG9naW4yeC5wbmcnXX1cIikgdG9wIGxlZnQgbm8tcmVwZWF0ICNmN2Y3Zjc7IFxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAubG9naW4tcGFuZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NDBweDtcclxuICAgICAgICBtYXJnaW46IDEwMHB4IGF1dG8gMCBhdXRvO1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAubG9naW4tcGFuZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogNzVweCBhdXRvIDAgYXV0bztcclxuICAgICAgICBcclxuICAgICAgICAudWktZyB7XHJcbiAgICAgICAgICAgIC51aS1nLTEyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmV4Y2VwdGlvbi1ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICBcclxuICAgIC5leGNlcHRpb24tdHlwZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHggMTAwcHggMCAxMDBweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5leGNlcHRpb24tcGFuZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCA1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogLTEwJSBhdXRvIDAgYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHRTZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmV4Y2VwdGlvbi1kZXRhaWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMHB4IDEwMHB4IDBweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0U2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmVycm9yLXBhZ2Uge1xyXG4gICAgICAgIC5leGNlcHRpb24tdHlwZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNjJhMTA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmV4Y2VwdGlvbi1wYW5lbCB7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmNzlhODQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYubm90Zm91bmQtcGFnZSB7XHJcbiAgICAgICAgLmV4Y2VwdGlvbi10eXBlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTQlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5leGNlcHRpb24tcGFuZWwge1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOWZhOGRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmFjY2Vzc2RlbmllZC1wYWdlIHtcclxuICAgICAgICAuZXhjZXB0aW9uLXR5cGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTkxZTYzO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmV4Y2VwdGlvbi1wYW5lbCB7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmNDhmYjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQpIHtcclxuICAgIC5leGNlcHRpb24tYm9keSB7XHJcbiAgICAgICAgLmV4Y2VwdGlvbi1wYW5lbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XHJcbiAgICAuZXhjZXB0aW9uLWJvZHkge1xyXG4gICAgICAgIC5leGNlcHRpb24tcGFuZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIubGFuZGluZy13cmFwcGVyIHtcclxuICAgICAgICBcclxuICAgICNoZWFkZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6aW1hZ2VzL2xhbmRpbmcvbGFuZGluZy1oZWFkZXIucG5nJ119XCIpIHRvcCBsZWZ0IG5vLXJlcGVhdCAjZjdmN2Y3O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5oZWFkZXItdG9wIHtcclxuICAgICAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmltYWdlcy9sb2dvLnBuZyddfVwiKSB0b3AgbGVmdCBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICNtZW51IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICYubG1lbnUtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI21lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuaGVhZGVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogOTYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDc1cHggMHB4IDUwcHggMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICNmZWF0dXJlcyB7XHJcbiAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHRTZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWctMTIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyZW0gLjVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmZlYXR1cmUtaWNvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmOGZjO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcyk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5MWU2MztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICNwcm9tb3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6aW1hZ2VzL2xhbmRpbmcvcHJvbW90aW9uLnBuZyddfVwiKSB0b3AgbGVmdCBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWxnLTgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNTBweCAwIDAgMTUwcHg7XHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudWktbGctNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTUwcHggMCAtNTBweCAwO1xyXG4gICAgICAgICAgICAuY2FyZCB7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAyN3B4IDQuNXB4IHJnYmEoMTMsIDM2LCA2MiwgMC4xKTtcclxuICAgICAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDI3cHggNC41cHggcmdiYSgxMywgMzYsIDYyLCAwLjEpO1xyXG4gICAgICAgICAgICBcdGJveC1zaGFkb3c6IDAgMCAyN3B4IDQuNXB4IHJnYmEoMTMsIDM2LCA2MiwgMC4xKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRTZWNvbmRhcnlDb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAjcHJpY2luZyB7XHJcbiAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dFNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAucHJpY2luZy1ib3gge1xyXG4gICAgICAgICAgICAuY2FyZCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IFxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDsgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucHJpY2luZy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYubmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi5mZWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYudHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5wcmljaW5nLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5wcmljaW5nLWJhc2ljIHtcclxuICAgICAgICAgICAgICAgIC5wcmljaW5nLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzZjUxYjU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYucHJpY2luZy1zdGFuZGFyZCB7XHJcbiAgICAgICAgICAgICAgICAucHJpY2luZy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOTFlNjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZTkxZTYzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnByaWNpbmctcHJvZmVzc2lvbmFsIHtcclxuICAgICAgICAgICAgICAgIC5wcmljaW5nLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzYwN2Q4YjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2MDdkOGI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICN2aWRlbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuICAgICAgICBtaW4td2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC52aWRlby1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0U2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5mb290ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmZvb3Rlci1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDk2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwcHggNTBweCAwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0U2Vjb25kYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjNzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHRvcGJhci1icmVha3BvaW50KSB7XHJcbiAgICBcclxuICAgIC5sYW5kaW5nLXdyYXBwZXIge1xyXG4gICAgICAgICNoZWFkZXIge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5oZWFkZXItdG9wIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MjQyNDI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsMC4yNik7XHJcbiAgICAgICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsMC4yNik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMjYpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAjbWVudS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI21lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDhweCAxN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC41cztcclxuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuM3MpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3NTc1NzU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAzMHB4IDYwcHggMzBweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDc1cHggMHB4IDUwcHggMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICBcclxuICAgICAgICBcclxuICAgICAgICAjZmVhdHVyZXMsICNwcm9tb3Rpb24sICNwcmljaW5nLCAjdmlkZW8sIC5mb290ZXIgLmZvb3Rlci1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICAgICNwcm9tb3Rpb24ge1xyXG5cclxuICAgICAgICAgICAgLnVpLWxnLTgge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAjdmlkZW8geyAgICAgICAgICAgXHJcbiAgICAgICAgICAgLnZpZGVvLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIC52aWRlby1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgICAgLmZvb3RlciAge1xyXG4gICAgICAgICAgIC5mb290ZXItY29udGVudCB7XHJcbiAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkgeyBcclxuICAgIC5sYW5kaW5nLXdyYXBwZXIge1xyXG4gICAgICAgIC5oZWFkZXIge1xyXG4gICAgICAgICAgICAuaGVhZGVyLXRvcCB7XHJcbiAgICAgICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmltYWdlcy9sb2dvMngucG5nJ119XCIpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiYnJlYWtwb2ludFwiO1xyXG5cclxuaHRtbCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuIFxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodDtcclxuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBtYXJnaW46MDtcclxuXHJcbiAgICAmLm1haW4tYm9keSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuICAgIH1cclxuICAgIFxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGF5b3V0LW1hc2sge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk5NztcclxufVxyXG5cclxuLmxheW91dC13cmFwcGVyIHtcclxuICAgIFxyXG4gICAgLnRvcGJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMjYpO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjI2KTtcclxuICAgIFx0Ym94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjI2KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwcHggJHRvcGJhci1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC50b3BiYXItbGVmdCB7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkdG9wYmFyLWxlZnQtd2lkdGg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwcHggJHRvcGJhci1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0LXNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC50b3BiYXItcmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjbWVudS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMyMTIxMjE7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTQ1cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NhbGUoMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtaWNvbihcIlxcZTVkMlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICYubWVudS1idXR0b24tcm90YXRlIHtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAjdG9wYmFyLW1lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC41cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudG9wYmFyLWl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIC5zZWFyY2gtaXRlbSB7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDJweCAxcHggMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwIG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Zm9jdXMgfiBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6LTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LnVpLXN0YXRlLWZpbGxlZCB+IGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogJHRvcGJhci1sZWZ0LXdpZHRoO1xyXG4gICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgIHRvcDogJHRvcGJhci1oZWlnaHQtc21hbGw7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAzcHggMCA2cHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogM3B4IDAgNnB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggMCA2cHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWFyZ2luLWxlZnQgLjNzKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgID4gLm5hbm8geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IC5uYW5vLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgJi5tZW51LXNjcm9sbC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gdWw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5uYW5vLXBhbmUge1xyXG4gICAgICAgICAgICAgICAgLm5hbm8tc2xpZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhYWFhO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoLjMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgLnByb2ZpbGUge1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICAgICAgd2lkdGg6ICR0b3BiYXItbGVmdC13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6aW1hZ2VzL3Byb2ZpbGUtYmcucG5nJ119XCIpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkdG9wYmFyLWxlZnQtd2lkdGggMTQ1cHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjE2KTtcclxuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMTYpO1xyXG4gICAgICAgIFx0Ym94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjE2KTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5wcm9maWxlLWltYWdlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDppbWFnZXMvYXZhdGFyMngucG5nJ119XCIpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucHJvZmlsZS1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuM3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnByb2ZpbGUtZXhwYW5kZWQge1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKC0xODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICNwcm9maWxlLW1lbnUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDVkNTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgJi5sYXlvdXQtbWVudS1kYXJrIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtNZW51QmdDb2xvcjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5wcm9maWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIlxcI3tyZXNvdXJjZVsndWx0aW1hLWxheW91dDppbWFnZXMvcHJvZmlsZS1iZy1kYXJrLnBuZyddfVwiKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAucHJvZmlsZS1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgI3Byb2ZpbGUtbWVudSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmtNZW51SG92ZXJDb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdWwudWx0aW1hLW1lbnUgeyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrTWVudUhvdmVyQ29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUtbWVudWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnRUZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICAgICBcclxuICAgICYubWVudS1sYXlvdXQtb3ZlcmxheSB7XHJcbiAgICAgICAgLmxheW91dC1tZW51IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kdG9wYmFyLWxlZnQtd2lkdGggLSA3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubGF5b3V0LW1lbnUtb3ZlcmxheS1hY3RpdmUge1xyXG4gICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTk5OTk5O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIFxyXG4gICAgICAgIC50b3BiYXIge1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTk5OTg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICNtZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYXRlcmlhbC1pY29uKFwiXFxlNWQyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9ICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1tYWluIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWFyZ2luLWxlZnQgLjNzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnVsdGltYS1tZW51IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIC4zcywgYm9yZGVyIC4zcyk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzc1NzU3NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjNzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyQmdDb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuYWN0aXZlLW1lbnVpdGVtIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUoLTE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNnB4IDEwcHggMzJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAuNWVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5mb290ZXItdGV4dC1sZWZ0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5mb290ZXItdGV4dC1yaWdodCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dFNlY29uZGFyeUNvbG9yO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYubGF5b3V0LXJ0bCB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVsdGltYS1tZW51IHsgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHJ0bDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5sYXlvdXQtbWVudSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAwLjNzO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPiAubmFubyB7XHJcbiAgICAgICAgICAgICAgICA+IC5uYW5vLWNvbnRlbnQgeyAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LXNjcm9sbC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAudWx0aW1hLW1lbnUgeyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMzJweCA4cHggMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjRweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPiAubmFuby1wYW5lIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAwLjNzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLm1lbnUtbGF5b3V0LXN0YXRpYyB7XHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci1sZWZ0LXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmxheW91dC1tZW51LXN0YXRpYy1pbmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSR0b3BiYXItbGVmdC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmxheW91dC1tYWluIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnRvcGJhci1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICNtZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLm1lbnUtbGF5b3V0LW92ZXJsYXkge1xyXG4gICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSR0b3BiYXItbGVmdC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5sYXlvdXQtbWVudS1vdmVybGF5LWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAudG9wYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgI21lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubWVudS1sYXlvdXQtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmxheW91dC1tZW51IHtcclxuICAgICAgICAgICAgICAgID4gLm5hbm8ge1xyXG4gICAgICAgICAgICAgICAgICAgID4gLm5hbm8tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC51bHRpbWEtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudG9wYmFyLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC50b3BiYXItaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvcGJhci1iYWRnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaC1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNDNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgI21lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgbGVmdDogMTNweDtcclxuICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFqYXgtbG9hZGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIGNvbG9yOiAkYWNjZW50Q29sb3I7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQgKyAxcHgpIHtcclxuICAgIFxyXG4gICAgLmxheW91dC13cmFwcGVyIHtcclxuICAgICAgICBcclxuICAgICAgICAudG9wYmFyLWl0ZW1zIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDAgMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAudG9wYmFyLWl0ZW0tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC50b3BiYXItYmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnRDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnRUZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC50b3BiYXItaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjNzKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNlOGU4ZTg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLnByb2ZpbGUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2ZpbGUtaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmltYWdlcy9hdmF0YXIyeC5wbmcnXX1cIikgdG9wIGxlZnQgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM2cHggMzZweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdG9wYmFyLWxlZnQtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDhweCAxN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC41cztcclxuICAgICAgICAgICAgICAgICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZS10b3AtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnRvcGJhci1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5tZW51LWxheW91dC1zdGF0aWMge1xyXG4gICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHRvcGJhci1sZWZ0LXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmxheW91dC1tZW51LXN0YXRpYy1pbmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHRvcGJhci1sZWZ0LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1haW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFzayB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubWVudS1sYXlvdXQtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgIC50b3BiYXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbm8tc2hhZG93KCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50b3BiYXItbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBuby1zaGFkb3coKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnRvcGJhci1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgI21lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWVudSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlEYXJrQ29sb3I7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsMC4yNik7XHJcbiAgICAgICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsMC4yNik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLDAuMjYpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA+IC5uYW5vIHsgIFxyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5uYW5vLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLm1lbnUtc2Nyb2xsLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdWw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5uYW5vLXBhbmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB1bC51bHRpbWEtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdG9wYmFyLWxlZnQtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA4cHggMTdweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSksIDAgOHB4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA4cHggMTdweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDk2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLW1lbnVpdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUtbWVudWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudFRleHRDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50VGV4dENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5sYXlvdXQtbWVudS1kYXJrIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya01lbnVCZ0NvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdWwudWx0aW1hLW1lbnUgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtNZW51SG92ZXJDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLW1lbnVpdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudFRleHRDb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrTWVudUJnQ29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmxheW91dC1tYWluIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMTFweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFzayB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubGF5b3V0LXJ0bCB7XHJcbiAgICAgICAgICAgICYubWVudS1sYXlvdXQtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgID4gLm5hbm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5uYW5vLWNvbnRlbnQgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsLnVsdGltYS1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkdG9wYmFyLWJyZWFrcG9pbnQpIHtcclxuICAgIC5sYXlvdXQtd3JhcHBlciB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5tZW51LWxheW91dC1zdGF0aWMge1xyXG4gICAgICAgICAgICAudG9wYmFyIHtcclxuICAgICAgICAgICAgICAgIC50b3BiYXItcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgICNtZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYubWVudS1idXR0b24tcm90YXRlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJvdGF0ZSgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJHRvcGJhci1sZWZ0LXdpZHRoICsgMTVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5sYXlvdXQtbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmxheW91dC1tZW51LXN0YXRpYy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmxheW91dC1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5OTk5OTk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50b3BiYXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5OTk5ODtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLmxheW91dC1tYWluIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgIC50b3BiYXItcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgI3RvcGJhci1tZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50b3BiYXItaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IC41cztcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE5KSwgMCA4cHggMTdweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICAgICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDhweCAxN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDhweCAxN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b3BiYXItaXRlbS1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b3BiYXItYmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnRUZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiwgaW1nLCBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLXRvcC1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuc2VhcmNoLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGl2aWRlckNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRkaXZpZGVyQ29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dDpmb2N1cyB+IGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQudWktc3RhdGUtZmlsbGVkIH4gbGFiZWwgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeUNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYucHJvZmlsZS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9maWxlLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiXFwje3Jlc291cmNlWyd1bHRpbWEtbGF5b3V0OmltYWdlcy9hdmF0YXIyeC5wbmcnXX1cIikgdG9wIGxlZnQgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi50b3BiYXItaXRlbXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXlvdXQtcnRsIHtcclxuICAgICAgICAgICAgJi5tZW51LWxheW91dC1zdGF0aWMge1xyXG4gICAgICAgICAgICAgICAgLmxheW91dC1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSgkdG9wYmFyLWxlZnQtd2lkdGggKyAxNXB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1haW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudG9wYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgI21lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5sYXlvdXQtbWVudS1zdGF0aWMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC50b3BiYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubWVudS1sYXlvdXQtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgID4gLm5hbm8ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5uYW5vLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnVsdGltYS1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudG9wYmFyIHtcclxuICAgICAgICAgICAgICAgIC50b3BiYXItcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgICN0b3BiYXItbWVudS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDphdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvcGJhci1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJi50b3BiYXItaXRlbXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnNlYXJjaC1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvcGJhci1iYWRnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6YXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpLmFjdGl2ZS10b3AtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaS5wcm9maWxlLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByb2ZpbGUtaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7IFxyXG4gICAgLmxheW91dC13cmFwcGVyIHtcclxuICAgICAgICAudG9wYmFyIHsgICAgICAgIFxyXG4gICAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJcXCN7cmVzb3VyY2VbJ3VsdGltYS1sYXlvdXQ6aW1hZ2VzL2xvZ28yeC5wbmcnXX1cIikgdG9wIGxlZnQgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHtcclxuICAgIC5sYXlvdXQtd3JhcHBlciB7XHJcbiAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgIC50b3BiYXItcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgI3RvcGJhci1tZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5sYXlvdXQtcnRsIHtcclxuICAgICAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgICAgICAudG9wYmFyLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAjdG9wYmFyLW1lbnUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIYXMgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMoJHNldHRpbmcpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50LCAkc2V0dGluZykge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHNldHRpbmcpIHtcbiAgQGlmIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50LCAkc2V0dGluZyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQnJlYWtwb2ludC1TZXR0aW5ncywgJHNldHRpbmcpO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpZiAoc3RyLWluZGV4KCRzZXR0aW5nLCAnLScpIG9yIHN0ci1pbmRleCgkc2V0dGluZywgJ18nKSkgYW5kIHN0ci1pbmRleCgkc2V0dGluZywgJyAnKSA9PSBudWxsIHtcbiAgICBAd2FybiBcIldvcmRzIGluIEJyZWFrcG9pbnQgc2V0dGluZ3Mgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBzcGFjZXMsIG5vdCBkYXNoZXMgb3IgdW5kZXJzY29yZXMuIFBsZWFzZSByZXBsYWNlIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYmV0d2VlbiB3b3JkcyB3aXRoIHNwYWNlcy4gU2V0dGluZ3Mgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZCB1bnRpbCBjaGFuZ2VkLlwiO1xuICB9XG4gICRicmVha3BvaW50OiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnQsICgkc2V0dGluZzogJHZhbHVlKSkgIWdsb2JhbDtcbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICAkYnJlYWtwb2ludC1jaGFuZ2U6IGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJrcHQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5AbWl4aW4gYmtwdC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDEge1xuICAgICRzZXR0aW5nczogbnRoKCRzZXR0aW5ncywgMSk7XG4gIH1cblxuICBAZWFjaCAkc2V0dGluZyBpbiAkc2V0dGluZ3Mge1xuICAgICRicmVha3BvaW50OiBtYXAtcmVtb3ZlKCRicmVha3BvaW50LCAkc2V0dGluZykgIWdsb2JhbDtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICAkYnJlYWtwb2ludC1yZXNldDogYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MpO1xufVxuXG5AbWl4aW4gYmtwdC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgQnJlYWtwb2ludCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCk7XG4kcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgSGFzIENvbnRleHRcbi8vIFJldHVybnMgd2hldGhlciBvciBub3QgeW91IGFyZSBpbnNpZGUgYSBCcmVha3BvaW50IHF1ZXJ5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkge1xuICBAaWYgbGVuZ3RoKCRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEdldCBDb250ZXh0XG4vLyAkZmVhdHVyZTogSW5wdXQgZmVhdHVyZSB0byBnZXQgaXQncyBjdXJyZW50IE1RIGNvbnRleHQuIFJldHVybnMgZmFsc2UgaWYgbm8gY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQtY29udGV4dCgkZmVhdHVyZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpIHtcbiAgICAkZ2V0OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9mIG5vLXF1ZXJ5IGZyb20gZ2V0IHNpZGUgc28gL2ZhbHNlLyBwcmVwZW5kcyBhcmVuJ3QgcmV0dXJuZWRcbiAgICBAaWYgJGZlYXR1cmUgPT0gJ25vLXF1ZXJ5JyB7XG4gICAgICBAaWYgdHlwZS1vZigkZ2V0KSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkZ2V0KSA+IDEgYW5kIG50aCgkZ2V0LCAxKSA9PSBmYWxzZSB7XG4gICAgICAgICRnZXQ6IG50aCgkZ2V0LCBsZW5ndGgoJGdldCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRnZXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkgYW5kICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgQHJldHVybiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKSB7XG4gIEBpZiAkdmFsdWUgPT0gJ21vbm9jaHJvbWUnIHtcbiAgICAkZmVhdHVyZTogJ21vbm9jaHJvbWUnO1xuICB9XG5cbiAgJGN1cnJlbnQ6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICBAaWYgJGN1cnJlbnQgYW5kIGxlbmd0aCgkY3VycmVudCkgPT0gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZSBhbHJlYWR5IHF1ZXJpZWQgYWdhaW5zdCBgI3skZmVhdHVyZX1gLiBVbmV4cGVjdGVkIHRoaW5ncyBtYXkgaGFwcGVuIGlmIHlvdSBxdWVyeSBhZ2FpbnN0IHRoZSBzYW1lIGZlYXR1cmUgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgYGFuZGAgcXVlcnkuIEJyZWFrcG9pbnQgaXMgb3ZlcndyaXRpbmcgdGhlIGN1cnJlbnQgY29udGV4dCB3aXRoIGAjeyR2YWx1ZX1gXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJHYtaG9sZGVyOiAoKTtcbiAgICBAZm9yICRpIGZyb20gMSB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdi1ob2xkZXI6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBmb3IgJGkgZnJvbSAkbGVuZ3RoIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgLSAxIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gcmVzZXQgY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzIHtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29udmVydHMgdGhlIGlucHV0IHZhbHVlIHRvIEJhc2UgRU1zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKSB7XG4gICR2YWx1ZS11bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgLy8gV2lsbCBjb252ZXJ0IHJlbGF0aXZlIEVNcyBpbnRvIHJvb3QgRU1zLlxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykgYW5kIHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpID09ICdudW1iZXInIGFuZCAkdmFsdWUtdW5pdCA9PSAnZW0nIHtcbiAgICAkYmFzZS11bml0OiB1bml0KGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKTtcblxuICAgIEBpZiAkYmFzZS11bml0ID09ICdweCcgb3IgJGJhc2UtdW5pdCA9PSAnJScgb3IgJGJhc2UtdW5pdCA9PSAnZW0nIG9yICRiYXNlLXVuaXQgPT0gJ3B0JyB7XG4gICAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpIC8gYmFzZS1jb252ZXJzaW9uKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSAqIDFlbTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJyN7YnJlYWtwb2ludC1nZXQoXFwnYmFzZSBmb250IHNpemVcXCcpfSBpcyBub3Qgc2V0IGluIHZhbGlkIHVuaXRzIGZvciBmb250IHNpemUhJztcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSB7XG4gICR1bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgQGlmICR1bml0ID09ICdweCcge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTZweCAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnJScge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTAwJSAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnZW0nIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAncHQnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEycHQgKiAxZW07XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuLy8gICAgQHdhcm4gJ0V2ZXJ5dGhpbmcgaXMgdGVycmlibGUhIFdoYXQgaGF2ZSB5b3UgZG9uZT8hJztcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gaGF2ZSBhIG1pbi9tYXggcGFpclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1taW4tbWF4LWZlYXR1cmVzOiAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yLWluZGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1oZWlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS13aWR0aCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25vY2hyb21lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNvbHV0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbi1tYXgoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBzdHJpbmcgdmFsdWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc3RyaW5nLWZlYXR1cmVzOiAgJ29yaWVudGF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsdW1pbm9zaXR5JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmIGJyZWFrcG9pbnQtbWluLW1heCgkaXRlbSkge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtaW4tI3skaXRlbX0nIG9yICRmZWF0dXJlID09ICdtYXgtI3skaXRlbX0nIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGlzIGEgbWVkaWEgdHlwZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1tZWRpYS10eXBlczogICdhbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYnJhaWxsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdlbWJvc3NlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdoYW5kaGVsZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9qZWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmVlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzcGVlY2gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAndHR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R2JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJG1lZGlhIGluICRicmVha3BvaW50LW1lZGlhLXR5cGVzIHtcbiAgICBAaWYgKCRmZWF0dXJlID09ICRtZWRpYSkgb3IgKCRmZWF0dXJlID09ICdub3QgI3skbWVkaWF9Jykgb3IgKCRmZWF0dXJlID09ICdvbmx5ICN7JG1lZGlhfScpIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gc3RhbmQgYWxvbmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtcmVzb2x1dGlvbigkZmVhdHVyZSkge1xuICAkcmVzb2x1dGlvbnM6ICdkZXZpY2UtcGl4ZWwtcmF0aW8nLCAnZHByJztcblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIHtcbiAgICAkcmVzb2x1dGlvbnM6IGFwcGVuZCgkcmVzb2x1dGlvbnMsICdyZXNvbHV0aW9uJyk7XG4gIH1cblxuICBAZWFjaCAkcmVzbyBpbiAkcmVzb2x1dGlvbnMge1xuICAgIEBpZiBpbmRleCgkZmVhdHVyZSwgJHJlc28pIG9yIGluZGV4KCRmZWF0dXJlLCAnbWluLSN7JHJlc299Jykgb3IgaW5kZXgoJGZlYXR1cmUsICdtYXgtI3skcmVzb30nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBhcnNlciBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInBhcnNlcnMvcXVlcnlcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3NpbmdsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvZG91YmxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy90cmlwbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3Jlc29sdXRpb25cIjtcblxuJE1lbW8tRXhpc3RzOiBmdW5jdGlvbi1leGlzdHMobWVtby1nZXQpIGFuZCBmdW5jdGlvbi1leGlzdHMobWVtby1zZXQpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgRnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkY29udGV4dHMuLi4pIHtcbiAgJHJ1bjogdHJ1ZTtcbiAgJHJldHVybjogKCk7XG5cbiAgLy8gR3JhYiB0aGUgTWVtbyBPdXRwdXQgaWYgTWVtb2l6YXRpb24gY2FuIGJlIGEgdGhpbmdcbiAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgJHJldHVybjogbWVtby1nZXQoYnJlYWtwb2ludCwgYnJlYWtwb2ludCAkcXVlcnkgJGNvbnRleHRzKTtcblxuICAgIEBpZiAkcmV0dXJuICE9IG51bGwge1xuICAgICAgJHJ1bjogZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkTWVtby1FeGlzdHMgb3IgJHJ1biB7XG4gICAgLy8gSW50ZXJuYWwgVmFyaWFibGVzXG4gICAgJHF1ZXJ5LXN0cmluZzogJyc7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiBmYWxzZTtcbiAgICAkcmV0dXJuOiAoKTtcblxuICAgIC8vIFJlc2VydmUgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJGhvbGRlci1jb250ZXh0OiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyO1xuICAgICRob2xkZXItcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ7XG5cbiAgICAvLyBSZXNldCBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcblxuXG4gICAgLy8gVGVzdCB0byBzZWUgaWYgaXQncyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4gICAgJG9yLWxpc3Q6IGlmKGxpc3Qtc2VwYXJhdG9yKCRxdWVyeSkgPT0gJ2NvbW1hJywgdHJ1ZSwgZmFsc2UpO1xuXG5cbiAgICBAaWYgKCRvci1saXN0ID09IGZhbHNlIGFuZCBicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IGZhbHNlKSB7XG4gICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gICAgICAkbGFzdDogbnRoKCRxdWVyeSwgJGxlbmd0aCk7XG4gICAgICAkcXVlcnktZmFsbGJhY2s6IGJyZWFrcG9pbnQtbm8tcXVlcnkoJGxhc3QpO1xuXG4gICAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkge1xuICAgICAgICAkbGVuZ3RoOiAkbGVuZ3RoIC0gMTtcbiAgICAgIH1cblxuICAgICAgQGlmIChicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IHRydWUpIHtcbiAgICAgICAgJG1xOiAoKTtcblxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRtcTogYXBwZW5kKCRtcSwgbnRoKCRxdWVyeSwgJGkpLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRtcSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRxdWVyeS1zdHJpbmc6ICRxdWVyeS1zdHJpbmcgKyBpZigkaSA9PSAxLCAnJywgJywgJykgKyBicmVha3BvaW50LXBhcnNlKG50aCgkcXVlcnksICRpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkcmV0dXJuOiAoJ3F1ZXJ5JzogJHF1ZXJ5LXN0cmluZyxcbiAgICAgICAgJ2ZhbGxiYWNrJzogJHF1ZXJ5LWZhbGxiYWNrLFxuICAgICAgICAnY29udGV4dCBob2xkZXInOiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLFxuICAgICAgICAncXVlcnkgY291bnQnOiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50XG4gICAgKTtcbiAgICBAaWYgbGVuZ3RoKCRjb250ZXh0cykgPiAwIGFuZCBudGgoJGNvbnRleHRzLCAxKSAhPSBmYWxzZSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgICRjb250ZXh0LW1hcDogKCk7XG4gICAgICBAZWFjaCAkY29udGV4dCBpbiAkY29udGV4dHMge1xuICAgICAgICAkY29udGV4dC1tYXA6IG1hcC1tZXJnZSgkY29udGV4dC1tYXAsICgkY29udGV4dDogYnJlYWtwb2ludC1nZXQtY29udGV4dCgkY29udGV4dCkpKTtcbiAgICAgIH1cbiAgICAgICRyZXR1cm46IG1hcC1tZXJnZSgkcmV0dXJuLCAoY29udGV4dDogJGNvbnRleHQtbWFwKSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cbiAgICBAaWYgJE1lbW8tRXhpc3RzIHtcbiAgICAgICRob2xkZXI6IG1lbW8tc2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cywgJHJldHVybik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlbmVyYWwgQnJlYWtwb2ludCBQYXJzZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UoJHF1ZXJ5KSB7XG4gIC8vIEluY3JlYXNlIG51bWJlciBvZiAnYW5kJyBxdWVyaWVzXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgKyAxICFnbG9iYWw7XG5cbiAgLy8gU2V0IHVwIE1lZGlhIFR5cGVcbiAgJHF1ZXJ5LXByaW50OiAnJztcblxuICAkZm9yY2UtYWxsOiAoKGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpID09IHRydWUpIGFuZCAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSA9PSAnYWxsJykpO1xuICAkZW1wdHktbWVkaWE6IHRydWU7XG4gIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSAhPSAnYWxsJykge1xuICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICAkZW1wdHktbWVkaWE6IGZhbHNlO1xuICB9XG5cblxuICAkcXVlcnktcmVzb2x1dGlvbjogZmFsc2U7XG5cbiAgJHF1ZXJ5LWhvbGRlcjogYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpO1xuXG5cblxuICAvLyBMb29wIG92ZXIgZWFjaCBwYXJzZWQgb3V0IHF1ZXJ5IGFuZCB3cml0ZSBpdCB0byAkcXVlcnktcHJpbnRcbiAgJGZpcnN0OiB0cnVlO1xuXG4gIEBlYWNoICRmZWF0dXJlIGluICRxdWVyeS1ob2xkZXIge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkZmVhdHVyZSk7XG5cbiAgICAvLyBQYXJzZSBhIHNpbmdsZSBmZWF0dXJlXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgIC8vIEZlYXR1cmUgaXMgY3VycmVudGx5IGEgbGlzdCwgZ3JhYiB0aGUgYWN0dWFsIHZhbHVlXG4gICAgICAkZmVhdHVyZTogbnRoKCRmZWF0dXJlLCAxKTtcblxuICAgICAgLy8gTWVkaWEgVHlwZSBtdXN0IGJ5IGNvbnZlbnRpb24gYmUgdGhlIGZpcnN0IGl0ZW0sIHNvIGl0J3Mgc2FmZSB0byBmbGF0IG92ZXJyaWRlICRxdWVyeS1wcmludCwgd2hpY2ggcmlnaHQgbm93IHNob3VsZCBvbmx5IGJlIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGVcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1tZWRpYSgkZmVhdHVyZSkpIHtcbiAgICAgICAgQGlmICgkZm9yY2UtYWxsID09IHRydWUpIG9yICgkZmVhdHVyZSAhPSAnYWxsJykge1xuICAgICAgICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICAgICAgICRxdWVyeS1wcmludDogJGZlYXR1cmU7XG4gICAgICAgICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcblxuICAgICAgICAgIC8vIFNldCBDb250ZXh0XG4gICAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWVkaWEsICRxdWVyeS1wcmludCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIGRvdWJsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgQGlmIChicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpICE9IGZhbHNlKSB7XG4gICAgICAgICRxdWVyeS1yZXNvbHV0aW9uOiAkZmVhdHVyZTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogbnVsbDtcbiAgICAgICAgLy8gSWYgaXQncyBhIHN0cmluZy9udW1iZXIgcGFpcixcbiAgICAgICAgLy8gd2UgY2hlY2sgdG8gc2VlIGlmIG9uZSBpcyBhIHNpbmdsZS1zdHJpbmcgdmFsdWUsXG4gICAgICAgIC8vIHRoZW4gd2UgcGFyc2UgaXQgYXMgYSBub3JtYWwgZG91YmxlXG4gICAgICAgICRhbHBoYTogbnRoKCRmZWF0dXJlLCAxKTtcbiAgICAgICAgJGJldGE6IG50aCgkZmVhdHVyZSwgMik7XG4gICAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGFscGhhKSBvciBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGJldGEpIHtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYWxwaGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYmV0YSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIHRyaXBsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMykge1xuICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgKCRxdWVyeS1yZXNvbHV0aW9uICE9IGZhbHNlKSB7XG4gICAgJHF1ZXJ5LXByaW50OiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmVhdHVyZSB0aGF0J3MgYmVlbiBkZXRlY3RlZCBzbyBmYXIgYW5kIGFwcGVuZCAnZmFsc2UnIHRvIHRoZSB0aGUgdmFsdWUgbGlzdCB0byBpbmNyZW1lbnQgdGhlaXIgY291bnRlcnNcbiAgQGVhY2ggJGYsICR2IGluICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIge1xuICAgICR2LWhvbGRlcjogJHY7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2LWhvbGRlcik7XG4gICAgQGlmIGxlbmd0aCgkdi1ob2xkZXIpIDwgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgICAgQGlmICRmID09ICdtZWRpYScge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGY6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeS1wcmludDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXF1ZXJ5KCRxdWVyeSkge1xuICAvLyBQYXJzZSBmZWF0dXJlcyBvdXQgb2YgYW4gaW5kaXZpZHVhbCBxdWVyeVxuICAkZmVhdHVyZS1ob2xkZXI6ICgpO1xuICAkcXVlcnktaG9sZGVyOiAoKTtcbiAgJGxlbmd0aDogbGVuZ3RoKCRxdWVyeSk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgLy8gSWYgd2UndmUgZ290IGEgc3RyaW5nL251bWJlciwgbnVtYmVyL3N0cmluZywgY2hlY2sgdG8gc2VlIGlmIGl0J3MgYSB2YWxpZCBzdHJpbmcvbnVtYmVyIHBhaXIgb3IgdHdvIHNpbmdsZXNcbiAgICBAaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykgb3IgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuXG4gICAgICAkbnVtYmVyOiAnJztcbiAgICAgICR2YWx1ZTogJyc7XG5cbiAgICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyB7XG4gICAgICAgICRudW1iZXI6IG50aCgkcXVlcnksIDIpO1xuICAgICAgICAkdmFsdWU6IG50aCgkcXVlcnksIDEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdGhlIHN0cmluZyB2YWx1ZSBjYW4gYmUgYSBzaW5nbGUgdmFsdWUsIGNoZWNrIHRvIHNlZSBpZiB0aGUgbnVtYmVyIHBhc3NlZCBpbiBpcyBhIHZhbGlkIGlucHV0IGZvciBzYWlkIHNpbmdsZSB2YWx1ZS4gRm9ydHVuYXRlbHksIGFsbCBjdXJyZW50IHNpbmdsZS12YWx1ZSBvcHRpb25zIG9ubHkgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMsIHNvIHRoaXMgY2hlY2sgaXMgZWFzeS5cbiAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJHZhbHVlKSB7XG4gICAgICAgIEBpZiB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJHZhbHVlLCAkbnVtYmVyLCBzcGFjZSk7XG4gICAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gSWYgdGhlIHN0cmluZyBpcyBhIG1lZGlhIHR5cGUsIHNwbGl0IHRoZSBxdWVyeVxuICAgICAgQGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEoJHZhbHVlKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAyKSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIElmIGl0J3Mgbm90IGEgc2luZ2xlIGZlYXR1cmUsIHdlJ3JlIGp1c3QgZ29pbmcgdG8gYXNzdW1lIGl0J3MgYSBwcm9wZXIgc3RyaW5nL3ZhbHVlIHBhaXIsIGFuZCByb2xsIHdpdGggaXQuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cblxuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggbnVtYmVycywgd2UgYXNzdW1lIGl0J3MgYSBkb3VibGUgYW5kIHJvbGwgd2l0aCB0aGF0XG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykge1xuICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgfVxuICAgIC8vIElmIHRoZXkncmUgYm90aCBzdHJpbmdzIGFuZCBuZWl0aGVyIGFyZSBzaW5nbGVzLCB3ZSByb2xsIHdpdGggdGhhdC5cbiAgICBAZWxzZSBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMikpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDMge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCB0aHJlZSBpdGVtcyBhbmQgbm9uZSBpcyBhIGxpc3QsIHdlIGNoZWNrIHRvIHNlZVxuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpICE9ICdsaXN0JyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAzKSkgIT0gJ2xpc3QnIHtcbiAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGl0ZW1zIGFyZSBzaW5nbGUgc3RyaW5nIHZhbHVlcyBhbmQgbm9uZSBvZiB0aGUgdmFsdWVzIGFyZSBtZWRpYSB2YWx1ZXMsIHdlJ3JlIGdvb2QuXG4gICAgICBAaWYgKG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAzKSkpIGFuZCAgKChub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMykpKSkge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJGZlYXR1cmUtaG9sZGVyLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIGxldCdzIGNoZWNrIHRvIHNlZSBpZiB0aGUgZmlyc3QgaXRlbSBpcyBhIG1lZGlhIHR5cGVcbiAgICAgIEBlbHNlIGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDEpKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMiksIG50aCgkcXVlcnksIDMpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBpdGVtLCBvciBpZiBpdCdzIG5vdCBhIHNwZWNpYWwgY2FzZSBkb3VibGUgb3IgdHJpcGxlLCB3ZSBjYW4gc2ltcGx5IHJldHVybiB0aGUgcXVlcnkuXG4gIEByZXR1cm4gJHF1ZXJ5O1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJzaW5nbGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBmZWF0dXJlIHRoYXQgY2FuIHN0YW5kIGFsb25lLCB3ZSBsZXQgaXRcbiAgQGlmIChicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpKSB7XG4gICAgJHBhcnNlZDogJGZlYXR1cmU7XG4gICAgLy8gU2V0IENvbnRleHRcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJGZlYXR1cmUpO1xuICB9XG4gIC8vIElmIGl0J3Mgbm90IGEgc3RhbmQgYWxvbmUgZmVhdHVyZSwgd2UgcGFzcyBpdCBvZmYgdG8gdGhlIGRlZmF1bHQgaGFuZGxlci5cbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSk7XG4gIH1cblxuICBAcmV0dXJuICRsZWFkZXIgKyAnKCcgKyAkcGFyc2VkICsgJyknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSkge1xuICAkZGVmYXVsdDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRkZWZhdWx0LCAkZmVhdHVyZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkgYW5kICh0eXBlLW9mKCRmZWF0dXJlKSA9PSAnbnVtYmVyJykge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAje2JyZWFrcG9pbnQtdG8tYmFzZS1lbSgkZmVhdHVyZSl9JztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAnI3skZGVmYXVsdH06ICN7JGZlYXR1cmV9JztcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdC1wYWlyXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RvdWJsZS1zdHJpbmdcIjtcbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgJGZpcnN0OiBudGgoJGZlYXR1cmUsIDEpO1xuICAkc2Vjb25kOiBudGgoJGZlYXR1cmUsIDIpO1xuXG4gIC8vIElmIHdlJ3ZlIGdvdCB0d28gbnVtYmVycywgd2Uga25vdyB3ZSBuZWVkIHRvIHVzZSB0aGUgZGVmYXVsdCBwYWlyIGJlY2F1c2UgdGhlcmUgYXJlIG5vIG1lZGlhIHF1ZXJpZXMgdGhhdCBoYXMgYSBtZWRpYSBmZWF0dXJlIHRoYXQgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZigkc2Vjb25kKSA9PSAnbnVtYmVyJyB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiB0aGV5IGFyZSBib3RoIHN0cmluZ3MsIHdlIHNlbmQgaXQgdGhyb3VnaCB0aGUgc3RyaW5nIHBhcnNlclxuICBAZWxzZSBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ3N0cmluZycge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpO1xuICB9XG4gIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICBAZWxzZSB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtZGVmYXVsdCgkZmlyc3QsICRzZWNvbmQpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJHBhcnNlZDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQtcGFpcigkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IHBhaXInKTtcbiAgJG1pbjogJyc7XG4gICRtYXg6ICcnO1xuXG4gIC8vIFNvcnQgaW50byBtaW4gYW5kIG1heFxuICAkbWluOiBtaW4oJGZpcnN0LCAkc2Vjb25kKTtcbiAgJG1heDogbWF4KCRmaXJzdCwgJHNlY29uZCk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWluLSN7JGRlZmF1bHR9LCAkbWluKTtcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWF4LSN7JGRlZmF1bHR9LCAkbWF4KTtcblxuICAvLyBNYWtlIHRoZW0gRU1zIGlmIG5lZWQgYmVcbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICRtaW46IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWluKTtcbiAgICAkbWF4OiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1heCk7XG4gIH1cblxuICBAcmV0dXJuICcobWluLSN7JGRlZmF1bHR9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRkZWZhdWx0fTogI3skbWF4fSknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGZlYXR1cmU6ICcnO1xuICAkdmFsdWU6ICcnO1xuXG4gIC8vIFRlc3QgdG8gc2VlIHdoaWNoIGlzIHRoZSBmZWF0dXJlIGFuZCB3aGljaCBpcyB0aGUgdmFsdWVcbiAgQGlmIChicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmlyc3QpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJHNlY29uZCkgPT0gdHJ1ZSkge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIk5laXRoZXIgI3skZmlyc3R9IG5vciAjeyRzZWNvbmR9IGlzIGEgdmFsaWQgbWVkaWEgcXVlcnkgbmFtZS5cIjtcbiAgfVxuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpO1xuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSc7XG59IiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICBAaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJGZlYXR1cmU6ICRzZWNvbmQ7XG4gICAgJHZhbHVlOiAkZmlyc3Q7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJHZhbHVlOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKTtcbiAgfVxuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSdcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwidHJpcGxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG5cbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gc2VwYXJhdGUgdGhlIHN0cmluZyBmZWF0dXJlcyBmcm9tIHRoZSB2YWx1ZSBudW1iZXJzXG4gICRzdHJpbmc6IG51bGw7XG4gICRudW1iZXJzOiBudWxsO1xuICBAZWFjaCAkdmFsIGluICRmZWF0dXJlIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSBzdHJpbmcge1xuICAgICAgJHN0cmluZzogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHR5cGUtb2YoJG51bWJlcnMpID09ICdudWxsJyB7XG4gICAgICAgICRudW1iZXJzOiAkdmFsO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyczogYXBwZW5kKCRudW1iZXJzLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRzdHJpbmcsIG50aCgkbnVtYmVycywgMSksIG50aCgkbnVtYmVycywgMikpO1xuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG5cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRmZWF0dXJlLCAkZmlyc3QsICRzZWNvbmQpIHtcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRmZWF0dXJlfSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRmZWF0dXJlfSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRmZWF0dXJlfTogI3skbWlufSkgYW5kIChtYXgtI3skZmVhdHVyZX06ICN7JG1heH0pJztcbn1cbiIsIkBpbXBvcnQgXCJyZXNvbHV0aW9uL3Jlc29sdXRpb25cIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtYnVpbGQtcmVzb2x1dGlvbigkcXVlcnktcHJpbnQsICRxdWVyeS1yZXNvbHV0aW9uLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSBhbmQgJHF1ZXJ5LXJlc29sdXRpb24ge1xuICAgICRyZXNvbHV0aW9uczogYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRxdWVyeS1yZXNvbHV0aW9uKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHJlc29sdXRpb25zKTtcbiAgICAkcXVlcnktaG9sZGVyOiAnJztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAkcXVlcnk6ICcjeyRxdWVyeS1wcmludH0gI3skbGVhZGVyfSN7bnRoKCRyZXNvbHV0aW9ucywgJGkpfSc7XG4gICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICRxdWVyeTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogJyN7JHF1ZXJ5LWhvbGRlcn0sICN7JHF1ZXJ5fSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZXR1cm4gd2l0aCBhdHRhY2hlZCByZXNvbHV0aW9uXG4gICAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LW1ha2UtcmVzb2x1dGlvbnMoJHJlc29sdXRpb24pIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9uKTtcblxuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICAkZmVhdHVyZTogJyc7XG4gICAgJHZhbHVlOiAnJztcblxuICAgIC8vIEZpbmQgd2hpY2ggaXMgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YobnRoKCRyZXNvbHV0aW9uLCAxKSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDEpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkdmFsdWU6IG50aCgkcmVzb2x1dGlvbiwgMik7XG4gICAgfVxuXG4gICAgLy8gRGV0ZXJtaW5lIG1pbi9tYXgvc3RhbmRhcmRcbiAgICBAaWYgaW5kZXgoJHJlc29sdXRpb24sICdtaW4tcmVzb2x1dGlvbicpIHtcbiAgICAgICRmZWF0dXJlOiAnbWluLSc7XG4gICAgfVxuICAgIEBlbHNlIGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWF4LXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21heC0nO1xuICAgIH1cblxuICAgICRzdGFuZGFyZDogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlfSknO1xuXG4gICAgLy8gSWYgd2UncmUgbm90IGRlYWxpbmcgd2l0aCBkcHB4LFxuICAgIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ2RwcHgnIHtcbiAgICAgICRiYXNlOiA5NmRwaTtcbiAgICAgIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2RwY20nIHtcbiAgICAgICAgJGJhc2U6IDI0My44NGRwY207XG4gICAgICB9XG4gICAgICAvLyBXcml0ZSBvdXQgZmVhdHVyZSB0ZXN0c1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0OiAnJztcbiAgICAgICRtb3o6ICcnO1xuICAgICAgJHdlYmtpdDogJygtd2Via2l0LSN7JGZlYXR1cmV9ZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJG1vejogJygjeyRmZWF0dXJlfS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJGZhbGxiYWNrOiAnKCN7JGZlYXR1cmV9cmVzb2x1dGlvbjogI3skdmFsdWUgLyAxZHBweCAqIDk2ZHBpfSknO1xuICAgICAgLy8gQXBwZW5kIHRvIG91dHB1dFxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRzdGFuZGFyZCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICR3ZWJraXQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkbW96LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJGZhbGxiYWNrLCBzcGFjZSk7XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1uby1xdWVyeSgkcXVlcnkpIHtcbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSAnbGlzdCcge1xuICAgICRrZXl3b3JkOiBudGgoJHF1ZXJ5LCAxKTtcblxuICAgIEBpZiB0eXBlLW9mKCRrZXl3b3JkKSA9PSAnc3RyaW5nJyBhbmQgKCRrZXl3b3JkID09ICduby1xdWVyeScgb3IgJGtleXdvcmQgPT0gJ25vIHF1ZXJ5JyBvciAka2V5d29yZCA9PSAnZmFsbGJhY2snKSB7XG4gICAgICBAcmV0dXJuIG50aCgkcXVlcnksIDIpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IHRoZSBCcmVha3BvaW50cyB2YXJpYWJsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJEJSRUFLUE9JTlRTOiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXNwb25kLXRvIEFQSSBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcmVzcG9uZC10bygkY29udGV4dCwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPiAwIGFuZCBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICBAd2FybiBcIkluIG9yZGVyIHRvIGF2b2lkIHZhcmlhYmxlIG5hbWVzcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBhZGQgYnJlYWtwb2ludHMgZm9yIHJlc3BvbmQtdG8uIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludCgpYCB0byBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoKWAuIFRoZSBgYWRkLWJyZWFrcG9pbnQoKWAgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCI7XG4gICAgJEJSRUFLUE9JTlRTOiAkYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgICAkYnJlYWtwb2ludHM6ICgpICFnbG9iYWw7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkQlJFQUtQT0lOVFMpICE9ICdtYXAnIHtcbiAgICAvLyBKdXN0IGluIGNhc2Ugc29tZW9uZSB3cml0ZXMgZ2liYmVyaXNoIHRvIHRoZSAkYnJlYWtwb2ludHMgdmFyaWFibGUuXG4gICAgQHdhcm4gXCJZb3VyIGJyZWFrcG9pbnRzIGFyZW4ndCBhIG1hcCEgYHJlc3BvbmQtdG9gIGV4cGVjdHMgYSBtYXAuIFBsZWFzZSBjaGVjayB0aGUgdmFsdWUgb2YgJEJSRUFLUE9JTlRTIHZhcmlhYmxlLlwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1hcC1nZXQoJEJSRUFLUE9JTlRTLCAkY29udGV4dCksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQHdhcm4gXCJgI3skY29udGV4dH1gIGlzbid0IGEgZGVmaW5lZCBicmVha3BvaW50ISBQbGVhc2UgYWRkIGl0IHVzaW5nIGAkYnJlYWtwb2ludHM6IGFkZC1icmVha3BvaW50KGAjeyRjb250ZXh0fWAsICR2YWx1ZSk7YFwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIllvdSBoYXZlbid0IGNyZWF0ZWQgYW55IGJyZWFrcG9pbnRzIHlldCEgTWFrZSBzb21lIGFscmVhZHkhIGBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQpYFwiO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkIEJyZWFrcG9pbnQgdG8gQnJlYWtwb2ludHNcbi8vIFRPRE86IFJlbW92ZSBmdW5jdGlvbiBpbiBuZXh0IHJlbGVhc2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID09IDAge1xuICAgIEByZXR1cm4gJG91dHB1dDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICBAcmV0dXJuICRicmVha3BvaW50cztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICBAcmV0dXJuIG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICRvdXRwdXQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgJEJSRUFLUE9JTlRTOiAkb3V0cHV0ICFnbG9iYWw7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgJEJSRUFLUE9JTlRTOiAkQlJFQUtQT0lOVFMgIWdsb2JhbDtcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICAkQlJFQUtQT0lOVFM6IG1hcC1tZXJnZSgkQlJFQUtQT0lOVFMsICRvdXRwdXQpICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludCgkbmFtZTogZmFsc2UpIHtcbiAgQGlmICRuYW1lID09IGZhbHNlIHtcbiAgICBAcmV0dXJuICRCUkVBS1BPSU5UUztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJG5hbWUpO1xuICB9XG59XG4iLCJAbWl4aW4gbGVnYWN5LXNldHRpbmdzLXdhcm5pbmcge1xuICAkbGVnYWN5VmFyczogKFxuICAgICdkZWZhdWx0LW1lZGlhJzogJ2RlZmF1bHQgbWVkaWEnLFxuICAgICdkZWZhdWx0LWZlYXR1cmUnOiAnZGVmYXVsdCBmZWF0dXJlJyxcbiAgICAnZm9yY2UtbWVkaWEtYWxsJzogJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJyxcbiAgICAndG8tZW1zJzogJ3RvIGVtcycsXG4gICAgJ3Jlc29sdXRpb25zJzogJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsXG4gICAgJ25vLXF1ZXJpZXMnOiAnbm8gcXVlcmllcycsXG4gICAgJ25vLXF1ZXJ5LWZhbGxiYWNrcyc6ICdubyBxdWVyeSBmYWxsYmFja3MnLFxuICAgICdiYXNlLWZvbnQtc2l6ZSc6ICdiYXNlIGZvbnQgc2l6ZScsXG4gICAgJ2xlZ2FjeS1zeW50YXgnOiAnbGVnYWN5IHN5bnRheCdcbiAgKTtcblxuICBAZWFjaCAkbGVnYWN5LCAkbmV3IGluICRsZWdhY3lWYXJzIHtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC0nICsgJGxlZ2FjeSkge1xuICAgICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1zcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBjaGFuZ2Ugc2V0dGluZ3MgZm9yIEJyZWFrcG9pbnQuIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnQtI3skbGVnYWN5fToge3tzZXR0aW5nfX1gIHRvIGBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnI3skbmV3fScsIHt7c2V0dGluZ319KWAuIFZhcmlhYmxlIHNldHRpbmdzLCBhcyB3ZWxsIGFzIHRoaXMgd2FybmluZyB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgIH1cbiAgfTtcblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSGFuZCBjb3JyZWN0IGVhY2ggc2V0dGluZ1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IG1lZGlhJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IGZlYXR1cmUnLCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCcpIGFuZCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwgIT0gYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScsICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtdG8tZW1zJykgYW5kICRicmVha3BvaW50LXRvLWVtcyAhPSBicmVha3BvaW50LWdldCgndG8gZW1zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCAkYnJlYWtwb2ludC10by1lbXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXJlc29sdXRpb25zJykgYW5kICRicmVha3BvaW50LXJlc29sdXRpb25zICE9IGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsICRicmVha3BvaW50LXJlc29sdXRpb25zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyaWVzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJpZXMgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJpZXMnLCAkYnJlYWtwb2ludC1uby1xdWVyaWVzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycsICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtYmFzZS1mb250LXNpemUnKSBhbmQgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUgIT0gYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdiYXNlIGZvbnQgc2l6ZScsICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4JykgYW5kICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXggIT0gYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2xlZ2FjeSBzeW50YXgnLCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4KTtcbiAgfVxufSIsImJvZHkge1xyXG4gICAgJi5sYXlvdXQtY29tcGFjdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYy1mb250U2l6ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGMtbGluZUhlaWdodDtcclxuICAgICAgICBcclxuICAgICAgICAubGF5b3V0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAudWx0aW1hLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLW1lbnVGb250U2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHggOHB4IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1tZW51Rm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5NnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAubGF5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgI3Byb2ZpbGUtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gLm5hbm8gPiAubmFuby1jb250ZW50ID4gdWw6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjLWNvbnRlbnRGb250U2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXdpZGdldC1oZWFkZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjLWhlYWRlckZvbnRTaXplO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNhcmQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5jYXJkLXctdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjJweCAwO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1wYW5lbCB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1wYW5lbC10aXRsZWJhciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktcGFuZWwtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYy1saW5lSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktcGFuZWwtdGl0bGViYXItaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1wYW5lbC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWNvbnRlbnRQYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktcGFuZWwtZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYudWktcGFuZWwtY29sbGFwc2VkLWgge1xyXG4gICAgICAgICAgICAgICAgLnVpLXBhbmVsLXRpdGxlYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAudWktYnV0dG9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYy1idXR0b25Gb250U2l6ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktYnV0dG9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xICogJGMtaWNvbkZvbnRTaXplIC8gMjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEgKiAkYy1pY29uRm9udFNpemUgLyAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLWJ1dHRvbi10ZXh0LWljb24tbGVmdCxcclxuICAgICAgICAgICAgJi51aS1idXR0b24tdGV4dC1pY29uLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC51aS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xICogJGMtaWNvbkZvbnRTaXplIC8gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi51aS1idXR0b24tdGV4dC1pY29uLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLWJ1dHRvbi10ZXh0LWljb24tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktc3BsaXRidXR0b24ge1xyXG4gICAgICAgICAgICAudWktc3BsaXRidXR0b24tbWVudWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIC51aS1pbnB1dGZpZWxkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pbnB1dEZvbnRTaXplO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAubWQtaW5wdXRmaWVsZCB7XHJcbiAgICAgICAgICAgIC51aS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICYudWktbWVzc2FnZS1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1lcnJvck1lc3NhZ2VGb250U2l6ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnVpLW1lc3NhZ2UtZXJyb3ItaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZXJyb3JNZXNzYWdlSWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktY2hrYm94IHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLWNoa2JveC1ib3ggeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktY2hrYm94LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1yYWRpb2J1dHRvbiB7XHJcbiAgICAgICAgICAgIC51aS1yYWRpb2J1dHRvbi1ib3gge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktcmFkaW9idXR0b24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1waWNrbGlzdCB7XHJcbiAgICAgICAgICAgIC51aS1waWNrbGlzdC1jYXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRIZWFkZXJGb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0SGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkudWktcGlja2xpc3QtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWlucHV0T3B0aW9uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dE9wdGlvblBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1waWNrbGlzdC1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAmLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktcGlja2xpc3QtZmlsdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dEhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYudWktcGlja2xpc3QtcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgICAgICAudWktcGlja2xpc3QtYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnVpLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYudWktYnV0dG9uLWljb24tb25seSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLW9yZGVybGlzdCB7XHJcbiAgICAgICAgICAgIC51aS1vcmRlcmxpc3QtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWlucHV0SGVhZGVyRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dEhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1vcmRlcmxpc3QtbGlzdCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGkudWktb3JkZXJsaXN0LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRPcHRpb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dE9wdGlvblBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1vcmRlcmxpc3QtY29udHJvbHMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAmLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXNlbGVjdG9uZWxpc3Rib3ggeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktc2VsZWN0bGlzdGJveC1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRPcHRpb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0T3B0aW9uUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXNlbGVjdGxpc3Rib3gtZmlsdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dEhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLW11bHRpc2VsZWN0bGlzdGJveCB7XHJcbiAgICAgICAgICAgIC51aS1tdWx0aXNlbGVjdGxpc3Rib3gtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRIZWFkZXJGb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0SGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkudWktbXVsdGlzZWxlY3RsaXN0Ym94LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pbnB1dE9wdGlvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaW5wdXRPcHRpb25QYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1wYWdpbmF0b3Ige1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkYy1kdFBhZGRpbmc7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktcGFnaW5hdG9yLW5leHQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtaWNvbihcIlxcZTQwOVwiKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWktcGFnaW5hdG9yLWxhc3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtaWNvbihcIlxcZTVkZFwiKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWktcGFnaW5hdG9yLXByZXYge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtaWNvbihcIlxcZTQwOFwiKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudWktcGFnaW5hdG9yLWZpcnN0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hdGVyaWFsLWljb24oXCJcXGU1ZGNcIik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXBhZ2luYXRvci1wYWdlcyB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktZGF0YWdyaWQge1xyXG4gICAgICAgICAgICAudWktZGF0YWdyaWQtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWRhdGFsaXN0IHtcclxuICAgICAgICAgICAgLnVpLWRhdGFsaXN0LWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1kYXRhdGFibGUge1xyXG4gICAgICAgICAgICAudWktZGF0YXRhYmxlLWhlYWRlcixcclxuICAgICAgICAgICAgLnVpLWRhdGF0YWJsZS1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXBhZ2luYXRvciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtZHRQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC51aS1zb3J0YWJsZS1jb2x1bW4taWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTRweCAwIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYudWktaWNvbi1jYXJhdC0yLW4tcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0Zm9vdCB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtZHRQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0Ym9keSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdHIudWktd2lkZ2V0LWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtZHRQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gLnVpLWljb24tYXJyb3d0aGljay0xLXMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLWRhdGF0YWJsZS1zY3JvbGxhYmxlIHtcclxuICAgICAgICAgICAgICAgIC51aS1kYXRhdGFibGUtc2Nyb2xsYWJsZS10aGVhZGNsb25lIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWRyYWdnYWJsZS1kcmFnZ2luZy51aS1zdGF0ZS1kZWZhdWx0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogJGMtaGVhZGVyUGFkZGluZyAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICAudWktY2Fyb3VzZWwtaGVhZGVye1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWhlYWRlckZvbnRTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktY2Fyb3VzZWwtZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWhlYWRlckZvbnRTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgLnVpLWRpYWxvZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1kaWFsb2ctdGl0bGViYXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemUgKyAyO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktZGlhbG9nLXRpdGxlYmFyLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLWRpYWxvZy1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWNvbnRlbnRQYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1hdXRvY29tcGxldGUtcGFuZWwgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktYXV0b2NvbXBsZXRlLWxpc3QgeyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1hdXRvY29tcGxldGUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pbnB1dE9wdGlvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0T3B0aW9uUGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWF1dG9jb21wbGV0ZS1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaW5wdXRPcHRpb25QYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1hdXRvY29tcGxldGUge1xyXG4gICAgICAgICAgICAudWktYXV0b2NvbXBsZXRlLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLnVpLWJ1dHRvbi51aS1idXR0b24taWNvbi1vbmx5IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBuby1zaGFkb3coKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYudWktYXV0b2NvbXBsZXRlLW11bHRpcGxlIHtcclxuICAgICAgICAgICAgICAgIC51aS1hdXRvY29tcGxldGUtaW5wdXQtdG9rZW4geyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktYXV0b2NvbXBsZXRlLXRva2VuIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC51aS1hdXRvY29tcGxldGUtdG9rZW4taWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktc2VsZWN0b25lbWVudSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1zZWxlY3RvbmVtZW51LXRyaWdnZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1zZWxlY3RvbmVtZW51LWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAmLnVpLWlucHV0ZmllbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXNlbGVjdG9uZW1lbnUtcGFuZWwge1xyXG4gICAgICAgICAgICAudWktc2VsZWN0b25lbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRPcHRpb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0T3B0aW9uUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXNlbGVjdG9uZW1lbnUtaXRlbS1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAudWktc2VsZWN0Y2hlY2tib3htZW51IHsgICBcclxuICAgICAgICAgICAgLnVpLXNlbGVjdGNoZWNrYm94bWVudS1sYWJlbC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLnVpLXNlbGVjdGNoZWNrYm94bWVudS1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1zZWxlY3RjaGVja2JveG1lbnUtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1zZWxlY3RjaGVja2JveG1lbnUtcGFuZWwgeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1zZWxlY3RjaGVja2JveG1lbnUtaGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0SGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXNlbGVjdGNoZWNrYm94bWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRPcHRpb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0T3B0aW9uUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAja2V5cGFkLWRpdiB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5rZXlwYWQta2V5IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1zZWxlY3RtYW55bWVudSB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1zZWxlY3RsaXN0Ym94LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pbnB1dE9wdGlvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaW5wdXRPcHRpb25QYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktc2VsZWN0bGlzdGJveC1maWx0ZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWlucHV0SGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1zcGlubmVyIHtcclxuICAgICAgICAgICAgLnVpLXNwaW5uZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXNwaW5uZXItdXAge1xyXG4gICAgICAgICAgICAgICAgLnVpLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktc3Bpbm5lci1kb3duIHtcclxuICAgICAgICAgICAgICAgIC51aS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktZmx1aWQge1xyXG4gICAgICAgICAgICAudWktc3Bpbm5lciB7XHJcbiAgICAgICAgICAgICAgICAudWktc3Bpbm5lci1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLXNwaW5uZXItaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWNhbGVuZGFyIHtcclxuICAgICAgICAgICAgLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktZGF0ZXBpY2tlciB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dEhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWlucHV0SGVhZGVyRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktZGF0ZXBpY2tlci1wcmV2IHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQgeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktdGltZXBpY2tlci1kaXYgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMTZweCAwIDQwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBkdCB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYudWlfdHBpY2tlcl90aW1lX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi51aV90cGlja2VyX2hvdXJfbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnVpX3RwaWNrZXJfbWludXRlX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi51aV90cGlja2VyX3NlY29uZF9sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgZGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktZmx1aWQge1xyXG4gICAgICAgICAgICAudWktY2FsZW5kYXIge1xyXG4gICAgICAgICAgICAgICAgLnVpLWRhdGVwaWNrZXItdHJpZ2dlci51aS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAvKiBNZXNzYWdlcyAqL1xyXG4gICAgICAgIC51aS1tZXNzYWdlcyB7XHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudWktbWVzc2FnZSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi51aS1tZXNzYWdlLWluZm8taWNvbixcclxuICAgICAgICAgICAgICAgICYudWktbWVzc2FnZS1lcnJvci1pY29uLFxyXG4gICAgICAgICAgICAgICAgJi51aS1tZXNzYWdlLXdhcm4taWNvbixcclxuICAgICAgICAgICAgICAgICYudWktbWVzc2FnZS1mYXRhbC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWFjY29yZGlvbiB7XHJcbiAgICAgICAgICAgIC51aS1hY2NvcmRpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWhlYWRlckZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktaWNvbi10cmlhbmdsZS0xLWUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktaWNvbi10cmlhbmdsZS0xLXMge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtY29udGVudFBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGMtbGluZUhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktdG9vbGJhciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjLWNvbnRlbnRQYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktdGFicyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS10YWJzLW5hdiB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA+IC51aS1pY29uLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA3cHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktdGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1jb250ZW50UGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIC51aS1maWVsZHNldCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjLWNvbnRlbnRQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktZmllbGRzZXQtbGVnZW5kIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjLWhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWZpZWxkc2V0LXRvZ2dsZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktd2l6YXJkIHtcclxuICAgICAgICAgICAgLnVpLXdpemFyZC1zdGVwLXRpdGxlcyB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaGVhZGVyRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWJyZWFkY3J1bWIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkYy1pbnB1dEhlYWRlclBhZGRpbmc7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtaW5wdXRIZWFkZXJGb250U2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXN0ZXBzIHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLXN0ZXBzLWl0ZW0geyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1tZW51aXRlbS1saW5rIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC51aS1zdGVwcy1udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1tZW51IHsgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVpLW1lbnUtbGlzdCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICYudWktd2lkZ2V0LWhlYWRlciB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudWktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYudWktaWNvbi10cmlhbmdsZS0xLXMsICYudWktaWNvbi10cmlhbmdsZS0xLWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC0xMnB4IDAgMCAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYudWktbWVudWl0ZW0geyAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC51aS1tZW51aXRlbS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGMtZm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGMtbGluZUhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC51aS1tZW51aXRlbS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS1zZXBhcmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXZpZGVyQ29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi51aS1tZW51LXRvZ2dsZWFibGUge1xyXG4gICAgICAgICAgICAgICAgLnVpLW1lbnUtbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLnVpLXdpZGdldC1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnVpLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYudWktaWNvbi10cmlhbmdsZS0xLXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi51aS1pY29uLXRyaWFuZ2xlLTEtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYudWktdGllcmVkbWVudSB7XHJcbiAgICAgICAgICAgICAgICAudWktaWNvbi10cmlhbmdsZS0xLWUge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLW1lbnViYXIgeyAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktbWVudWJhci1vcHRpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi51aS1zbGlkZW1lbnUge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktbWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC51aS1tZW51LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbm8tc2hhZG93KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktc2xpZGVtZW51LWJhY2t3YXJkIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXBhbmVsbWVudSB7XHJcbiAgICAgICAgICAgIC51aS1wYW5lbG1lbnUtaGVhZGVyIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCA2cHggMzZweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1wYW5lbG1lbnUtY29udGVudCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLW1lbnVpdGVtIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC51aS1tZW51aXRlbS1saW5rIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYy1saW5lSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnVpLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktdGFibWVudSB7ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgLnVpLXRhYm1lbnUtbmF2IHsgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgID4gLnVpLXRhYm1lbnVpdGVtIHtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIC51aS1tZW51aXRlbS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXRyZWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkYy1jb250ZW50UGFkZGluZyAvIDI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktdHJlZW5vZGUtY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktdHJlZW5vZGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAudWktY2hrYm94IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4IDAgMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudWktdHJlZS10b2dnbGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcHggMCAycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC51aS10cmVlbm9kZS1pY29uICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMnB4IDAgMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLnVpLXRyZWUtaG9yaXpvbnRhbCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLXRyZWVub2RlLWNvbnRlbnQgeyBcclxuICAgICAgICAgICAgICAgICAgICAudWktdHJlZS10b2dnbGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLnVpLXRyZWVub2RlLWljb24gIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS10cmVldGFibGUge1xyXG4gICAgICAgICAgICAudWktdHJlZXRhYmxlLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1kdFBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWhlYWRlckZvbnRTaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtZHRQYWRkaW5nO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAudWktc29ydGFibGUtY29sdW1uLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC00cHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0Zm9vdCB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGMtZHRQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0Ym9keSB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1kdFBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudWktdHJlZXRhYmxlLXRvZ2dsZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnVpLWNoa2JveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktbGlnaHRib3gge1xyXG4gICAgICAgICAgICAudWktbGlnaHRib3gtY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYy1oZWFkZXJQYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnVpLWxpZ2h0Ym94LWNsb3NlIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGMtbGluZUhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGMtaWNvbkZvbnRTaXplO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51aS1yYXRpbmcge1xyXG4gICAgICAgICAgICAudWktcmF0aW5nLWNhbmNlbCB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51aS1yYXRpbmctc3RhciB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1pY29uRm9udFNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLWZpbGV1cGxvYWQge1xyXG4gICAgICAgICAgICAudWktZmlsZXVwbG9hZC1idXR0b25iYXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktbG9nIHtcclxuICAgICAgICAgICAgLnVpLWxvZy1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGMtaGVhZGVyUGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudWktdGFnY2xvdWQge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDZweCAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVpLXNsaWRlciB7XHJcbiAgICAgICAgICAgICYudWktc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgICAgICAgICAgICAgLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLS42NWVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHRvcGJhci1icmVha3BvaW50ICsgMXB4KSB7XHJcbmJvZHkge1xyXG4gICAgJi5sYXlvdXQtY29tcGFjdCB7XHJcbiAgICAgICAgLmxheW91dC13cmFwcGVyIHtcclxuICAgICAgICAgICAgJi5tZW51LWxheW91dC1ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgICAgIC5sYXlvdXQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdWwudWx0aW1hLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzZweCArICRtZW51LWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPiAubmFubyA+IC5uYW5vLWNvbnRlbnQgPiB1bDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuICAgIFxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsgICBcclxuICAgIGJvZHkge1xyXG4gICAgICAgICYubGF5b3V0LWNvbXBhY3QgeyAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudWktb3JkZXJsaXN0IHtcclxuICAgICAgICAgICAgICAgICYudWktZ3JpZC1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAudWktb3JkZXJsaXN0LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHRvcGJhci1icmVha3BvaW50KSB7XHJcbiAgICBib2R5IHtcclxuICAgICAgICAmLmxheW91dC1jb21wYWN0IHsgICAgIFxyXG4gICAgICAgICAgICAubGF5b3V0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgLnRvcGJhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnRvcGJhci1yaWdodCB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50b3BiYXItaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYy1mb250U2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjLWljb25Gb250U2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7QUV1QkEsYUFBYTtBQW1CYixtQkFBbUI7QUUxQ25CLHdCQUF3QjtBQUN4QixVQUFVO0VBQ1IsV0FBVyxFQUFFLFFBQVM7RUFDdEIsVUFBVSxFQUFFLE1BQU87RUFDbkIsV0FBVyxFQUFFLEdBQUk7RUFDakIsR0FBRyxFQUFFLGtFQUFHO0VBQWtFLHNCQUFzQjtFQUNoRyxHQUFHLEVBQUUscUJBQUssRUFBa0IscUJBQUssRUFDNUIsd0VBQUcsQ0FBdUUsMkJBQU0sRUFDaEYsb0VBQUcsQ0FBbUUsZUFBTSxFQUM1RSxtRUFBRyxDQUFrRSxjQUFNLEVBQzNFLGtFQUFHLENBQWlFLGtCQUFN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 */
