@charset "UTF-8";
/**********************************************
    Fonts
***********************************************/
@font-face {
  font-family: 'sunrise_international_demoRg';
  src: url("../fonts/sunrise_international_demo-webfont.eot");
  src: url("../fonts/sunrise_international_demo-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/sunrise_international_demo-webfont.woff2") format("woff2"), url("../fonts/sunrise_international_demo-webfont.woff") format("woff"), url("../fonts/sunrise_international_demo-webfont.svg#sunrise_international_demoRg") format("svg");
  font-weight: normal;
  font-style: normal; }

/*** Button Style ****************************************************/
.button {
  width: auto;
  height: 60px;
  min-width: 297px;
  color: #95bac5;
  font-size: 16px;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: white;
  border: 3px solid #95bac5;
  font-weight: 800;
  font-family: "din-2014", sans-serif;
  letter-spacing: 0.8px;
  margin: 0;
  padding: 0 15px;
  -webkit-transition: all 200ms ease-in 0s;
  -moz-transition: all 200ms ease-in 0s;
  transition: all 200ms ease-in 0s; }
  .button:hover, .button:focus, .button:active {
    color: #f3722f;
    border: 3px solid #f3722f;
    background: white; }
  .button.arrow {
    position: relative; }
    .button.arrow:after {
      content: "\f178";
      font-family: "FontAwesome";
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      font-size: 12px;
      right: 27px; }
  @media only screen and (max-width: 767px) {
    .button {
      height: 48px;
      min-width: 260px; } }

span.customSelect-field {
  width: 100%;
  height: 48px;
  border: #95bac5 solid 3px;
  float: left;
  margin: 0;
  padding: 8px 0 8px 25px;
  font-size: 16px;
  color: #95bac5 !important;
  box-shadow: none;
  font-family: "din-2014", sans-serif;
  outline: 0;
  letter-spacing: 0.2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center; }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    span.customSelect-field {
      padding: 8px 0 8px 10px; } }

.customSelect-field.hasCustomSelect {
  width: 100% !important;
  cursor: pointer;
  margin: 0 !important;
  padding: 0 !important;
  color: #95bac5 !important; }

span.customSelect-field.changed span.customSelectInner {
  color: #62626d !important; }

.customSelect.customSelect-field.customSelectChanged .customSelectInner {
  color: #62626d !important; }

.customSelect.customSelect-field.customSelectFocus .customSelectInner {
  color: #62626d !important; }

.customSelectInner {
  width: 100% !important;
  background: url(../images/svg/select_arrow.svg) no-repeat center right;
  background-size: 50px 50px;
  color: #95bac5 !important; }

a.back-btn {
  width: auto;
  height: auto;
  float: left;
  color: #62626d;
  font-size: 16px;
  font-weight: 600;
  position: relative; }
  a.back-btn:hover {
    color: #f3722f; }
  @media only screen and (max-width: 479px) {
    a.back-btn {
      font-size: 14px; } }

.icheckradio_sort {
  float: left;
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0;
  width: 12px;
  height: 12px;
  background: url(../images/svg/radio_icon.svg) no-repeat center top;
  background-size: 12px 24px;
  border: none;
  cursor: pointer;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 8px; }

.icheckradio_sort.checked {
  background: url(../images/svg/radio_icon.svg) no-repeat center bottom;
  background-size: 12px 24px; }

/**
 * 1.0 Reset
 * ----------------------------------------------------------------------------
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  color: #62626d; }

body {
  font-family: "din-2014", sans-serif;
  font-size: 16px;
  background: white;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out; }

html {
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out; }

/**
 * 2.0 Headings
 * ----------------------------------------------------------------------------
 */
h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: normal;
  margin: 0;
  padding: 0; }

h1 {
  font-size: 36px;
  line-height: 40px; }

h2 {
  font-size: 24px;
  line-height: 32px; }

h3 {
  font-size: 20px;
  line-height: 24px; }

h4 {
  font-size: 18px;
  line-height: 24px; }

h5 {
  font-size: 16px;
  line-height: 20px; }

h6 {
  font-size: 14px;
  line-height: 20px; }

p {
  font-size: 16px;
  line-height: 27px;
  margin: 0 0 27px; }

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0; }

a {
  color: #95bac5;
  text-decoration: none;
  -webkit-transition: all 200ms ease-in 0s;
  -moz-transition: all 200ms ease-in 0s;
  transition: all 200ms ease-in 0s; }

a:visited {
  outline: 0; }

a:active,
a:hover,
a:focus {
  outline: 0;
  text-decoration: none;
  color: #95bac5; }

/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
  opacity: 1; }

::-moz-placeholder {
  opacity: 1; }

:-ms-input-placeholder {
  opacity: 1; }

/*input[type="text"]{
	width: 100%;
	height: 48px;
	line-height: 48px;
	float: left;
	font-size: 24px;
	color: #919191;
	background: #ffffff;
	border: none;
	box-shadow: none;
	padding: 0 20px 0 5px;
	margin: 0;
}

input[type="text"]:focus{
	border: 0;
	box-shadow: none;
}

input[type="submit"]{
	width: 100%;
	height: 50px;
	line-height: 50px;
	float: left;
	font-size: 18px;
	color: #ffffff;
}*/
input:focus,
input:active,
textarea:focus,
textarea:active,
a:focus,
a:active {
  outline: 0px none !important;
  -webkit-appearance: none;
  color: #ffffff; }

figure {
  margin: 0; }

ul {
  font-size: 18px;
  margin-left: 40px; }

ul li {
  margin-bottom: 10px; }

.main-outercon {
  width: 100%;
  float: left;
  height: auto;
  position: relative;
  overflow: hidden; }

@media only screen and (min-width: 1200px) and (max-width: 1349px) {
  section .row, footer .row {
    max-width: 68.25rem; } }

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  section .row, footer .row {
    max-width: 58.25rem; } }

@media only screen and (min-width: 768px) and (max-width: 991px) {
  section .row, footer .row {
    max-width: 42.25rem; } }

/**********************************************
   Header 
***********************************************/
.main-header-outer {
  width: 100%;
  float: left;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .main-header-outer {
      padding: 10px 0 7px;
      margin: 0 0 38px; } }
  .main-header-outer .logo-container {
    width: 100%;
    float: left;
    padding: 12px 0 0; }
    @media only screen and (max-width: 767px) {
      .main-header-outer .logo-container {
        padding: 0; } }
    .main-header-outer .logo-container img {
      width: 100%;
      line-height: 1px;
      max-width: 154px; }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .main-header-outer .logo-container img {
          max-width: 120px; } }
  .main-header-outer .navigation-block {
    width: 100%;
    float: left; }
    @media only screen and (min-width: 1200px) and (max-width: 1349px) {
      .main-header-outer .navigation-block {
        padding: 0 80px 0 0; } }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .main-header-outer .navigation-block {
        padding: 0 80px 0 0; } }
    @media only screen and (min-width: 768px) {
      .main-header-outer .navigation-block {
        display: block !important; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .main-header-outer .navigation-block {
        padding: 0 55px 0 0; } }
    @media only screen and (max-width: 767px) {
      .main-header-outer .navigation-block {
        display: none;
        float: none;
        left: 0;
        margin: 0;
        position: absolute;
        right: 0;
        top: 85px;
        width: 100%;
        background: #cadde2;
        padding: 20px 0;
        z-index: 99999; } }
    .main-header-outer .navigation-block ul {
      float: right;
      margin: 0;
      padding: 0;
      list-style-type: none;
      -webkit-transition: all 200ms ease-in 0s;
      -moz-transition: all 200ms ease-in 0s;
      transition: all 200ms ease-in 0s; }
      .main-header-outer .navigation-block ul li {
        float: left;
        margin: 0;
        padding: 0 20px;
        position: relative; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .main-header-outer .navigation-block ul li {
            padding: 0 15px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .main-header-outer .navigation-block ul li {
            padding: 0 8px; } }
        @media only screen and (max-width: 767px) {
          .main-header-outer .navigation-block ul li {
            width: 100%;
            padding: 5px 15px; } }
        .main-header-outer .navigation-block ul li:last-child {
          padding-right: 0; }
        .main-header-outer .navigation-block ul li a {
          color: #42424d;
          font-size: 16px;
          font-family: "din-2014", sans-serif;
          font-weight: 800;
          text-transform: uppercase;
          line-height: 19px;
          letter-spacing: 1px;
          display: inline-block;
          padding: 38px 0;
          position: relative;
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .main-header-outer .navigation-block ul li a {
              font-size: 12px;
              padding: 30px 0; } }
          @media only screen and (max-width: 767px) {
            .main-header-outer .navigation-block ul li a {
              font-size: 14px;
              padding: 0 0 0 12px;
              line-height: 26px; } }
          .main-header-outer .navigation-block ul li a:before {
            position: absolute;
            left: 0;
            content: "";
            width: 100%;
            background: #cadde2;
            height: 8px;
            top: 0;
            right: 0;
            margin: 0 auto;
            display: none;
            -webkit-transition: all 200ms ease-in 0s;
            -moz-transition: all 200ms ease-in 0s;
            transition: all 200ms ease-in 0s; }
            @media only screen and (max-width: 767px) {
              .main-header-outer .navigation-block ul li a:before {
                right: inherit;
                width: 4px;
                height: 100%;
                background: white;
                top: 50%;
                -webkit-transform: translateY(-50%);
                -moz-transform: translateY(-50%);
                -o-transform: translateY(-50%);
                -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
          .main-header-outer .navigation-block ul li a:hover {
            color: #42424d; }
            @media only screen and (max-width: 767px) {
              .main-header-outer .navigation-block ul li a:hover {
                color: white; } }
        .main-header-outer .navigation-block ul li.current-menu-item a {
          color: #42424d; }
          .main-header-outer .navigation-block ul li.current-menu-item a:before {
            display: block; }
      .main-header-outer .navigation-block ul:hover a {
        color: #cadde2; }
        @media only screen and (max-width: 767px) {
          .main-header-outer .navigation-block ul:hover a {
            color: #42424d; } }
  .main-header-outer .mob-menu {
    position: absolute;
    right: 15px;
    padding: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 24px; }
    .main-header-outer .mob-menu .fa-times {
      display: none; }
    .main-header-outer .mob-menu:focus {
      outline: none;
      border: 0px;
      box-shadow: none; }
    .main-header-outer .mob-menu.active .fa-bars {
      display: none; }
    .main-header-outer .mob-menu.active .fa-times {
      display: block; }

.sidebar {
  width: 80px;
  background: #95bac5;
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  text-align: center;
  z-index: 9999;
  cursor: pointer; }
  @media only screen and (min-width: 1200px) and (max-width: 1349px) {
    .sidebar {
      width: 50px; } }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .sidebar {
      width: 50px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .sidebar {
      width: 50px; } }
  @media only screen and (max-width: 767px) {
    .sidebar {
      width: 100%;
      position: absolute;
      height: 44px;
      top: 85px;
      padding: 10px 0; } }
  .sidebar .list-icon {
    display: inline-block;
    color: #42424d;
    padding-top: 38px;
    font-size: 24px; }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .sidebar .list-icon {
        padding-top: 20px; } }
    @media only screen and (max-width: 767px) {
      .sidebar .list-icon {
        float: right;
        padding: 0 15px 0 0; } }
  .sidebar .iconlist {
    display: block;
    width: 24px;
    height: 24px; }
  .sidebar .close-icon {
    display: none;
    width: 24px;
    height: 24px; }
  .sidebar.open .close-icon {
    display: block;
    font-size: 28px; }
    @media only screen and (max-width: 767px) {
      .sidebar.open .close-icon {
        font-size: 24px; } }
  .sidebar.open .iconlist {
    display: none; }
  .sidebar span {
    width: 350px;
    color: #42424d;
    font-weight: 600;
    position: absolute;
    right: -135px;
    margin: 0 auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
    @media only screen and (min-width: 1200px) and (max-width: 1349px) {
      .sidebar span {
        right: -152px; } }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .sidebar span {
        right: -152px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .sidebar span {
        width: 290px;
        font-size: 14px;
        right: -120px; } }
    @media only screen and (max-width: 767px) {
      .sidebar span {
        position: relative;
        right: auto;
        top: auto;
        -webkit-transform: translateY(0%);
        -moz-transform: translateY(0%);
        -o-transform: translateY(0%);
        -ms-transform: translateY(0%);
        transform: translateY(0%);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        float: left;
        width: auto;
        padding-left: 15px;
        line-height: 22px; } }
    @media only screen and (max-width: 355px) {
      .sidebar span {
        font-size: 12px; } }
  .sidebar .list-link {
    color: #42424d;
    position: absolute;
    right: 7px;
    bottom: 54px;
    font-weight: 600;
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
    @media only screen and (min-width: 1200px) and (max-width: 1349px) {
      .sidebar .list-link {
        right: -9px; } }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .sidebar .list-link {
        right: -9px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .sidebar .list-link {
        bottom: 40px;
        right: -9px; } }
    @media only screen and (max-width: 767px) {
      .sidebar .list-link {
        display: none; } }

.checklist-scroll {
  width: 110%;
  max-width: 1100px;
  overflow-y: scroll;
  height: 100vh; }

.checklist-outer {
  width: 100%;
  max-width: 1042px;
  background: #dfeaee;
  height: 100%;
  float: left;
  position: fixed;
  top: 0;
  right: -350px;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .checklist-outer {
      max-width: 750px;
      right: -750px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .checklist-outer {
      max-width: 570px;
      right: -570px; } }
  @media only screen and (max-width: 767px) {
    .checklist-outer {
      max-width: none;
      right: -100%;
      top: 129px; } }
  .checklist-outer .checklist-wrap {
    width: 100%;
    height: auto;
    float: left; }
  .checklist-outer.slidein {
    right: 80px;
    opacity: 1;
    visibility: visible; }
    @media only screen and (min-width: 1200px) and (max-width: 1349px) {
      .checklist-outer.slidein {
        right: 50px; } }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .checklist-outer.slidein {
        right: 50px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .checklist-outer.slidein {
        right: 50px; } }
    @media only screen and (max-width: 767px) {
      .checklist-outer.slidein {
        right: 0; } }
  .checklist-outer ::-webkit-input-placeholder {
    color: #95bac5; }
  .checklist-outer ::-moz-placeholder {
    color: #95bac5; }
  .checklist-outer :-ms-input-placeholder {
    color: #95bac5; }
  .checklist-outer .clear-data {
    color: #afcbd3;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;
    position: relative;
    top: -35px; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .checklist-outer .clear-data {
        font-size: 12px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .checklist-outer .clear-data {
        font-size: 12px;
        letter-spacing: 0; } }
    @media only screen and (max-width: 767px) {
      .checklist-outer .clear-data {
        top: 0; } }
    .checklist-outer .clear-data i {
      color: #afcbd3;
      font-size: 18px;
      -webkit-transition: all 200ms ease-in 0s;
      -moz-transition: all 200ms ease-in 0s;
      transition: all 200ms ease-in 0s; }
    .checklist-outer .clear-data:hover {
      color: #62626d; }
      .checklist-outer .clear-data:hover i {
        color: #62626d; }

.list-head {
  width: 100%;
  float: left;
  padding: 37px 70px;
  border-bottom: 3px solid #cadde2; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .list-head {
      padding: 27px 35px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .list-head {
      padding: 22px 25px; } }
  @media only screen and (max-width: 767px) {
    .list-head {
      padding: 15px; } }
  .list-head h6 {
    color: #62626d;
    font-size: 16px;
    font-weight: 800;
    font-family: "din-2014", sans-serif;
    letter-spacing: 1px; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .list-head h6 {
        font-size: 14px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .list-head h6 {
        font-size: 12px; } }
    @media only screen and (max-width: 767px) {
      .list-head h6 {
        font-size: 12px; } }
    .list-head h6 span {
      text-transform: uppercase; }

.checklist-row {
  width: 100%;
  float: left;
  padding: 30px 70px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .checklist-row {
      padding: 27px 35px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .checklist-row {
      padding: 22px 25px; } }
  @media only screen and (max-width: 767px) {
    .checklist-row {
      padding: 15px;
      width: 91%; } }
  .checklist-row.top-row {
    border-bottom: 3px solid #cadde2; }
    @media only screen and (max-width: 767px) {
      .checklist-row.top-row .checklist-info {
        max-width: 350px; } }
  .checklist-row .checklist-title {
    width: 36%;
    float: left; }
    @media only screen and (max-width: 767px) {
      .checklist-row .checklist-title {
        width: 100%;
        font-size: 12px; } }
    .checklist-row .checklist-title h2 {
      color: #62626d;
      font-weight: 800;
      font-family: "din-2014", sans-serif; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .checklist-row .checklist-title h2 {
          font-size: 20px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .checklist-row .checklist-title h2 {
          font-size: 16px; } }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-title h2 {
          font-size: 20px;
          padding: 0 0 10px; } }
  .checklist-row .checklist-info {
    width: 64%;
    float: left;
    padding: 0 12% 0 0; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .checklist-row .checklist-info {
        padding: 0 20px 0 0; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .checklist-row .checklist-info {
        padding: 0; } }
    @media only screen and (max-width: 767px) {
      .checklist-row .checklist-info {
        width: 100%;
        padding: 0; } }
    .checklist-row .checklist-info p {
      color: #62626d;
      font-size: 24px;
      line-height: 34px;
      margin: 0 0 47px; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .checklist-row .checklist-info p {
          font-size: 20px;
          margin: 0 0 10px;
          line-height: 26px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .checklist-row .checklist-info p {
          font-size: 16px;
          margin: 0 0 10px;
          line-height: 22px; } }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-info p {
          font-size: 16px;
          margin: 0 0 10px; } }
    .checklist-row .checklist-info #name {
      color: #95bac5;
      font-size: 24px;
      font-family: "din-2014", sans-serif;
      border: none;
      border-bottom: 2px solid #95bac5;
      display: inline-block;
      width: 190px;
      margin: 5px;
      background: none;
      padding: 0;
      box-shadow: none;
      text-transform: capitalize;
      height: auto;
      line-height: 28px;
      height: 28px;
      vertical-align: top; }
      .checklist-row .checklist-info #name.active {
        color: #62626d;
        border-color: #62626d; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .checklist-row .checklist-info #name {
          font-size: 20px;
          line-height: 20px;
          height: 20px;
          vertical-align: top; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .checklist-row .checklist-info #name {
          font-size: 16px;
          max-width: 150px;
          line-height: 20px;
          height: 20px;
          vertical-align: top; } }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-info #name {
          font-size: 16px; } }
    .checklist-row .checklist-info #namespan, .checklist-row .checklist-info .measure {
      color: #95bac5;
      font-size: 24px;
      font-family: "din-2014", sans-serif;
      border: none;
      border-bottom: 2px solid #95bac5;
      display: inline-block;
      margin: 4px 0;
      background: none;
      padding: 0;
      box-shadow: none;
      text-transform: capitalize;
      height: auto;
      line-height: 28px;
      height: 28px;
      vertical-align: top; }
      .checklist-row .checklist-info #namespan.active, .checklist-row .checklist-info .measure.active {
        color: #62626d;
        border-color: #62626d; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .checklist-row .checklist-info #namespan, .checklist-row .checklist-info .measure {
          font-size: 20px;
          line-height: 20px;
          height: 20px;
          vertical-align: top; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .checklist-row .checklist-info #namespan, .checklist-row .checklist-info .measure {
          font-size: 16px;
          max-width: 150px;
          line-height: 20px;
          height: 20px;
          vertical-align: top; } }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-info #namespan, .checklist-row .checklist-info .measure {
          font-size: 16px;
          margin: 0 5px 0 0; } }
    .checklist-row .checklist-info a.user-role {
      color: #95bac5;
      font-size: 24px;
      position: relative;
      border-bottom: 2px solid #95bac5;
      text-transform: capitalize;
      line-height: 22px;
      display: inline-block;
      padding-right: 20px; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .checklist-row .checklist-info a.user-role {
          font-size: 20px;
          line-height: 20px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .checklist-row .checklist-info a.user-role {
          font-size: 16px;
          line-height: 20px; } }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-info a.user-role {
          font-size: 16px; } }
      .checklist-row .checklist-info a.user-role:after {
        width: 11px;
        height: 6px;
        content: "";
        background: url(../images/svg/caret-down.svg) no-repeat;
        background-size: 11px 6px;
        margin: 0 0 0 5px;
        font-size: 20px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      .checklist-row .checklist-info a.user-role.selected {
        color: #62626d;
        border-bottom: 2px solid #62626d; }
        .checklist-row .checklist-info a.user-role.selected:after {
          width: 11px;
          height: 6px;
          background: url(../images/svg/caret-down-dark.svg) no-repeat; }
    .checklist-row .checklist-info.checkbx {
      position: relative; }
      @media only screen and (max-width: 767px) {
        .checklist-row .checklist-info.checkbx {
          margin-bottom: 25px; } }
      .checklist-row .checklist-info.checkbx:after {
        position: absolute;
        left: 55px;
        content: "";
        background: #cadde2;
        width: 2px;
        height: 90%;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .checklist-row .checklist-info.checkbx:after {
            left: 35px; } }
        @media only screen and (max-width: 767px) {
          .checklist-row .checklist-info.checkbx:after {
            left: 35px; } }

.checkbx-section {
  width: 100%;
  float: left;
  margin: 11px 0; }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .checkbx-section {
      margin: 7px 0; } }
  .checkbx-section .icheckbox_check {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    width: 19px;
    height: 20px;
    background: url(../images/svg/checkbox.png) no-repeat;
    background-size: cover;
    border: none;
    float: left;
    cursor: pointer;
    margin: 7px 35px 0 0;
    background-position: 0 0; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .checkbx-section .icheckbox_check {
        margin: 4px 35px 0 0; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .checkbx-section .icheckbox_check {
        margin: 2px 15px 0 0; } }
    @media only screen and (max-width: 767px) {
      .checkbx-section .icheckbox_check {
        margin: 2px 10px 0 0; } }
    .checkbx-section .icheckbox_check.checked {
      background-position: 0 -20px; }
      .checkbx-section .icheckbox_check.checked:hover + a {
        font-weight: normal; }
    .checkbx-section .icheckbox_check.no-svg {
      background: url(../images/checkbox.png) no-repeat; }
  .checkbx-section a {
    float: left;
    font-size: 24px;
    font-family: "din-2014", sans-serif;
    color: #62626d;
    cursor: pointer;
    position: relative;
    margin-left: 35px;
    -webkit-transition: all 200ms ease-in 0s;
    -moz-transition: all 200ms ease-in 0s;
    transition: all 200ms ease-in 0s; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .checkbx-section a {
        font-size: 20px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .checkbx-section a {
        font-size: 16px;
        margin-left: 20px; } }
    @media only screen and (max-width: 767px) {
      .checkbx-section a {
        font-size: 16px;
        margin-left: 20px; } }
    .checkbx-section a:after {
      width: 20px;
      height: 13px;
      content: "";
      background: url(../images/svg/arrow_icon2.svg) no-repeat;
      background-size: 20px 13px;
      display: none;
      margin-left: 15px;
      -webkit-transition: all 200ms ease-in 0s;
      -moz-transition: all 200ms ease-in 0s;
      transition: all 200ms ease-in 0s; }
      @media only screen and (max-width: 767px) {
        .checkbx-section a:after {
          width: 15px;
          height: 8px;
          background-size: 15px 8px;
          margin-left: 5px; } }
    .checkbx-section a:hover {
      font-weight: 800; }
      .checkbx-section a:hover:after {
        display: inline-block; }
  .checkbx-section .checked + a {
    color: #95bac5;
    font-weight: normal; }
    .checkbx-section .checked + a:hover:after {
      content: none; }
  .checkbx-section .icheckbox_check:hover + a {
    font-weight: 800; }
  .checkbx-section .icheckbox_check:hover + a:after {
    display: inline-block; }
  .checkbx-section .icheckbox_check.checked:hover + a:after {
    content: none; }

.overlay-blk {
  width: 100%;
  position: fixed;
  height: 100%;
  right: 0;
  top: 0;
  background: #42424d;
  opacity: 0;
  z-index: 10;
  visibility: hidden;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out; }

.active {
  overflow: hidden; }
  .active .overlay-blk {
    opacity: 0.8;
    visibility: visible; }

.sel-wrap {
  width: 100%;
  float: left;
  height: 100%;
  position: relative; }
  .sel-wrap .select-wrap {
    width: 100%;
    height: auto;
    float: left;
    position: absolute;
    top: 20%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 99999;
    background: #62626d;
    padding: 76px 20px;
    -webkit-transition: all 200ms ease-in 0s;
    -moz-transition: all 200ms ease-in 0s;
    transition: all 200ms ease-in 0s;
    height: 100%;
    margin-top: -3px;
    text-align: center; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .sel-wrap .select-wrap {
        padding: 45px 20px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .sel-wrap .select-wrap {
        padding: 35px 20px; } }
    @media only screen and (max-width: 767px) {
      .sel-wrap .select-wrap {
        padding: 25px 20px; } }
    .sel-wrap .select-wrap.slideup {
      opacity: 1;
      visibility: visible;
      top: 0; }
    .sel-wrap .select-wrap ul {
      width: 100%;
      float: left;
      list-style-type: none;
      margin: 0 0 40px; }
      .sel-wrap .select-wrap ul li {
        width: 100%;
        float: left;
        padding: 0 0 25px;
        margin: 0; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .sel-wrap .select-wrap ul li {
            padding: 0 0 15px; } }
        @media only screen and (max-width: 767px) {
          .sel-wrap .select-wrap ul li {
            padding: 0 0 10px; } }
        .sel-wrap .select-wrap ul li a {
          font-size: 24px;
          font-family: "din-2014", sans-serif;
          text-transform: capitalize;
          line-height: 29px; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .sel-wrap .select-wrap ul li a {
              font-size: 20px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .sel-wrap .select-wrap ul li a {
              font-size: 16px; } }
          @media only screen and (max-width: 767px) {
            .sel-wrap .select-wrap ul li a {
              font-size: 16px; } }
          .sel-wrap .select-wrap ul li a:hover {
            color: white; }
  .sel-wrap .close-sel {
    display: inline-block;
    font-weight: 800;
    background: url(../images/svg/circle-minus.svg) no-repeat left center;
    background-size: 15px 15px;
    padding-left: 25px;
    margin: 82px 0 0; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .sel-wrap .close-sel {
        margin: 40px 0 0;
        font-size: 14px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .sel-wrap .close-sel {
        margin: 20px 0 0;
        font-size: 12px; } }
    @media only screen and (max-width: 767px) {
      .sel-wrap .close-sel {
        margin: 10px 0 0;
        font-size: 12px; } }

/**********************************************
    Footer
***********************************************/
.footer-container {
  width: 100%;
  float: left; }

.footer-top {
  width: 100%;
  float: left;
  padding: 37px 0 30px;
  background: white; }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .footer-top {
      padding: 25px 0 20px; } }
  @media only screen and (max-width: 767px) {
    .footer-top {
      padding: 20px 0 20px; } }
  .footer-top p {
    font-size: 16px;
    font-weight: 600;
    color: #62626d;
    padding: 0 23px 0 0;
    margin: 0; }
    .footer-top p:after {
      font-size: 14px; }
    .footer-top p:hover, .footer-top p:focus, .footer-top p :active {
      color: #95bac5; }
  @media only screen and (max-width: 767px) {
    .footer-top .social-links {
      float: left !important;
      margin: 10px 0 0; } }
  .footer-top .social-links ul {
    float: left;
    margin: 0; }
    .footer-top .social-links ul li {
      list-style: none;
      display: inline-block;
      margin: 0;
      padding: 0 0 0 23px; }
      @media only screen and (max-width: 767px) {
        .footer-top .social-links ul li {
          padding: 0 0 0 14px; } }
      .footer-top .social-links ul li:first-child {
        padding: 0; }
      .footer-top .social-links ul li a {
        float: left;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        font-size: 16px;
        font-weight: 600;
        color: #62626d; }
        .footer-top .social-links ul li a:hover {
          color: #95bac5; }
          .footer-top .social-links ul li a:hover i {
            color: #95bac5; }
        .footer-top .social-links ul li a i {
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s;
          color: #62626d;
          margin: 0 7px 0 0; }

.footer-bottom {
  width: 100%;
  float: left;
  background: #42424d;
  padding: 21px 0; }
  @media only screen and (max-width: 767px) {
    .footer-bottom {
      padding: 18px 0 20px; } }
  .footer-bottom .copyright {
    width: 100%;
    float: left; }
    @media only screen and (max-width: 767px) {
      .footer-bottom .copyright {
        text-align: center; } }
    .footer-bottom .copyright p {
      margin: 0;
      color: #92929d;
      font-weight: 800; }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .footer-bottom .copyright p {
          font-size: 14px; } }
      @media only screen and (max-width: 767px) {
        .footer-bottom .copyright p {
          line-height: 20px; } }
      @media only screen and (max-width: 479px) {
        .footer-bottom .copyright p {
          font-size: 13px; } }
  @media only screen and (max-width: 767px) {
    .footer-bottom .scroll-link {
      width: 100%;
      text-align: center;
      float: left;
      padding: 10px 0 0; } }
  .footer-bottom .scroll-link .scrolltop {
    float: right;
    color: #92929d;
    font-weight: 800; }
    @media only screen and (max-width: 767px) {
      .footer-bottom .scroll-link .scrolltop {
        float: none;
        display: inline-block; } }
    .footer-bottom .scroll-link .scrolltop:hover {
      color: #95bac5; }
      .footer-bottom .scroll-link .scrolltop:hover .icon {
        background: #95bac5; }
    .footer-bottom .scroll-link .scrolltop img {
      width: 13px;
      height: 13px;
      display: inline-block;
      vertical-align: middle; }
    .footer-bottom .scroll-link .scrolltop .icon {
      width: 13px;
      height: 12px;
      float: right;
      position: relative;
      top: 6px;
      background: #92929d;
      background-size: 100% 100%;
      margin-left: 10px;
      -webkit-transition: all 200ms ease-in 0s;
      -moz-transition: all 200ms ease-in 0s;
      transition: all 200ms ease-in 0s;
      -moz-border-radius: 2px;
      -webkit-border-radius: 2px;
      border-radius: 2px; }
      .footer-bottom .scroll-link .scrolltop .icon:after {
        position: absolute;
        content: "\f0d8";
        top: -1px;
        color: #42424d;
        left: 3px;
        margin: 0 auto;
        font-family: "FontAwesome";
        font-size: 12px; }

/**********************************************
    Banner
***********************************************/
.banner-container {
  width: 100%;
  float: left;
  position: relative; }
  .banner-container .banner-image {
    height: 565px; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .banner-container .banner-image {
        height: 400px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .banner-container .banner-image {
        height: 350px; } }
    @media only screen and (max-width: 767px) {
      .banner-container .banner-image {
        height: 250px; } }
  .banner-container .banner-content {
    position: absolute;
    top: 84px;
    left: 0;
    right: 0; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .banner-container .banner-content {
        top: 83px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .banner-container .banner-content {
        top: 55px; } }
    @media only screen and (max-width: 767px) {
      .banner-container .banner-content {
        top: 55px; } }
    .banner-container .banner-content span {
      font-size: 182px;
      line-height: 170px;
      font-family: "sunrise_international_demoRg";
      color: #42424d;
      letter-spacing: 12px; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .banner-container .banner-content span {
          font-size: 110px;
          line-height: 103px;
          letter-spacing: 10px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .banner-container .banner-content span {
          font-size: 100px;
          line-height: 94px;
          letter-spacing: 6px; } }
      @media only screen and (max-width: 767px) {
        .banner-container .banner-content span {
          font-size: 57px;
          line-height: 60px;
          letter-spacing: 6px; } }
      .banner-container .banner-content span i {
        font-size: 67px;
        line-height: 68px;
        color: #42424d;
        position: relative;
        letter-spacing: 4px; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .banner-container .banner-content span i {
            font-size: 51px;
            line-height: 40px;
            letter-spacing: 2px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .banner-container .banner-content span i {
            font-size: 40px;
            line-height: 40px;
            letter-spacing: 2px; } }
        @media only screen and (max-width: 767px) {
          .banner-container .banner-content span i {
            font-size: 23px;
            line-height: 30px;
            letter-spacing: 2px; } }
        .banner-container .banner-content span i:after {
          position: absolute;
          right: -97px;
          top: 7px;
          background: url(../images/svg/banner-arw.svg) no-repeat;
          width: 68px;
          height: 43px;
          content: "";
          background-size: 100%; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .banner-container .banner-content span i:after {
              right: -65px;
              top: 6px;
              width: 50px;
              height: 31px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .banner-container .banner-content span i:after {
              right: -65px;
              top: 0px;
              width: 50px;
              height: 31px; } }
          @media only screen and (max-width: 767px) {
            .banner-container .banner-content span i:after {
              right: -41px;
              top: 1px;
              width: 30px;
              height: 24px; } }

/**********************************************
    Inner Banner 
***********************************************/
.inner-bannerblock {
  width: 100%;
  height: auto;
  float: left;
  position: relative; }
  .inner-bannerblock .banner-imgblk {
    width: 100%;
    height: auto;
    float: left; }
    .inner-bannerblock .banner-imgblk img {
      width: 1920px;
      max-width: none;
      position: relative;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      display: block; }
      @media only screen and (max-width: 767px) {
        .inner-bannerblock .banner-imgblk img {
          width: 1300px; } }
  .inner-bannerblock .banner-content {
    width: 100%;
    height: auto;
    float: left;
    position: absolute;
    text-transform: uppercase;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .inner-bannerblock .banner-content h1 {
      width: auto;
      float: left;
      background: #95bac5;
      font-weight: 600;
      padding: 10px 15px 10px 19px;
      letter-spacing: 2px;
      color: #42424d; }
      @media only screen and (max-width: 767px) {
        .inner-bannerblock .banner-content h1 {
          padding: 10px 15px;
          font-size: 24px;
          line-height: 30px; } }

/**********************************************
    Home Page 
***********************************************/
.content-block2 {
  width: 100%;
  float: left; }
  .content-block2 .content-block2-inner {
    width: 100%;
    float: left;
    position: relative;
    padding: 103px 0 52px; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .content-block2 .content-block2-inner {
        padding: 75px 0 30px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .content-block2 .content-block2-inner {
        padding: 75px 0 30px; } }
    @media only screen and (max-width: 767px) {
      .content-block2 .content-block2-inner {
        padding: 50px 0 0px; } }
    .content-block2 .content-block2-inner .content-blk-left {
      width: 42.6%;
      float: left; }
      @media only screen and (max-width: 767px) {
        .content-block2 .content-block2-inner .content-blk-left {
          width: 100%;
          padding: 0 0 20px; } }
      .content-block2 .content-block2-inner .content-blk-left span {
        color: #62626d;
        font-size: 40px;
        font-family: "din-2014", sans-serif;
        font-weight: 600; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .content-block2 .content-block2-inner .content-blk-left span {
            font-size: 32px;
            line-height: 36px; } }
        @media only screen and (max-width: 767px) {
          .content-block2 .content-block2-inner .content-blk-left span {
            font-size: 28px;
            line-height: 32px; } }
    .content-block2 .content-block2-inner .content-blk-right {
      width: 57.4%;
      float: left;
      padding: 0 15px 0 0; }
      @media only screen and (max-width: 767px) {
        .content-block2 .content-block2-inner .content-blk-right {
          width: 100%; } }
      .content-block2 .content-block2-inner .content-blk-right p {
        color: #62626d;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .content-block2 .content-block2-inner .content-blk-right p {
            line-height: 24px; } }
        .content-block2 .content-block2-inner .content-blk-right p strong {
          font-weight: 800;
          color: #62626d; }
    .content-block2 .content-block2-inner a.button {
      line-height: 56px;
      position: absolute;
      left: 0;
      top: -30px;
      text-align: left;
      padding: 0 50px 0 30px; }
      @media only screen and (max-width: 767px) {
        .content-block2 .content-block2-inner a.button {
          line-height: 42px;
          top: -24px;
          padding: 0 35px 0 16px; } }
      @media only screen and (max-width: 767px) {
        .content-block2 .content-block2-inner a.button:after {
          right: 17px; } }

.main-top-section.home-page {
  background: #f5f8f9; }
  .main-top-section.home-page span {
    color: #62626d;
    font-weight: 600; }
  @media only screen and (max-width: 767px) {
    .main-top-section.home-page .float-right {
      float: left !important; } }
  .main-top-section.home-page .link-outer {
    padding: 0 26px 0 0; }
    .main-top-section.home-page .link-outer:after {
      font-size: 14px; }

.content-block4 {
  width: 100%;
  float: left;
  background: #62626d;
  padding: 80px 0 75px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .content-block4 {
      padding: 60px 0px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .content-block4 {
      padding: 50px 0 50px; } }
  @media only screen and (max-width: 767px) {
    .content-block4 {
      padding: 30px 0 10px; } }
  .content-block4 .single-blk-outer {
    width: 100%;
    float: left; }
    @media only screen and (max-width: 767px) {
      .content-block4 .single-blk-outer {
        margin: 0 0 15px; } }
    .content-block4 .single-blk-outer .single-blk {
      width: 100%;
      float: left;
      background: url(../images/box-bg.jpg) no-repeat;
      background-size: 100% 100%;
      min-height: 300px;
      position: relative;
      margin: 0 0 35px;
      padding: 0 15px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .content-block4 .single-blk-outer .single-blk {
          min-height: 280px;
          margin: 0 0 25px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .content-block4 .single-blk-outer .single-blk {
          min-height: 250px;
          margin: 0 0 25px; } }
      @media only screen and (max-width: 767px) {
        .content-block4 .single-blk-outer .single-blk {
          min-height: 210px;
          margin: 0 0 17px; } }
      .content-block4 .single-blk-outer .single-blk:hover:after, .content-block4 .single-blk-outer .single-blk:focus:after, .content-block4 .single-blk-outer .single-blk:active:after {
        opacity: 1; }
      .content-block4 .single-blk-outer .single-blk:hover span, .content-block4 .single-blk-outer .single-blk:focus span, .content-block4 .single-blk-outer .single-blk:active span {
        background: #f3722f; }
      .content-block4 .single-blk-outer .single-blk:after {
        position: absolute;
        content: "";
        border: 3px solid #f3722f;
        width: 100%;
        left: 0;
        top: 0;
        height: 100%;
        opacity: 0;
        -webkit-transition: all 200ms ease-in 0s;
        -moz-transition: all 200ms ease-in 0s;
        transition: all 200ms ease-in 0s; }
      .content-block4 .single-blk-outer .single-blk span {
        background: #95bac5;
        align-self: center;
        padding: 6px 15px;
        -webkit-transition: all 200ms ease-in 0s;
        -moz-transition: all 200ms ease-in 0s;
        transition: all 200ms ease-in 0s;
        font-weight: 600;
        color: #42424d;
        font-size: 36px;
        letter-spacing: 2.4px; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .content-block4 .single-blk-outer .single-blk span {
            font-size: 28px;
            letter-spacing: 1.6px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .content-block4 .single-blk-outer .single-blk span {
            font-size: 26px;
            letter-spacing: 1.4px; } }
        @media only screen and (max-width: 767px) {
          .content-block4 .single-blk-outer .single-blk span {
            font-size: 24px;
            letter-spacing: 1.4px; } }
      .content-block4 .single-blk-outer .single-blk.block2 {
        background: url(../images/box-bg1.jpg) no-repeat; }

.link-outer {
  font-size: 20px;
  font-family: "din-2014", sans-serif;
  font-weight: 600;
  color: #cadde2;
  position: relative;
  padding: 0 30px 0 0; }
  .link-outer:after {
    content: "\f178";
    font-family: "FontAwesome";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 16px;
    right: 0; }
  .link-outer.no-arrow:after {
    content: none; }
  .link-outer:hover, .link-outer:focus, .link-outer:active {
    color: #f3722f; }
  .link-outer.grey {
    font-size: 16px;
    color: #92929d; }
    .link-outer.grey:after {
      font-size: 12px; }
    .link-outer.grey:hover, .link-outer.grey:focus, .link-outer.grey:active {
      color: #62626d; }

.content-block5 {
  width: 100%;
  float: left;
  padding: 111px 0 81px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .content-block5 {
      padding: 50px 0 50px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .content-block5 {
      padding: 50px 0 50px; } }
  @media only screen and (max-width: 767px) {
    .content-block5 {
      padding: 24px 0 5px; } }
  .content-block5 .news-blk {
    width: 100%;
    float: left; }
    @media only screen and (max-width: 767px) {
      .content-block5 .news-blk {
        padding: 0 0 20px; } }
    .content-block5 .news-blk h2 {
      font-weight: 800;
      padding: 0 0 19px; }
      @media only screen and (max-width: 767px) {
        .content-block5 .news-blk h2 {
          padding: 0 0 12px;
          font-size: 22px; } }
    .content-block5 .news-blk ul {
      width: 100%;
      float: left;
      margin: 0 0 32px; }
      @media only screen and (max-width: 767px) {
        .content-block5 .news-blk ul {
          margin: 0 0 15px; } }
      .content-block5 .news-blk ul li {
        list-style: none;
        border-bottom: 3px solid #afcbd3;
        margin: 0;
        min-height: 140px;
        width: 100%;
        float: left; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .content-block5 .news-blk ul li {
            min-height: 123px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .content-block5 .news-blk ul li {
            min-height: 100px; } }
        @media only screen and (max-width: 767px) {
          .content-block5 .news-blk ul li {
            min-height: 96px; } }
        .content-block5 .news-blk ul li:first-child {
          border-top: 3px solid #afcbd3; }
        .content-block5 .news-blk ul li a, .content-block5 .news-blk ul li .imdate {
          width: 100%;
          float: left;
          padding: 30px 0 30px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .content-block5 .news-blk ul li a, .content-block5 .news-blk ul li .imdate {
              padding: 23px 0; } }
          @media only screen and (max-width: 767px) {
            .content-block5 .news-blk ul li a, .content-block5 .news-blk ul li .imdate {
              padding: 18px 0; } }
          @media only screen and (max-width: 479px) {
            .content-block5 .news-blk ul li a, .content-block5 .news-blk ul li .imdate {
              padding: 15px 0 18px; } }
          .content-block5 .news-blk ul li a .left-blk, .content-block5 .news-blk ul li .imdate .left-blk {
            width: 30.1%;
            float: left;
            padding: 4px 0 0; }
            @media only screen and (max-width: 479px) {
              .content-block5 .news-blk ul li a .left-blk, .content-block5 .news-blk ul li .imdate .left-blk {
                width: 100%; } }
            .content-block5 .news-blk ul li a .left-blk span, .content-block5 .news-blk ul li .imdate .left-blk span {
              font-size: 16px;
              font-weight: 800;
              display: block;
              text-transform: uppercase;
              letter-spacing: 1px;
              padding: 0 0 5px;
              -webkit-transition: all 200ms ease-in 0s;
              -moz-transition: all 200ms ease-in 0s;
              transition: all 200ms ease-in 0s; }
              @media only screen and (min-width: 992px) and (max-width: 1199px) {
                .content-block5 .news-blk ul li a .left-blk span, .content-block5 .news-blk ul li .imdate .left-blk span {
                  font-size: 14px;
                  padding: 0 0 2px; } }
              @media only screen and (min-width: 768px) and (max-width: 991px) {
                .content-block5 .news-blk ul li a .left-blk span, .content-block5 .news-blk ul li .imdate .left-blk span {
                  font-size: 12px;
                  padding: 0; } }
              @media only screen and (max-width: 767px) {
                .content-block5 .news-blk ul li a .left-blk span, .content-block5 .news-blk ul li .imdate .left-blk span {
                  font-size: 14px;
                  padding: 0; } }
            .content-block5 .news-blk ul li a .left-blk i, .content-block5 .news-blk ul li .imdate .left-blk i {
              display: block;
              font-size: 16px;
              font-weight: 600;
              color: #95bac5;
              -webkit-transition: all 200ms ease-in 0s;
              -moz-transition: all 200ms ease-in 0s;
              transition: all 200ms ease-in 0s; }
              @media only screen and (min-width: 992px) and (max-width: 1199px) {
                .content-block5 .news-blk ul li a .left-blk i, .content-block5 .news-blk ul li .imdate .left-blk i {
                  font-size: 14px; } }
              @media only screen and (min-width: 768px) and (max-width: 991px) {
                .content-block5 .news-blk ul li a .left-blk i, .content-block5 .news-blk ul li .imdate .left-blk i {
                  font-size: 14px; } }
              @media only screen and (max-width: 767px) {
                .content-block5 .news-blk ul li a .left-blk i, .content-block5 .news-blk ul li .imdate .left-blk i {
                  font-size: 14px; } }
          .content-block5 .news-blk ul li a .right-blk, .content-block5 .news-blk ul li .imdate .right-blk {
            width: 69.9%;
            float: left; }
            @media only screen and (max-width: 479px) {
              .content-block5 .news-blk ul li a .right-blk, .content-block5 .news-blk ul li .imdate .right-blk {
                width: 100%; } }
            .content-block5 .news-blk ul li a .right-blk p, .content-block5 .news-blk ul li .imdate .right-blk p {
              font-size: 24px;
              margin: 0;
              line-height: 34px;
              -webkit-transition: all 200ms ease-in 0s;
              -moz-transition: all 200ms ease-in 0s;
              transition: all 200ms ease-in 0s; }
              @media only screen and (min-width: 992px) and (max-width: 1199px) {
                .content-block5 .news-blk ul li a .right-blk p, .content-block5 .news-blk ul li .imdate .right-blk p {
                  font-size: 20px;
                  line-height: 30px; } }
              @media only screen and (min-width: 768px) and (max-width: 991px) {
                .content-block5 .news-blk ul li a .right-blk p, .content-block5 .news-blk ul li .imdate .right-blk p {
                  font-size: 15px;
                  line-height: 24px; } }
              @media only screen and (max-width: 767px) {
                .content-block5 .news-blk ul li a .right-blk p, .content-block5 .news-blk ul li .imdate .right-blk p {
                  font-size: 18px;
                  line-height: 26px; } }
          .content-block5 .news-blk ul li a:hover .left-blk span, .content-block5 .news-blk ul li a:focus .left-blk span, .content-block5 .news-blk ul li a:active .left-blk span, .content-block5 .news-blk ul li .imdate:hover .left-blk span, .content-block5 .news-blk ul li .imdate:focus .left-blk span, .content-block5 .news-blk ul li .imdate:active .left-blk span {
            color: #95bac5; }
          .content-block5 .news-blk ul li a:hover .right-blk p, .content-block5 .news-blk ul li a:focus .right-blk p, .content-block5 .news-blk ul li a:active .right-blk p, .content-block5 .news-blk ul li .imdate:hover .right-blk p, .content-block5 .news-blk ul li .imdate:focus .right-blk p, .content-block5 .news-blk ul li .imdate:active .right-blk p {
            color: #95bac5; }
    @media only screen and (max-width: 767px) {
      .content-block5 .news-blk.date-list ul li {
        min-height: 75px; } }
    .content-block5 .news-blk.date-list .left-blk {
      width: 42.6%;
      padding: 1px 0 0; }
      @media only screen and (max-width: 767px) {
        .content-block5 .news-blk.date-list .left-blk {
          width: 30.1%; } }
      @media only screen and (max-width: 479px) {
        .content-block5 .news-blk.date-list .left-blk {
          width: 100%; } }
      .content-block5 .news-blk.date-list .left-blk span {
        font-weight: normal;
        font-size: 24px;
        color: #95bac5;
        text-transform: capitalize;
        letter-spacing: 0; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .content-block5 .news-blk.date-list .left-blk span {
            font-size: 20px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .content-block5 .news-blk.date-list .left-blk span {
            font-size: 16px; } }
        @media only screen and (max-width: 767px) {
          .content-block5 .news-blk.date-list .left-blk span {
            font-size: 18px; } }
        @media only screen and (max-width: 479px) {
          .content-block5 .news-blk.date-list .left-blk span {
            font-size: 17px; } }
    .content-block5 .news-blk.date-list .right-blk {
      width: 57.4%; }
      @media only screen and (max-width: 767px) {
        .content-block5 .news-blk.date-list .right-blk {
          width: 69.9%; } }
      @media only screen and (max-width: 479px) {
        .content-block5 .news-blk.date-list .right-blk {
          width: 100%; } }
    .content-block5 .news-blk .link-outer.grey {
      padding: 0 23px 0 0; }

.content-button-blk {
  width: 100%;
  float: left;
  background: #dfeaee;
  padding: 71px 0 80px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .content-button-blk {
      padding: 50px 0 48px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .content-button-blk {
      padding: 38px 0 48px; } }
  @media only screen and (max-width: 767px) {
    .content-button-blk {
      padding: 25px 0 10px; } }
  .content-button-blk .title-blk {
    width: 100%;
    padding: 0 0 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .content-button-blk .title-blk {
        padding: 0 0 25px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .content-button-blk .title-blk {
        padding: 0 0 25px; } }
    @media only screen and (max-width: 767px) {
      .content-button-blk .title-blk {
        display: block;
        padding: 0 0 20px; } }
    .content-button-blk .title-blk h2 {
      font-weight: 800; }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .content-button-blk .title-blk h2 {
          font-size: 21px; } }
    .content-button-blk .title-blk .link-outer {
      padding: 0 24px 0 0; }
  .content-button-blk .btn-outer {
    width: 100%;
    float: left; }
    @media only screen and (max-width: 767px) {
      .content-button-blk .btn-outer {
        margin: 0 0 15px; } }
    .content-button-blk .btn-outer .button {
      min-width: 100%;
      padding: 0;
      height: 70px;
      line-height: 65px;
      color: #62626d; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .content-button-blk .btn-outer .button {
          width: 46px;
          height: 60px;
          font-size: 14px;
          line-height: 55px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .content-button-blk .btn-outer .button {
          width: 46px;
          height: 45px;
          font-size: 10px;
          line-height: 40px; } }
      @media only screen and (max-width: 767px) {
        .content-button-blk .btn-outer .button {
          height: 60px;
          line-height: 55px;
          font-size: 13px; } }
      .content-button-blk .btn-outer .button i {
        width: 70px;
        height: 70px;
        float: left;
        position: relative;
        background: #95bac5;
        top: -3px;
        left: -3px;
        -webkit-transition: all 200ms ease-in 0s;
        -moz-transition: all 200ms ease-in 0s;
        transition: all 200ms ease-in 0s;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .content-button-blk .btn-outer .button i {
            width: 55px;
            height: 60px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .content-button-blk .btn-outer .button i {
            width: 30px;
            height: 45px; } }
        @media only screen and (max-width: 767px) {
          .content-button-blk .btn-outer .button i {
            width: 60px;
            height: 60px; } }
        .content-button-blk .btn-outer .button i img {
          width: 32px; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .content-button-blk .btn-outer .button i img {
              width: 26px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .content-button-blk .btn-outer .button i img {
              width: 18px; } }
          @media only screen and (max-width: 767px) {
            .content-button-blk .btn-outer .button i img {
              width: 23px; } }
      .content-button-blk .btn-outer .button:hover i, .content-button-blk .btn-outer .button:focus i, .content-button-blk .btn-outer .button:active i {
        background: #f3722f; }

.single-contentout.description {
  padding: 32px 0 0px; }
  @media only screen and (max-width: 767px) {
    .single-contentout.description {
      padding: 18px 0 0px; } }
  .single-contentout.description .content-rightblk ul.inner-listing p {
    margin: 0 0 9px; }

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .content-maincontainer.inner-content {
    padding: 50px 0 30px; } }

@media only screen and (max-width: 767px) {
  .content-maincontainer.inner-content {
    padding: 30px 0 10px; } }

/**********************************************
    Inner Page 
***********************************************/
.main-top-section {
  width: 100%;
  height: auto;
  float: left;
  background: #cadde2;
  padding: 35px 0 30px; }
  @media only screen and (max-width: 767px) {
    .main-top-section {
      padding: 14px 0 10px; } }
  .main-top-section a {
    width: auto;
    height: auto;
    float: left;
    color: #62626d;
    font-size: 16px;
    font-weight: 600;
    padding: 0 25px 0 0; }
    .main-top-section a:hover {
      color: #f3722f; }
    .main-top-section a:after {
      font-size: 14px; }
      @media only screen and (max-width: 479px) {
        .main-top-section a:after {
          font-size: 12px; } }
    @media only screen and (max-width: 479px) {
      .main-top-section a {
        font-size: 14px;
        padding: 0 20px 0 0; } }
  .main-top-section ul {
    width: auto;
    height: auto;
    float: right;
    margin: 0;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .main-top-section ul {
        padding-top: 15px; } }
    .main-top-section ul li {
      width: auto;
      float: left;
      list-style: none;
      margin: 0;
      padding: 0; }
      .main-top-section ul li a {
        width: auto;
        height: auto;
        float: left;
        color: #92929d;
        font-size: 16px;
        font-weight: 800;
        padding: 0 28px; }
        .main-top-section ul li a:hover {
          color: #62626d; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .main-top-section ul li a {
            padding: 0 15px;
            font-size: 15px; } }
        @media only screen and (max-width: 767px) {
          .main-top-section ul li a {
            padding: 0 10px; } }
        @media only screen and (max-width: 479px) {
          .main-top-section ul li a {
            font-size: 14px; } }
      @media only screen and (max-width: 767px) {
        .main-top-section ul li:first-child a {
          padding: 0 10px 0 0; } }
      .main-top-section ul li:last-child a {
        padding-right: 0; }
        @media only screen and (max-width: 767px) {
          .main-top-section ul li:last-child a {
            padding: 0 0 0 10px; } }
      .main-top-section ul li.current-menu-item a {
        color: #62626d; }
    @media only screen and (max-width: 767px) {
      .main-top-section ul {
        width: 100%; } }

.content-maincontainer {
  width: 100%;
  height: auto;
  float: left;
  padding: 80px 0 45px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .content-maincontainer {
      padding: 60px 0 45px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .content-maincontainer {
      padding: 50px 0 40px; } }
  @media only screen and (max-width: 767px) {
    .content-maincontainer {
      padding: 40px 0 30px; } }

.single-contentout {
  width: 100%;
  height: auto;
  float: left;
  border-top: #cadde2 solid 3px;
  padding: 32px 0 87px;
  min-height: 186px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .single-contentout {
      padding-bottom: 50px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .single-contentout {
      padding-bottom: 30px; } }
  @media only screen and (max-width: 767px) {
    .single-contentout {
      padding: 30px 0; } }
  .single-contentout .content-leftblk {
    width: 41.66667%;
    height: auto;
    float: left;
    padding-right: 30px; }
    @media only screen and (max-width: 767px) {
      .single-contentout .content-leftblk {
        width: 100%;
        padding: 0; } }
    .single-contentout .content-leftblk h2 {
      font-weight: 800; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .single-contentout .content-leftblk h2 {
          font-size: 22px;
          line-height: 28px; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .single-contentout .content-leftblk h2 {
          font-size: 22px;
          line-height: 28px; } }
      @media only screen and (max-width: 767px) {
        .single-contentout .content-leftblk h2 {
          font-size: 22px;
          line-height: 28px; } }
  .single-contentout .content-rightblk {
    width: 58.33333%;
    height: auto;
    float: left;
    padding-left: 13px; }
    @media only screen and (max-width: 767px) {
      .single-contentout .content-rightblk {
        width: 100%;
        padding: 15px 0 0 0; } }
    .single-contentout .content-rightblk p {
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .single-contentout .content-rightblk p {
          margin-bottom: 15px;
          font-weight: 300;
          line-height: 24px; } }
      .single-contentout .content-rightblk p strong {
        font-style: italic;
        font-weight: 800; }
      .single-contentout .content-rightblk p a {
        color: #62626d;
        text-decoration: underline;
        font-size: 16px; }
        .single-contentout .content-rightblk p a strong {
          font-style: normal; }
        @media only screen and (min-width: 1200px) and (max-width: 1349px) {
          .single-contentout .content-rightblk p a.link-outer {
            display: block; } }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .single-contentout .content-rightblk p a.link-outer {
            display: block; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .single-contentout .content-rightblk p a.link-outer {
            display: block; } }
        @media only screen and (max-width: 767px) {
          .single-contentout .content-rightblk p a.link-outer {
            display: block; } }
        .single-contentout .content-rightblk p a.link-outer:after {
          font-size: 14px; }
          @media only screen and (min-width: 1200px) and (max-width: 1349px) {
            .single-contentout .content-rightblk p a.link-outer:after {
              right: auto;
              margin: 0 0 0 5px;
              top: inherit;
              transform: none; } }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .single-contentout .content-rightblk p a.link-outer:after {
              right: auto;
              margin: 0 0 0 5px;
              top: inherit;
              transform: none; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .single-contentout .content-rightblk p a.link-outer:after {
              right: auto;
              margin: 0 0 0 5px;
              top: inherit;
              transform: none; } }
          @media only screen and (max-width: 767px) {
            .single-contentout .content-rightblk p a.link-outer:after {
              right: auto;
              margin: 0 0 0 5px;
              top: inherit;
              transform: none; } }
        .single-contentout .content-rightblk p a:hover {
          color: #f3722f; }
    .single-contentout .content-rightblk p + ul {
      margin-top: -20px; }
    .single-contentout .content-rightblk img {
      margin: 20px 0 50px 0; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .single-contentout .content-rightblk img {
          margin: 20px 0 40px 0; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .single-contentout .content-rightblk img {
          margin: 20px 0 20px 0; } }
      @media only screen and (max-width: 767px) {
        .single-contentout .content-rightblk img {
          margin: 0 0 20px; } }
    .single-contentout .content-rightblk ul {
      width: 100%;
      height: auto;
      float: left;
      margin: 0px; }
      .single-contentout .content-rightblk ul li {
        width: 100%;
        height: auto;
        line-height: 27px;
        margin: 0;
        padding: 0 0 0 18px;
        list-style: none;
        position: relative;
        font-weight: 600;
        font-size: 16px; }
        .single-contentout .content-rightblk ul li:before {
          width: 4px;
          height: 4px;
          content: "";
          background: #62626d;
          -moz-border-radius: 5px;
          -webkit-border-radius: 5px;
          border-radius: 5px;
          position: absolute;
          left: 0;
          top: 13px; }
        @media only screen and (max-width: 767px) {
          .single-contentout .content-rightblk ul li {
            padding: 0 0 10px 10px;
            font-weight: 300;
            line-height: 24px; } }
        .single-contentout .content-rightblk ul li a {
          color: #62626d;
          text-decoration: underline; }
          .single-contentout .content-rightblk ul li a:hover {
            color: #f3722f; }
      .single-contentout .content-rightblk ul.financial_aid_list {
        margin: 0 0 40px; }
        .single-contentout .content-rightblk ul.financial_aid_list li {
          list-style-type: none;
          padding: 10px 0;
          border-bottom: #cadde2 solid 3px; }
          .single-contentout .content-rightblk ul.financial_aid_list li::before {
            display: none; }
          .single-contentout .content-rightblk ul.financial_aid_list li::after {
            content: "→";
            float: right;
            -webkit-transition: all 200ms ease-in 0s;
            -moz-transition: all 200ms ease-in 0s;
            transition: all 200ms ease-in 0s; }
          .single-contentout .content-rightblk ul.financial_aid_list li:hover:after {
            color: #f3722f; }
          .single-contentout .content-rightblk ul.financial_aid_list li a {
            text-decoration: none;
            display: inline-block;
            width: 95%; }
            .single-contentout .content-rightblk ul.financial_aid_list li a:after {
              content: "Learn More";
              float: right;
              color: #ffffff;
              -webkit-transition: all 200ms ease-in 0s;
              -moz-transition: all 200ms ease-in 0s;
              transition: all 200ms ease-in 0s; }
            .single-contentout .content-rightblk ul.financial_aid_list li a:hover:after {
              color: #f3722f; }
      .single-contentout .content-rightblk ul.inner-listing {
        list-style: none;
        margin: 0; }
        .single-contentout .content-rightblk ul.inner-listing > li {
          float: left;
          border-top: #cadde2 solid 3px;
          padding: 33px 0 9px 0; }
          .single-contentout .content-rightblk ul.inner-listing > li:first-child {
            border: none;
            padding: 0 0 9px 0; }
          @media only screen and (max-width: 767px) {
            .single-contentout .content-rightblk ul.inner-listing > li {
              padding: 18px 0 10px 0; } }
          .single-contentout .content-rightblk ul.inner-listing > li h4 {
            width: 100%;
            height: auto;
            float: left;
            position: relative;
            color: #f3722f;
            font-weight: 800;
            padding-bottom: 18px;
            margin-bottom: 13px; }
            .single-contentout .content-rightblk ul.inner-listing > li h4:after {
              width: 15px;
              height: 2px;
              position: absolute;
              content: "";
              left: 0;
              bottom: 0;
              background: #62626d; }
          .single-contentout .content-rightblk ul.inner-listing > li p + ul {
            margin-top: -20px; }
            @media only screen and (max-width: 479px) {
              .single-contentout .content-rightblk ul.inner-listing > li p + ul {
                margin: 0; } }
          .single-contentout .content-rightblk ul.inner-listing > li ul {
            padding-bottom: 30px;
            float: left; }
            @media only screen and (min-width: 992px) and (max-width: 1199px) {
              .single-contentout .content-rightblk ul.inner-listing > li ul {
                padding-bottom: 20px; } }
            @media only screen and (min-width: 768px) and (max-width: 991px) {
              .single-contentout .content-rightblk ul.inner-listing > li ul {
                padding-bottom: 20px; } }
            @media only screen and (max-width: 479px) {
              .single-contentout .content-rightblk ul.inner-listing > li ul {
                padding-bottom: 10px; } }
            .single-contentout .content-rightblk ul.inner-listing > li ul li a {
              color: #62626d;
              text-decoration: underline; }
              .single-contentout .content-rightblk ul.inner-listing > li ul li a:hover {
                color: #f3722f; }
          .single-contentout .content-rightblk ul.inner-listing > li:before {
            display: none; }
          .single-contentout .content-rightblk ul.inner-listing > li p {
            float: left; }
            .single-contentout .content-rightblk ul.inner-listing > li p a:hover {
              color: #f3722f; }
            .single-contentout .content-rightblk ul.inner-listing > li p a i {
              width: 14px;
              height: 7px;
              float: none;
              display: inline-block;
              position: relative;
              top: -2px;
              background: url(../images/svg/arrow_icon.svg) no-repeat center center;
              background-size: 14px 7px;
              margin-left: 11px; }
    .single-contentout .content-rightblk ol {
      margin: 0; }
      .single-contentout .content-rightblk ol > li {
        float: left;
        border-top: #cadde2 solid 3px;
        padding: 33px 0 9px 0; }
        .single-contentout .content-rightblk ol > li:first-child {
          border: none;
          padding: 0 0 9px 0; }
        @media only screen and (max-width: 767px) {
          .single-contentout .content-rightblk ol > li {
            padding: 18px 0 10px 0; } }
        .single-contentout .content-rightblk ol > li h4 {
          width: 100%;
          height: auto;
          float: left;
          position: relative;
          color: #f3722f;
          font-weight: 800;
          padding-bottom: 18px;
          margin-bottom: 13px; }
          .single-contentout .content-rightblk ol > li h4:after {
            width: 15px;
            height: 2px;
            position: absolute;
            content: "";
            left: 0;
            bottom: 0;
            background: #62626d; }
        .single-contentout .content-rightblk ol > li p + ul {
          margin-top: -20px; }
          @media only screen and (max-width: 479px) {
            .single-contentout .content-rightblk ol > li p + ul {
              margin: 0; } }
        .single-contentout .content-rightblk ol > li ul {
          padding-bottom: 30px;
          float: left; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .single-contentout .content-rightblk ol > li ul {
              padding-bottom: 20px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .single-contentout .content-rightblk ol > li ul {
              padding-bottom: 20px; } }
          @media only screen and (max-width: 479px) {
            .single-contentout .content-rightblk ol > li ul {
              padding-bottom: 10px; } }
          .single-contentout .content-rightblk ol > li ul li a {
            color: #62626d;
            text-decoration: underline; }
            .single-contentout .content-rightblk ol > li ul li a:hover {
              color: #f3722f; }
        .single-contentout .content-rightblk ol > li:before {
          display: none; }
        .single-contentout .content-rightblk ol > li p {
          float: left; }
          .single-contentout .content-rightblk ol > li p a:hover {
            color: #f3722f; }
          .single-contentout .content-rightblk ol > li p a i {
            width: 14px;
            height: 7px;
            float: none;
            display: inline-block;
            position: relative;
            top: -2px;
            background: url(../images/svg/arrow_icon.svg) no-repeat center center;
            background-size: 14px 7px;
            margin-left: 11px; }
    .single-contentout .content-rightblk .image-list {
      float: left;
      width: 100%;
      list-style-type: none;
      padding: 25px 0 0 !important;
      display: grid;
      grid-template-columns: 30% 30% 30%;
      grid-column-gap: 25px; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .single-contentout .content-rightblk .image-list {
          padding: 15px 0 0 !important; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .single-contentout .content-rightblk .image-list {
          padding: 0 !important; } }
      @media only screen and (max-width: 767px) {
        .single-contentout .content-rightblk .image-list {
          padding: 0 !important; } }
      @media only screen and (max-width: 479px) {
        .single-contentout .content-rightblk .image-list {
          float: none !important;
          max-width: 250px;
          margin: 0 auto;
          grid-template-columns: 100%; } }
      .single-contentout .content-rightblk .image-list li {
        float: left;
        width: 100%;
        margin-right: 0;
        margin-bottom: 33px;
        padding: 0; }
        .single-contentout .content-rightblk .image-list li:before {
          content: none; }
        .single-contentout .content-rightblk .image-list li:nth-of-type(3n) {
          margin-right: 0; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .single-contentout .content-rightblk .image-list li {
            margin-right: 25px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .single-contentout .content-rightblk .image-list li {
            margin-bottom: 25px; } }
        @media only screen and (max-width: 767px) {
          .single-contentout .content-rightblk .image-list li {
            margin-bottom: 20px; } }
        @media only screen and (max-width: 479px) {
          .single-contentout .content-rightblk .image-list li {
            width: 100%;
            margin-right: 0; } }
      .single-contentout .content-rightblk .image-list .image-list-item {
        float: left;
        width: 100%; }
        .single-contentout .content-rightblk .image-list .image-list-item .single-image-block {
          float: left;
          width: 100%;
          position: relative;
          margin-bottom: 15px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .single-contentout .content-rightblk .image-list .image-list-item .single-image-block {
              margin-bottom: 8px; } }
          @media only screen and (max-width: 767px) {
            .single-contentout .content-rightblk .image-list .image-list-item .single-image-block {
              margin-bottom: 6px; } }
        .single-contentout .content-rightblk .image-list .image-list-item .share-image {
          float: left;
          width: 100%;
          height: 200px;
          border: 3px solid #95bac5; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .single-contentout .content-rightblk .image-list .image-list-item .share-image {
              height: 170px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .single-contentout .content-rightblk .image-list .image-list-item .share-image {
              height: 140px; } }
          @media only screen and (max-width: 767px) {
            .single-contentout .content-rightblk .image-list .image-list-item .share-image {
              height: 150px; } }
        .single-contentout .content-rightblk .image-list .image-list-item .overlay .img-overlay img {
          margin: 0; }
        .single-contentout .content-rightblk .image-list .image-list-item span {
          display: inline-block;
          width: 100%;
          color: #62626d;
          font-size: 16px;
          font-weight: 600; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .single-contentout .content-rightblk .image-list .image-list-item span {
              font-size: 13px;
              line-height: 18px; } }
          @media only screen and (max-width: 767px) {
            .single-contentout .content-rightblk .image-list .image-list-item span {
              font-size: 13px;
              line-height: 18px; } }

.news-detailsouter {
  float: left;
  width: 100%;
  padding: 16px 0 0 0; }
  .news-detailsouter h6 {
    font-family: "din-2014", sans-serif;
    font-weight: 800;
    letter-spacing: 2px;
    padding-bottom: 20px; }
  .news-detailsouter h2 {
    padding-bottom: 23px;
    font-weight: normal !important; }
  .news-detailsouter .meta-info {
    float: left;
    width: 100%;
    list-style: none;
    margin: 0px;
    padding: 0px; }
    .news-detailsouter .meta-info li {
      float: left;
      position: relative;
      margin: 0px;
      color: #95bac5;
      font-family: "din-2014", sans-serif;
      font-weight: 600;
      margin-left: 11px;
      padding-left: 17px;
      font-size: 16px; }
      .news-detailsouter .meta-info li span {
        color: #95bac5;
        margin-right: 5px; }
      .news-detailsouter .meta-info li a {
        display: inline-block;
        color: #95bac5; }
        .news-detailsouter .meta-info li a:hover {
          color: #f3722f; }
      .news-detailsouter .meta-info li:before {
        content: "•";
        position: absolute;
        left: 0px; }
      .news-detailsouter .meta-info li:first-child:before {
        content: none; }
      .news-detailsouter .meta-info li:first-child {
        margin-left: 0px;
        padding-left: 0px; }

.forms-outercont {
  width: 100%;
  height: auto;
  float: left; }
  .forms-outercont .single-section {
    width: 100%;
    height: auto;
    float: left;
    padding-bottom: 28px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .forms-outercont .single-section {
        padding-bottom: 15px;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; } }
    .forms-outercont .single-section .text-field {
      width: 100%;
      height: 48px;
      border: #95bac5 solid 3px;
      float: left;
      margin: 0;
      padding: 8px 15px 8px 25px;
      font-size: 16px;
      color: #62626d !important;
      box-shadow: none;
      font-family: "din-2014", sans-serif;
      outline: 0;
      letter-spacing: 0.2px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
      .forms-outercont .single-section .text-field::-webkit-input-placeholder {
        color: #95bac5 !important;
        opacity: 1; }
      .forms-outercont .single-section .text-field::-moz-placeholder {
        color: #95bac5 !important;
        opacity: 1; }
      .forms-outercont .single-section .text-field:-ms-input-placeholder {
        color: #95bac5 !important;
        opacity: 1; }
      .forms-outercont .single-section .text-field.small-blk {
        width: 48.5%;
        max-width: 320px; }
        @media only screen and (max-width: 767px) {
          .forms-outercont .single-section .text-field.small-blk {
            width: 100%;
            max-width: none; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .forms-outercont .single-section .text-field {
          padding: 8px 10px 8px 10px; } }
      @media only screen and (max-width: 767px) {
        .forms-outercont .single-section .text-field {
          margin-top: 15px; } }
  .forms-outercont .field-section {
    width: 100%;
    float: left;
    height: 0;
    overflow: hidden; }
    .forms-outercont .field-section.selectable {
      height: auto;
      padding-top: 28px; }
    .forms-outercont .field-section h5 {
      width: 100%;
      height: auto;
      float: left;
      color: #95bac5 !important;
      font-weight: 600;
      padding-bottom: 12px; }
      .forms-outercont .field-section h5.field_selected_message {
        display: none; }
      .forms-outercont .field-section h5.field_unselected_message {
        display: block; }
    .forms-outercont .field-section.field_selected h5.field_selected_message {
      display: block; }
    .forms-outercont .field-section.field_selected h5.field_unselected_message {
      display: none; }
    @media only screen and (min-width: 992px) and (max-width: 1199px) {
      .forms-outercont .field-section {
        padding-top: 20px; } }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .forms-outercont .field-section {
        padding-top: 15px; } }
    @media only screen and (max-width: 767px) {
      .forms-outercont .field-section {
        padding-top: 0; } }
  .forms-outercont .single-block {
    width: 100%;
    height: auto;
    float: left;
    padding-left: 25px;
    position: relative;
    padding-bottom: 8px;
    display: none; }
    .forms-outercont .single-block.active-option {
      display: block; }
    .forms-outercont .single-block label {
      cursor: pointer; }

.top-border {
  padding-top: 33px;
  border-top: #cadde2 solid 3px;
  margin-top: 9px !important;
  display: inline-block; }

.link-sectionouter {
  width: 100%;
  height: auto;
  float: left;
  padding: 50px 0;
  text-align: center; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .link-sectionouter {
      padding: 40px 0; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .link-sectionouter {
      padding: 30px 0; } }
  @media only screen and (max-width: 767px) {
    .link-sectionouter {
      padding: 20px 0 0  0; } }
  .link-sectionouter .url-block {
    width: 100%;
    height: 60px;
    float: left;
    background: #f4f8f9;
    text-align: center;
    line-height: 60px;
    border: none;
    float: left;
    margin: 0;
    font-size: 16px;
    color: #62626d !important;
    box-shadow: none;
    font-family: "din-2014", sans-serif;
    outline: 0;
    letter-spacing: 0.2px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .link-sectionouter .url-block::-moz-selection {
      background: none; }
    .link-sectionouter .url-block::selection {
      background: none; }
  .link-sectionouter a {
    width: auto;
    display: inline-block;
    font-weight: 600;
    margin-top: 20px;
    color: #eaf1f3; }
  .link-sectionouter.active-url a {
    color: #95bac5; }
    .link-sectionouter.active-url a:hover, .link-sectionouter.active-url a:focus {
      color: #42424d; }

/**********************************************
    Universities Page 
***********************************************/
.universities-outercon {
  float: left;
  width: 100%;
  background: #f5f8f9;
  padding: 112px 0 118px; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .universities-outercon {
      padding: 70px 0; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .universities-outercon {
      padding: 50px 0; } }
  @media only screen and (max-width: 767px) {
    .universities-outercon {
      padding: 30px 0;
      margin-top: 80px; } }
  .universities-outercon h2 {
    padding-bottom: 20px; }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .universities-outercon h2 {
        font-size: 22px;
        padding-bottom: 15px; } }
    @media only screen and (max-width: 767px) {
      .universities-outercon h2 {
        font-size: 20px;
        line-height: 24px;
        padding-bottom: 15px; } }

.universities-list {
  float: left;
  width: 100%; }
  .universities-list ul {
    float: left;
    width: 100%;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .universities-list ul li {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      justify-content: space-between;
      width: 100%;
      padding: 34px 0;
      border-bottom: 3px solid #95bac5;
      margin: 0; }
      .universities-list ul li:first-child {
        border-top: 3px solid #95bac5; }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .universities-list ul li {
          padding: 25px 0; } }
      @media only screen and (max-width: 767px) {
        .universities-list ul li {
          padding: 20px 0;
          -webkit-box-direction: normal;
          -webkit-box-orient: vertical;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; } }
      @media only screen and (max-width: 479px) {
        .universities-list ul li {
          padding: 40px 0 45px; } }
      @media only screen and (max-width: 479px) {
        .universities-list ul li:last-child {
          border-bottom: none; } }
    .universities-list ul .details-leftblk {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .universities-list ul .details-leftblk {
          width: 100%;
          padding-bottom: 20px;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          -webkit-justify-content: center;
          -moz-justify-content: center;
          justify-content: center; } }
      @media only screen and (max-width: 479px) {
        .universities-list ul .details-leftblk {
          -webkit-box-direction: normal;
          -webkit-box-orient: vertical;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          padding-bottom: 20px; } }
      .universities-list ul .details-leftblk .logo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        width: 34.3%;
        padding-right: 22px; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .universities-list ul .details-leftblk .logo {
            width: 28%;
            padding-right: 15px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .universities-list ul .details-leftblk .logo {
            width: 26%;
            padding-right: 0; } }
        @media only screen and (max-width: 767px) {
          .universities-list ul .details-leftblk .logo {
            width: 100%;
            padding-right: 0;
            max-width: 120px; } }
        @media only screen and (max-width: 479px) {
          .universities-list ul .details-leftblk .logo {
            padding-bottom: 34px; } }
        .universities-list ul .details-leftblk .logo a:hover {
          opacity: 0.7; }
        .universities-list ul .details-leftblk .logo img {
          display: block; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .universities-list ul .details-leftblk .logo img {
              max-width: 50px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .universities-list ul .details-leftblk .logo img {
              max-width: 40px; } }
          @media only screen and (max-width: 767px) {
            .universities-list ul .details-leftblk .logo img {
              height: 48px; } }
      .universities-list ul .details-leftblk .title-blk {
        float: left; }
        @media only screen and (max-width: 479px) {
          .universities-list ul .details-leftblk .title-blk {
            text-align: center;
            width: 100%; } }
        .universities-list ul .details-leftblk .title-blk h2 {
          padding: 0 0 3px; }
          @media only screen and (min-width: 992px) and (max-width: 1199px) {
            .universities-list ul .details-leftblk .title-blk h2 {
              padding: 0;
              font-size: 22px; } }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .universities-list ul .details-leftblk .title-blk h2 {
              padding: 0;
              font-size: 18px;
              line-height: 22px; } }
          @media only screen and (max-width: 767px) {
            .universities-list ul .details-leftblk .title-blk h2 {
              padding: 0;
              font-size: 18px;
              line-height: 22px; } }
          @media only screen and (max-width: 479px) {
            .universities-list ul .details-leftblk .title-blk h2 {
              padding: 0;
              font-size: 24px;
              line-height: 24px; } }
        .universities-list ul .details-leftblk .title-blk span {
          display: block;
          color: #95bac5;
          font-weight: 600;
          font-size: 16px;
          line-height: 24px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .universities-list ul .details-leftblk .title-blk span {
              font-size: 14px; } }
          @media only screen and (max-width: 767px) {
            .universities-list ul .details-leftblk .title-blk span {
              font-size: 14px; } }
          @media only screen and (max-width: 479px) {
            .universities-list ul .details-leftblk .title-blk span {
              font-size: 16px; } }
    .universities-list ul .details-rightblk {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      justify-content: flex-end;
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .universities-list ul .details-rightblk {
          width: 100%;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          -webkit-justify-content: center;
          -moz-justify-content: center;
          justify-content: center; } }
      @media only screen and (max-width: 479px) {
        .universities-list ul .details-rightblk {
          display: block;
          max-width: 290px;
          margin: 0 auto; } }
      .universities-list ul .details-rightblk a.button {
        min-width: 170px;
        height: 48px;
        line-height: 44px;
        text-align: center;
        margin-left: 28px;
        font-size: 12px; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .universities-list ul .details-rightblk a.button {
            margin-left: 20px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .universities-list ul .details-rightblk a.button {
            margin-left: 10px;
            min-width: 130px;
            height: 45px;
            line-height: 40px;
            padding: 0 10px; } }
        @media only screen and (max-width: 767px) {
          .universities-list ul .details-rightblk a.button {
            margin-left: 15px;
            min-width: 150px;
            height: 45px;
            line-height: 40px; } }
        @media only screen and (max-width: 479px) {
          .universities-list ul .details-rightblk a.button {
            margin: 14px 0 0;
            font-size: 11px;
            float: left;
            min-width: 138px;
            height: 38px;
            line-height: 34px;
            display: block;
            padding: 0;
            box-sizing: border-box; } }
        .universities-list ul .details-rightblk a.button.btn-small {
          min-width: 48px;
          line-height: 27px; }
          @media only screen and (max-width: 479px) {
            .universities-list ul .details-rightblk a.button.btn-small {
              min-width: 138px; } }
        .universities-list ul .details-rightblk a.button.arrow {
          padding: 0 37px 0 15px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .universities-list ul .details-rightblk a.button.arrow {
              padding: 0 25px 0 10px; } }
          @media only screen and (max-width: 767px) {
            .universities-list ul .details-rightblk a.button.arrow {
              padding: 0 28px 0 15px; } }
          @media only screen and (max-width: 479px) {
            .universities-list ul .details-rightblk a.button.arrow {
              min-width: 100%; } }
          .universities-list ul .details-rightblk a.button.arrow:after {
            font-size: 10px;
            right: 32px; }
            @media only screen and (min-width: 768px) and (max-width: 991px) {
              .universities-list ul .details-rightblk a.button.arrow:after {
                right: 10px; } }
            @media only screen and (max-width: 767px) {
              .universities-list ul .details-rightblk a.button.arrow:after {
                right: 20px; } }
            @media only screen and (max-width: 479px) {
              .universities-list ul .details-rightblk a.button.arrow:after {
                right: 30%; } }
        .universities-list ul .details-rightblk a.button:hover .marker-icon, .universities-list ul .details-rightblk a.button:focus .marker-icon, .universities-list ul .details-rightblk a.button:active .marker-icon {
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s;
          background: url(../images/svg/marker-yellow.svg) no-repeat center center; }
        .universities-list ul .details-rightblk a.button:hover .dollar-icon, .universities-list ul .details-rightblk a.button:focus .dollar-icon, .universities-list ul .details-rightblk a.button:active .dollar-icon {
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s;
          background: url(../images/svg/dollar_yellow.svg) no-repeat center center;
          background-size: 17px 18px; }
        .universities-list ul .details-rightblk a.button .marker-icon {
          width: 13px;
          height: 18px;
          position: relative;
          display: inline-block;
          top: 50%;
          background: url(../images/svg/marker.svg) no-repeat center center;
          background-size: 13px 18px;
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
        .universities-list ul .details-rightblk a.button .dollar-icon {
          width: 13px;
          height: 18px;
          position: relative;
          display: inline-block;
          top: 50%;
          background: url(../images/svg/dollar_sign.svg) no-repeat center center;
          background-size: 17px 18px;
          -webkit-transition: all 200ms ease-in 0s;
          -moz-transition: all 200ms ease-in 0s;
          transition: all 200ms ease-in 0s;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
        .universities-list ul .details-rightblk a.button .small-only {
          display: none;
          margin-left: 8px;
          text-align: left;
          vertical-align: text-bottom;
          line-height: 11px;
          font-size: 11px;
          color: #95bac5; }
          @media only screen and (max-width: 479px) {
            .universities-list ul .details-rightblk a.button .small-only {
              display: inline; } }
      .universities-list ul .details-rightblk a:first-child {
        margin-left: 0;
        margin-right: 0; }

/**********************************************
    News Page 
***********************************************/
.widget-box-section {
  float: left;
  width: 100%; }
  .widget-box-section .widget-box {
    float: left;
    width: 100%; }
    .widget-box-section .widget-box .widget-img-outer {
      float: left;
      width: 100%;
      position: relative; }
    .widget-box-section .widget-box .widget-image {
      float: left;
      width: 100%;
      height: 300px; }
    .widget-box-section .widget-box .widget-content {
      float: left;
      width: 100%;
      padding: 35px 0 0 0; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .widget-box-section .widget-box .widget-content {
          padding: 25px 0 0 0; } }
      @media only screen and (min-width: 768px) and (max-width: 991px) {
        .widget-box-section .widget-box .widget-content {
          padding: 15px 0 0 0; } }
      @media only screen and (max-width: 767px) {
        .widget-box-section .widget-box .widget-content {
          padding: 15px 0 15px 0; } }
      .widget-box-section .widget-box .widget-content h6 {
        font-family: "din-2014", sans-serif;
        font-weight: 800;
        letter-spacing: 2px;
        padding-bottom: 20px; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .widget-box-section .widget-box .widget-content h6 {
            padding-bottom: 10px; } }
        @media only screen and (max-width: 767px) {
          .widget-box-section .widget-box .widget-content h6 {
            padding-bottom: 10px; } }
      .widget-box-section .widget-box .widget-content h2 {
        padding-bottom: 23px; }
        .widget-box-section .widget-box .widget-content h2 a {
          color: #62626d;
          -webkit-line-clamp: 2;
          line-height: 32px;
          max-height: 64px;
          display: inline-block;
          overflow: hidden; }
          .widget-box-section .widget-box .widget-content h2 a:hover {
            color: #95bac5; }
        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          .widget-box-section .widget-box .widget-content h2 {
            font-size: 20px;
            line-height: 26px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .widget-box-section .widget-box .widget-content h2 {
            font-size: 15px;
            line-height: 24px;
            padding-bottom: 15px; } }
        @media only screen and (max-width: 767px) {
          .widget-box-section .widget-box .widget-content h2 {
            font-size: 20px;
            line-height: 26px;
            padding-bottom: 10px; } }
        @media only screen and (max-width: 479px) {
          .widget-box-section .widget-box .widget-content h2 {
            font-size: 18px;
            line-height: 26px; } }
    .widget-box-section .widget-box .meta-info {
      float: left;
      width: 100%;
      list-style: none;
      margin: 0px;
      padding: 0px; }
      .widget-box-section .widget-box .meta-info li {
        float: left;
        position: relative;
        margin: 0px;
        color: #95bac5;
        font-family: "din-2014", sans-serif;
        font-weight: 600;
        margin-left: 11px;
        padding-left: 17px;
        font-size: 16px; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .widget-box-section .widget-box .meta-info li {
            font-size: 12px;
            line-height: 20px;
            padding-left: 11px;
            margin-left: 9px; } }
        @media only screen and (max-width: 479px) {
          .widget-box-section .widget-box .meta-info li {
            margin-left: 8px; } }
        .widget-box-section .widget-box .meta-info li span {
          color: #95bac5;
          margin-right: 5px; }
        .widget-box-section .widget-box .meta-info li a {
          display: inline-block;
          color: #95bac5; }
          .widget-box-section .widget-box .meta-info li a:hover {
            color: #f3722f; }
        .widget-box-section .widget-box .meta-info li img {
          width: 16px;
          height: 20px;
          display: inline-block;
          vertical-align: top;
          margin-right: 5px; }
        .widget-box-section .widget-box .meta-info li:before {
          content: "•";
          position: absolute;
          left: 0px; }
        .widget-box-section .widget-box .meta-info li:first-child:before {
          content: none; }
          @media only screen and (max-width: 479px) {
            .widget-box-section .widget-box .meta-info li:first-child:before {
              content: "•"; } }
        .widget-box-section .widget-box .meta-info li:first-child {
          margin-left: 0px;
          padding-left: 0px; }
          @media only screen and (max-width: 479px) {
            .widget-box-section .widget-box .meta-info li:first-child {
              margin-left: 8px;
              padding-left: 17px; } }

.overlay {
  position: relative;
  overflow: hidden; }
  .overlay .img-overlay {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
    .overlay .img-overlay span {
      font-size: 24px;
      display: inline-block;
      vertical-align: middle;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      position: absolute;
      left: 50%;
      top: 50%;
      font-family: "din-2014", sans-serif;
      width: 100%;
      text-align: center;
      padding: 0 10px;
      color: #95bac5;
      opacity: 0;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .overlay .img-overlay span a {
        line-height: 16px;
        display: inline-block;
        vertical-align: middle; }
        .overlay .img-overlay span a:hover {
          color: #f3722f; }
      .overlay .img-overlay span img {
        width: 22px;
        height: 20px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 5px; }
  .overlay:hover .img-overlay {
    background: rgba(66, 66, 77, 0.85); }
    .overlay:hover .img-overlay span {
      opacity: 1; }

.news-list-section {
  float: left;
  width: 100%;
  padding: 118px 0 0px 0; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .news-list-section {
      padding-top: 70px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .news-list-section {
      padding-top: 40px; } }
  @media only screen and (max-width: 767px) {
    .news-list-section {
      padding-top: 10px; } }
  .news-list-section .news-list-item {
    float: left;
    width: 100%;
    position: relative; }
    .news-list-section .news-list-item h2, .news-list-section .news-list-item h5, .news-list-section .news-list-item p {
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
    .news-list-section .news-list-item:hover h2, .news-list-section .news-list-item:hover h5, .news-list-section .news-list-item:hover p {
      color: #95bac5; }
    .news-list-section .news-list-item:hover .img-overlay {
      height: 100%;
      visibility: visible;
      opacity: 1; }
      .news-list-section .news-list-item:hover .img-overlay span {
        height: auto;
        visibility: visible;
        opacity: 1px; }
    @media only screen and (max-width: 767px) {
      .news-list-section .news-list-item:nth-child(odd) {
        background: #f4f8f9; } }
    .news-list-section .news-list-item:nth-child(odd) .news-item:before {
      content: "";
      position: absolute;
      right: 135px;
      top: 0px;
      width: 500%;
      height: 100%;
      background: #f4f8f9;
      z-index: -1; }
      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        .news-list-section .news-list-item:nth-child(odd) .news-item:before {
          right: 100px; } }
      @media only screen and (max-width: 767px) {
        .news-list-section .news-list-item:nth-child(odd) .news-item:before {
          content: none; } }
    .news-list-section .news-list-item .news-item {
      float: left;
      width: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      padding: 32px 0; }
      @media only screen and (max-width: 767px) {
        .news-list-section .news-list-item .news-item {
          -webkit-box-direction: normal;
          -webkit-box-orient: vertical;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          padding: 20px 0; } }
      .news-list-section .news-list-item .news-item .news-title {
        float: left;
        width: 19%;
        padding: 3px 0 0 0; }
        @media only screen and (max-width: 767px) {
          .news-list-section .news-list-item .news-item .news-title {
            width: 100%;
            padding-bottom: 10px; } }
        .news-list-section .news-list-item .news-item .news-title h5 {
          font-family: "din-2014", sans-serif;
          font-weight: 800;
          padding-bottom: 7px;
          letter-spacing: 1px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .news-list-section .news-list-item .news-item .news-title h5 {
              font-size: 14px;
              padding-bottom: 0px;
              letter-spacing: 0.5px; } }
        .news-list-section .news-list-item .news-item .news-title span {
          font-family: "din-2014", sans-serif;
          font-weight: 600;
          font-size: 16px;
          color: #95bac5; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .news-list-section .news-list-item .news-item .news-title span {
              font-size: 14px; } }
      .news-list-section .news-list-item .news-item .news-content {
        float: left;
        width: 68%;
        padding: 0 112px 0 8px; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .news-list-section .news-list-item .news-item .news-content {
            padding: 0 30px 0 8px; } }
        @media only screen and (max-width: 767px) {
          .news-list-section .news-list-item .news-item .news-content {
            width: 100%;
            padding: 0px 0 20px 0; } }
        .news-list-section .news-list-item .news-item .news-content h2 {
          padding-bottom: 20px; }
          @media only screen and (min-width: 768px) and (max-width: 991px) {
            .news-list-section .news-list-item .news-item .news-content h2 {
              font-size: 20px;
              line-height: 26px; } }
          @media only screen and (max-width: 767px) {
            .news-list-section .news-list-item .news-item .news-content h2 {
              padding-bottom: 5px; } }
        .news-list-section .news-list-item .news-item .news-content p {
          margin-bottom: 0px;
          -webkit-line-clamp: 2;
          line-height: 27px;
          max-height: 54px;
          display: block;
          overflow: hidden;
          text-overflow: ellipsis; }
      .news-list-section .news-list-item .news-item .news-image-outer {
        float: left;
        width: 27%;
        padding: 8px 0 8px 0; }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .news-list-section .news-list-item .news-item .news-image-outer {
            width: 40%; } }
        @media only screen and (max-width: 767px) {
          .news-list-section .news-list-item .news-item .news-image-outer {
            width: 100%; } }
        .news-list-section .news-list-item .news-item .news-image-outer .widget-image {
          height: 143px; }
          @media only screen and (max-width: 767px) {
            .news-list-section .news-list-item .news-item .news-image-outer .widget-image {
              height: 200px; } }
        @media only screen and (min-width: 768px) and (max-width: 991px) {
          .news-list-section .news-list-item .news-item .news-image-outer .img-overlay span {
            font-size: 20px; } }
        .news-list-section .news-list-item .news-item .news-image-outer .img-overlay span img {
          width: 20px;
          margin-left: 3px; }

.button-outer {
  float: left;
  width: 100%;
  text-align: center;
  padding: 119px 0 50px 0; }
  @media only screen and (min-width: 992px) and (max-width: 1199px) {
    .button-outer {
      padding: 95px 0 50px 0; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .button-outer {
      padding: 50px 0 0 0; } }
  @media only screen and (max-width: 767px) {
    .button-outer {
      padding: 40px 0 0px 0; } }
  .button-outer .view-more, .button-outer .view-more-stories {
    display: inline-block;
    border: 4px solid #ebf0f4;
    height: 70px;
    min-width: 370px;
    text-align: center;
    font-family: "din-2014", sans-serif;
    font-weight: 800;
    line-height: 62px;
    font-size: 16px;
    letter-spacing: 1px; }
    @media only screen and (min-width: 768px) and (max-width: 991px) {
      .button-outer .view-more, .button-outer .view-more-stories {
        height: 60px;
        line-height: 54px;
        min-width: 320px;
        border-width: 3px; } }
    @media only screen and (max-width: 767px) {
      .button-outer .view-more, .button-outer .view-more-stories {
        height: 50px;
        line-height: 42px;
        min-width: 270px;
        border-width: 3px; } }
    .button-outer .view-more:hover, .button-outer .view-more-stories:hover {
      border-color: #95bac5; }
    .button-outer .view-more span, .button-outer .view-more-stories span {
      display: inline-block;
      vertical-align: middle;
      color: #95bac5; }
    .button-outer .view-more img, .button-outer .view-more-stories img {
      width: 16px;
      height: 16px;
      margin-left: 15px;
      display: inline-block;
      vertical-align: middle; }

.filters {
  background: #eaf1f3;
  margin-bottom: 50px;
  padding: 40px; }

#stories_filters {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  #stories_filters .filter-label h6 {
    font-family: "din-2014", sans-serif;
    font-weight: 800;
    letter-spacing: 2px; }
  #stories_filters .select_containers .select_container {
    float: left;
    margin: 0 10px; }
    #stories_filters .select_containers .select_container .customSelect-field.hasCustomSelect {
      width: inherit !important; }
    #stories_filters .select_containers .select_container.university_select_container {
      width: 250px; }
    #stories_filters .select_containers .select_container.area_of_study_select_container {
      width: 200px; }
    #stories_filters .select_containers .select_container.topic_select_container {
      width: 200px; }

.stories_outer_wrap {
  clear: both; }
  .stories_outer_wrap .story-item {
    height: 200px;
    background: #cadde2;
    margin: 30px 0; }
    .stories_outer_wrap .story-item .story-content {
      width: 55%;
      float: right;
      padding: 30px;
      position: relative; }
      .stories_outer_wrap .story-item .story-content h6 {
        font-family: "din-2014", sans-serif;
        font-weight: 800;
        letter-spacing: 2px;
        padding-bottom: 20px; }
      .stories_outer_wrap .story-item .story-content p {
        -webkit-line-clamp: 3;
        line-height: 22px;
        max-height: 66px;
        display: inline-block;
        overflow: hidden;
        font-size: 13px; }
      .stories_outer_wrap .story-item .story-content .story-title {
        position: absolute;
        left: 30px;
        bottom: 20px; }
        .stories_outer_wrap .story-item .story-content .story-title span {
          font-size: 14px;
          color: #95bac5; }
    .stories_outer_wrap .story-item .story-image-outer {
      width: 45%; }
      .stories_outer_wrap .story-item .story-image-outer .widget-image {
        height: 200px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiZm91bmRhdGlvbi91dGlsL191dGlsLnNjc3MiLCJmb3VuZGF0aW9uL3V0aWwvX21hdGguc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fdW5pdC5zY3NzIiwiZm91bmRhdGlvbi91dGlsL192YWx1ZS5zY3NzIiwiZm91bmRhdGlvbi91dGlsL19kaXJlY3Rpb24uc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fY29sb3Iuc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fc2VsZWN0b3Iuc2NzcyIsImZvdW5kYXRpb24vdXRpbC9fZmxleC5zY3NzIiwiZm91bmRhdGlvbi91dGlsL19icmVha3BvaW50LnNjc3MiLCJmb3VuZGF0aW9uL3V0aWwvX21peGlucy5zY3NzIiwiZm91bmRhdGlvbi91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCJmb3VuZGF0aW9uL19nbG9iYWwuc2NzcyIsIm1vZHVsZXMvX2ZvbnRzLnNjc3MiLCJtb2R1bGVzL19taXhpbnMuc2NzcyIsIm1vZHVsZXMvX3ZhcmlhYmxlcy5zY3NzIiwibW9kdWxlcy9fdHlwb2dyYXBoeS5zY3NzIiwibW9kdWxlcy9faGVhZGVyLnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2Jhbm5lci5zY3NzIiwibW9kdWxlcy9zZWN0aW9ucy9faG9tZS5zY3NzIiwibW9kdWxlcy9zZWN0aW9ucy9faW5uZXJwYWdlLnNjc3MiLCJtb2R1bGVzL3NlY3Rpb25zL191bml2ZXJzaXRpZXMuc2NzcyIsIm1vZHVsZXMvc2VjdGlvbnMvX25ld3Muc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdmb3VuZGF0aW9uL3V0aWwvdXRpbCc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24vZ2xvYmFsJzsgXHJcblxyXG4vL0ZvbnRzXHJcbiAgICBAaW1wb3J0ICBcIm1vZHVsZXMvX2ZvbnRzXCI7XHJcblxyXG4vL2ltcG9ydCBtb2R1bGVzXHJcbiAgICBAaW1wb3J0ICBcIm1vZHVsZXMvX21peGluc1wiO1xyXG4gICAgQGltcG9ydCAgXCJtb2R1bGVzL190eXBvZ3JhcGh5XCI7XHJcbiAgICBAaW1wb3J0ICBcIm1vZHVsZXMvX2hlYWRlclwiO1xyXG4gICAgQGltcG9ydCAgXCJtb2R1bGVzL19mb290ZXJcIjtcclxuICAgIEBpbXBvcnQgIFwibW9kdWxlcy9fYmFubmVyXCI7XHJcblxyXG4vLyBwYWdlc1xyXG5cdEBpbXBvcnQgIFwibW9kdWxlcy9zZWN0aW9ucy9faG9tZVwiO1xyXG5cdEBpbXBvcnQgIFwibW9kdWxlcy9zZWN0aW9ucy9faW5uZXJwYWdlXCI7XHJcbiAgQGltcG9ydCAgXCJtb2R1bGVzL3NlY3Rpb25zL191bml2ZXJzaXRpZXNcIjtcclxuICBAaW1wb3J0ICBcIm1vZHVsZXMvc2VjdGlvbnMvX25ld3NcIjtcclxuICAgXHJcbiAiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AaW1wb3J0ICdtYXRoJztcclxuQGltcG9ydCAndW5pdCc7XHJcbkBpbXBvcnQgJ3ZhbHVlJztcclxuQGltcG9ydCAnZGlyZWN0aW9uJztcclxuQGltcG9ydCAnY29sb3InO1xyXG5AaW1wb3J0ICdzZWxlY3Rvcic7XHJcbkBpbXBvcnQgJ2ZsZXgnO1xyXG5AaW1wb3J0ICdicmVha3BvaW50JztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuQGltcG9ydCAndHlwb2dyYXBoeSc7XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxyXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xyXG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XHJcbiAgQGlmICgkYiAhPSAwKSB7XHJcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gYWJzKCRhKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XHJcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xyXG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XHJcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XHJcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XHJcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XHJcbiAgfVxyXG5cclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcclxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XHJcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcclxuICAkeDogMTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XHJcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkeDtcclxufVxyXG5cclxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cclxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxyXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcclxuICAkdzogbnRoKCRyYXRpbywgMSk7XHJcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xyXG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxyXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcclxuICAkcmVtLXZhbHVlczogKCk7XHJcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XHJcblxyXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcclxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XHJcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XHJcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICRjb3VudCA9PSAxIHtcclxuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XHJcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xyXG59XHJcblxyXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xyXG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcclxuICB9XHJcblxyXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcclxuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXHJcbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcclxuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcclxuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XHJcbiAgfVxyXG5cclxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XHJcbiAgfVxyXG5cclxuICAvLyBUdXJuIDByZW0gaW50byAwXHJcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcclxuICAgICR2YWx1ZTogMDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXHJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcclxuXHJcbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxyXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcclxuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuICB9XHJcblxyXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xyXG5cclxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcclxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcclxuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xyXG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xyXG4gIH1cclxuXHJcbiAgLy8gJ3B4J1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XHJcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcclxuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXHJcbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xyXG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcclxuICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXHJcbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xyXG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcclxuXHJcbiAgQGlmICRsZW5ndGggPT0gMSB7XHJcbiAgICBAcmV0dXJuICR2YWw7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDIge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxyXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXHJcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDMge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcclxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcclxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG4gIEBpZiAkbGVuZ3RoID09IDQge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KChcclxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXHJcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXHJcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxyXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXHJcbiAgICApLCAkc2lkZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cclxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcclxuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcclxuICBAZWFjaCAkdiBpbiAkdmFsIHtcclxuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcclxuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xyXG4gICAgICBAcmV0dXJuICR2O1xyXG4gICAgfVxyXG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XHJcbiAgICAgIEByZXR1cm4gJHY7XHJcbiAgICB9XHJcbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xyXG4gICAgICBAcmV0dXJuICR2O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGVmYXVsdHNcclxuICAkZGVmYXVsdHM6IChcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgc3R5bGU6IHNvbGlkLFxyXG4gICAgY29sb3I6ICMwMDAsXHJcbiAgKTtcclxuXHJcbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xyXG59XHJcblxyXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXHJcbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cclxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXHJcbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcclxuICBAZWFjaCAka2V5IGluICRrZXlzIHtcclxuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJG1hcDtcclxufVxyXG5cclxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxyXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxyXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xyXG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcclxuICAgICRrZXlzOiAoKTtcclxuICAgICR2YWx1ZXM6ICgpO1xyXG5cclxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XHJcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xyXG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XHJcbiAgICAgIEByZXR1cm4gJGtleXM7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XHJcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcclxuXHJcbn1cclxuXHJcbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxyXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcclxuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcclxuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXHJcbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxyXG4gICRkaXJcclxuKSB7XHJcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xyXG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xyXG5cclxuICBAaWYgJHBsYWNlID09IG51bGwge1xyXG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XHJcbiAgICBAcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLyBDYWxjdWwgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxyXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XHJcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xyXG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xyXG5cclxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcclxufVxyXG5cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnbWF0aCc7XHJcblxyXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXHJcbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcclxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcclxuICAkcmdiYTI6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xyXG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XHJcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xyXG5cclxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcclxuXHJcbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XHJcbn1cclxuXHJcbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXHJcbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcclxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcclxuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcclxuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XHJcblxyXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcclxuICAgICRyYXRpbzogMSAvICRyYXRpbztcclxuICB9XHJcblxyXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cclxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcclxuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xyXG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcclxuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XHJcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xyXG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcclxuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xyXG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkYmVzdDtcclxufVxyXG5cclxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cclxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XHJcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XHJcbiAgICAkc2NhbGU6IC0kc2NhbGU7XHJcbiAgfVxyXG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xyXG59XHJcblxyXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcclxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cclxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcclxuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xyXG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XHJcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcclxuICB9XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XHJcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxyXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xyXG4gICRyZXR1cm46ICgpO1xyXG5cclxuICAkYWxsLXR5cGVzOlxyXG4gICAgdGV4dFxyXG4gICAgcGFzc3dvcmRcclxuICAgIGRhdGVcclxuICAgIGRhdGV0aW1lXHJcbiAgICBkYXRldGltZS1sb2NhbFxyXG4gICAgbW9udGhcclxuICAgIHdlZWtcclxuICAgIGVtYWlsXHJcbiAgICBudW1iZXJcclxuICAgIHNlYXJjaFxyXG4gICAgdGVsXHJcbiAgICB0aW1lXHJcbiAgICB1cmxcclxuICAgIGNvbG9yO1xyXG5cclxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcclxuICAgICR0eXBlczogJGFsbC10eXBlcztcclxuICB9XHJcblxyXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XHJcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJldHVybjtcclxufVxyXG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xyXG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXHJcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcclxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcclxuICAgICdjZW50ZXInOiBjZW50ZXIsXHJcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXHJcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxyXG4gICk7XHJcblxyXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XHJcbn1cclxuXHJcblxyXG4kLXpmLWZsZXgtYWxpZ246IChcclxuICAndG9wJzogZmxleC1zdGFydCxcclxuICAnYm90dG9tJzogZmxleC1lbmQsXHJcbiAgJ21pZGRsZSc6IGNlbnRlcixcclxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXHJcbik7XHJcblxyXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgJ3Jvdyc6IHJvdyxcclxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcclxuICAnY29sdW1uJzogY29sdW1uLFxyXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxyXG4pO1xyXG5cclxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXHJcbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xyXG4gIEBpZiAkeCB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XHJcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICR5IHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XHJcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAganVzdGlmeS1jb250ZW50OiAkeDtcclxuICBhbGlnbi1pdGVtczogJHk7XHJcbn1cclxuXHJcbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cclxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xyXG4gIEBpZiAkeSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xyXG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFsaWduLXNlbGY6ICR5O1xyXG59XHJcblxyXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXHJcbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xyXG4gIG9yZGVyOiAkb3JkZXI7XHJcbn1cclxuXHJcbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXHJcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxyXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxyXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cclxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXHJcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcclxuLy8vL1xyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xyXG5cclxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xyXG5cclxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XHJcblxyXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XHJcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xyXG59XHJcbkBlbHNlIHtcclxuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xyXG59XHJcblxyXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xyXG5cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xyXG4gIC8vIFNpemUgb3Iga2V5d29yZFxyXG4gICRicDogbnRoKCR2YWwsIDEpO1xyXG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xyXG4gICRicC1tYXg6IDA7XHJcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcclxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcclxuICAvLyBFdmVudHVhbCBvdXRwdXRcclxuICAkc3RyOiAnJztcclxuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xyXG4gICRuYW1lZDogZmFsc2U7XHJcblxyXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcclxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcclxuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XHJcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcclxuICB9XHJcblxyXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcclxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xyXG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xyXG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XHJcbiAgICAgICRuYW1lZDogdHJ1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJGJwOiAwO1xyXG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxyXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XHJcbiAgQGlmICRicC1tYXgge1xyXG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXHJcbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcclxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xyXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xyXG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcclxuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXHJcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcclxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcblxyXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xyXG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcclxuXHJcbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxyXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXHJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcclxuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcclxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XHJcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XHJcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cclxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxyXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXHJcbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxyXG4vLy9cclxuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxyXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcclxuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XHJcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XHJcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XHJcblxyXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcclxuXHJcbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcclxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xyXG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XHJcbiAgfVxyXG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcclxuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xyXG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxyXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XHJcbiAgJHN0cjogJyc7XHJcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xyXG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcclxuICB9XHJcbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcclxuXHJcbiAgQHJldHVybiAkc3RyO1xyXG59XHJcblxyXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cclxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cclxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XHJcblxyXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XHJcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XHJcblxyXG4gICRpOiAwO1xyXG5cclxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXHJcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xyXG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcclxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcclxuICAgIEByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcclxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cclxuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xyXG4gICRsaXN0OiAoKTtcclxuICAkZm91bmRfa2V5OiBmYWxzZTtcclxuXHJcbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcclxuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xyXG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xyXG4gICAgfVxyXG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcclxuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRsaXN0O1xyXG59XHJcblxyXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXHJcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXHJcbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xyXG4gICRmb3VuZDogZmFsc2U7XHJcblxyXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XHJcbiAgICBAaWYgbm90ICRmb3VuZCB7XHJcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcclxuICAgICAgICAkZm91bmQ6IHRydWU7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRsYXN0OiAka2V5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRsYXN0O1xyXG59XHJcblxyXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cclxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXHJcbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cclxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxyXG4vLy9cclxuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxyXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XHJcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XHJcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkbWFwO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XHJcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcclxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcclxuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XHJcbiAgfVxyXG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcclxuICBAZWxzZSB7XHJcbiAgICAkYW5jaG9yOiBudWxsO1xyXG4gICAgJGZvdW5kOiBmYWxzZTtcclxuXHJcbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XHJcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xyXG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcclxuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XHJcbiAgfVxyXG59XHJcblxyXG4kc21hbGwtdXA6ICcnO1xyXG4kc21hbGwtb25seTogJyc7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xyXG4gICRzbWFsbC11cDogc2NyZWVuO1xyXG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcclxufVxyXG5cclxuJG1lZGl1bS11cDogJyc7XHJcbiRtZWRpdW0tb25seTogJyc7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcclxuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xyXG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xyXG59XHJcblxyXG4kbGFyZ2UtdXA6ICcnO1xyXG4kbGFyZ2Utb25seTogJyc7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xyXG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xyXG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuJHhsYXJnZS11cDogJyc7XHJcbiR4bGFyZ2Utb25seTogJyc7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcclxuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xyXG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xyXG59XHJcblxyXG4keHhsYXJnZS11cDogJyc7XHJcblxyXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XHJcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxyXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXHJcbiAgJHNpZGU6IGJvdHRvbSxcclxuICAkc2l6ZTogMjBweCxcclxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxyXG4pIHtcclxuXHJcbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcclxuXHJcbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXHJcbkBtaXhpbiBjc3MtdHJpYW5nbGUoXHJcbiAgJHRyaWFuZ2xlLXNpemUsXHJcbiAgJHRyaWFuZ2xlLWNvbG9yLFxyXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cclxuKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG5cclxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xyXG5cclxuICBjb250ZW50OiAnJztcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcclxuXHJcbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xyXG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xyXG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcblxyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjb250ZW50OiAnICc7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxyXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXHJcbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XHJcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xyXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxyXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcclxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxyXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxyXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cclxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsMCwwLDApO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cclxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XHJcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBjbGlwOiBhdXRvO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgY2xpcC1wYXRoOiBub25lO1xyXG59XHJcblxyXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcclxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXHJcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbn1cclxuXHJcbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcclxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXHJcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxyXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xyXG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xyXG5cclxuICBAaWYgbm90ICRzbWFsbCB7XHJcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XHJcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XHJcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xyXG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcclxuICAgIH1cclxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcclxuXHJcbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxyXG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxyXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cclxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXHJcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXHJcbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcclxuICAkbmFtZTogYXV0byxcclxuICAkbWFwOiBudWxsXHJcbikge1xyXG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcclxuICAgIC8vIFwiYXV0b1wiXHJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcclxuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xyXG4gICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxyXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcclxuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBicmVha3BvaW50IHZhbHVlXHJcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuJC16Zi1mb250LXN0YWNrOiAoXHJcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcclxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcclxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcclxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXHJcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxyXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcclxuKTtcclxuXHJcbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxyXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xyXG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4vLy8vXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcclxuXHJcbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XHJcbn1cclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xyXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcclxuXHJcbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XHJcblxyXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxyXG4gIC5mb3VuZGF0aW9uLW1xIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcclxuICB9XHJcblxyXG4gIGh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXHJcbiAgYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuXHJcbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XHJcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcclxuICB9XHJcblxyXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxyXG4gIHRleHRhcmVhIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICB9XHJcblxyXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcclxuICBzZWxlY3Qge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxyXG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXHJcbiAgLm1hcF9jYW52YXMsXHJcbiAgLm1xYS1kaXNwbGF5IHtcclxuICAgIGltZyxcclxuICAgIGVtYmVkLFxyXG4gICAgb2JqZWN0IHtcclxuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXHJcbiAgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XHJcbiAgfVxyXG5cclxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXHJcbiAgcHJlIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxyXG4gIGJ1dHRvbixcclxuICBpbnB1dCxcclxuICBvcHRncm91cCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XHJcbiAgLmlzLXZpc2libGUge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuQG1peGluIC16Zi1ub3JtYWxpemUge1xyXG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBGb250c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICIsIkBpbXBvcnQgIFwiX3ZhcmlhYmxlc1wiOyBcclxuIFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6IDVweCkge1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAgICAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogICAgICAgICAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbiAwcztcclxuICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluIDBzO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW4gMHM7XHJcbn1cclxuXHJcbiBAbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1wcm9wZXJ0eSwgJHRyYW5zaXRpb24tdGltZSwgJG1ldGhvZCkgeyAgLy9AaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMC4zcywgZWFzZS1pbi1vdXQpO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItc3R5bGVzKCRjb2xvciwgJHdpZHRoKSB7XHJcbiAgICAvL0BpbmNsdWRlIGJvcmRlci1zdHlsZXMoJG9yYW5nZS1jb2wsIDFweCk7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgICAgc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBnZW5lcmljIHRyYW5zZm9ybVxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG4vLyByb3RhdGVcclxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XHJcbn1cclxuIFxyXG5cclxuQG1peGluIHRyYW5zZm9ybS10cmFuc2xhdGV5KCR2YWwpeyAvL0BpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KC01MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHZhbCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybSAgIDogdHJhbnNsYXRlWSgkdmFsKTtcclxuICAgIC1vLXRyYW5zZm9ybSAgICAgOnRyYW5zbGF0ZVkoJHZhbCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtICAgIDp0cmFuc2xhdGVZKCR2YWwpO1xyXG4gICAgdHJhbnNmb3JtICAgICAgICA6IHRyYW5zbGF0ZVkoJHZhbCk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2Zvcm0tdHJhbnNsYXRleCgkdmFsKXsgLy9AaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRleCgtNTAlKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR2YWwpO1xyXG4gICAgLW1vei10cmFuc2Zvcm0gICA6IHRyYW5zbGF0ZVgoJHZhbCk7XHJcbiAgICAtby10cmFuc2Zvcm0gICAgIDp0cmFuc2xhdGVYKCR2YWwpO1xyXG4gICAgLW1zLXRyYW5zZm9ybSAgICA6dHJhbnNsYXRlWCgkdmFsKTtcclxuICAgIHRyYW5zZm9ybSAgICAgICAgOiB0cmFuc2xhdGVYKCR2YWwpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLXRyYW5zbGF0ZSgkdmFseCwkdmFseSl7IC8vQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdmFseCwkdmFseSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybSAgIDogdHJhbnNsYXRlKCR2YWx4LCR2YWx5KTtcclxuICAgIC1vLXRyYW5zZm9ybSAgICAgOnRyYW5zbGF0ZSgkdmFseCwkdmFseSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtICAgIDp0cmFuc2xhdGUoJHZhbHgsJHZhbHkpO1xyXG4gICAgdHJhbnNmb3JtICAgICAgICA6IHRyYW5zbGF0ZSgkdmFseCwkdmFseSk7XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5lYXJHcmFkaWVudCgkdG9wLCAkYm90dG9tKXsgICAgLy9AaW5jbHVkZSBsaW5lYXJHcmFkaWVudCgjY2NjY2NjLCAjNjY2NjY2KTtcclxuICAgIGJhY2tncm91bmQ6ICR0b3A7IFxyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgJHRvcCAwJSwgJGJvdHRvbSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsJHRvcCksIGNvbG9yLXN0b3AoMTAwJSwkYm90dG9tKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAkdG9wIDAlLCRib3R0b20gMTAwJSk7IFxyXG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICR0b3AgMCUsJGJvdHRvbSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgJHRvcCAwJSwkYm90dG9tIDEwMCUpOyBcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICAkdG9wIDAlLCRib3R0b20gMTAwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBob3Jpem9udGFsLWdyYWRpZW50KCRmcm9tLCAkdG8sICRzdG9wOiAxMDAlKSB7Ly9AaW5jbHVkZSBob3Jpem9udGFsLWdyYWRpZW50KHdoaXRlLCB0cmFuc3BhcmVudCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZyb207XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGZyb20gMCUsICR0byAkc3RvcCk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICRmcm9tKSwgY29sb3Itc3RvcCgkc3RvcCwgJHRvKSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGZyb20gMCUsICR0byAkc3RvcCk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRmcm9tIDAlLCAkdG8gJHN0b3ApO1xyXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgJGZyb20gMCUsICR0byAkc3RvcCk7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkZnJvbSAwJSwgJHRvICRzdG9wKTtcclxufVxyXG4gXHJcblxyXG4gXHJcbiBcclxuQG1peGluIGZsZXgtYm94IHsgXHJcbiAgXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICBcdGRpc3BsYXk6IC1tb3otZmxleDtcclxuICBcdGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIFx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XHJcbiAgXHRAaWYgJHZhbHVlPT1yb3ctcmV2ZXJzZSB7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIFx0XHQgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICBcdH1cclxuICBcdEBlbHNlIGlmICR2YWx1ZT09Y29sdW1uIHtcclxuICBcdFx0ICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICBcdFx0ICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIFx0fVxyXG4gIFx0QGVsc2UgaWYgJHZhbHVlPT1jb2x1bW4tcmV2ZXJzZSB7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIFx0XHQgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSB7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gIFx0fVxyXG4gIFx0LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gIFx0LW1vei1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gIFx0LW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XHJcbiAgXHRmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7IFxyXG4gIFx0LXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICBcdC1tb3otZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgXHRAaWYgJHZhbHVlPT1ub3dyYXAge1xyXG4gIFx0XHQgIC1tcy1mbGV4LXdyYXA6IG5vbmU7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSB7XHJcbiAgXHRcdCAgLW1zLWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gIFx0fVxyXG4gIFx0ZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWdyb3coJGludDogMCkgeyBcclxuICBcdC13ZWJraXQtYm94LWZsZXg6ICRpbnQ7XHJcbiAgXHQtd2Via2l0LWZsZXgtZ3JvdzogJGludDtcclxuICBcdC1tb3otZmxleC1ncm93OiAkaW50O1xyXG4gIFx0LW1zLWZsZXgtcG9zaXRpdmU6ICRpbnQ7XHJcbiAgXHRmbGV4LWdyb3c6ICRpbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7IFxyXG4gIFx0QGlmICR2YWx1ZT09ZmxleC1zdGFydCB7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcbiAgXHRcdCAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcclxuICBcdFx0ICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XHJcbiAgXHRcdCAgLW1zLWZsZXgtcGFjazogZW5kO1xyXG4gIFx0fVxyXG4gIFx0QGVsc2UgaWYgJHZhbHVlPT1zcGFjZS1iZXR3ZWVuIHtcclxuICBcdFx0ICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG4gIFx0XHQgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSBpZiAkdmFsdWU9PXNwYWNlLWFyb3VuZCB7XHJcbiAgXHRcdCAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcclxuICBcdH1cclxuICBcdEBlbHNlIHtcclxuICBcdFx0ICAtd2Via2l0LWJveC1wYWNrOiAkdmFsdWU7XHJcbiAgXHRcdCAgLW1zLWZsZXgtcGFjazogJHZhbHVlO1xyXG4gIFx0fVxyXG4gIFx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICBcdC1tb3otanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgXHRqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkgeyBcclxuICBcdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG4gIFx0XHQgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcclxuICBcdFx0ICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcclxuICBcdFx0ICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xyXG4gIFx0XHQgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSB7XHJcbiAgXHRcdCAgLXdlYmtpdC1ib3gtYWxpZ246ICR2YWx1ZTtcclxuICBcdFx0ICAtbXMtZmxleC1hbGlnbjogJHZhbHVlO1xyXG4gIFx0fVxyXG4gIFx0LXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gIFx0LW1vei1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gIFx0YWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7IFxyXG4gIFx0LXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgXHQtbW96LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICBcdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG4gIFx0XHQgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xyXG4gIFx0fVxyXG4gIFx0QGVsc2UgaWYgJHZhbHVlPT1mbGV4LWVuZCB7XHJcbiAgXHRcdCAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xyXG4gIFx0fVxyXG4gIFx0QGVsc2Uge1xyXG4gIFx0XHQgIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZTtcclxuICBcdH1cclxuICBcdGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7IFxyXG4gIFx0LXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgXHQtbW96LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICBcdEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xyXG4gIFx0XHQgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XHJcbiAgXHR9XHJcbiAgXHRAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcclxuICBcdFx0ICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcclxuICBcdH1cclxuICBcdEBlbHNlIHtcclxuICBcdFx0ICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZTtcclxuICBcdH1cclxuICBcdGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxufVxyXG5cclxuIFxyXG5cclxuLyoqKiBCdXR0b24gU3R5bGUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuIFxyXG4uYnV0dG9uIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiA2MHB4OyBcclxuICAgIG1pbi13aWR0aDogMjk3cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodGVyO1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgJHByaW1hcnktY29sO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG4gICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcclxuICAgICAgICBjb2xvcjogJGhpZ2gtY29sO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRoaWdoLWNvbDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjsgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLmFycm93e1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgICAgXHJcbiAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNzhcIjtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGljb247XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHRvcDogNTAlOyAgIFxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KC01MCUpO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgcmlnaHQ6IDI3cHg7XHJcbiAgICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICBtaW4td2lkdGg6IDI2MHB4O1xyXG4gICAgIH1cclxufSBcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuc3Bhbi5jdXN0b21TZWxlY3QtZmllbGQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICBib3JkZXI6ICRwcmltYXJ5LWNvbCBzb2xpZCAzcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDhweCAwIDhweCAyNXB4O1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkbWFpbmZvbnQ7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHggMTBweDtcclxuICAgICB9XHJcbn1cclxuXHJcblxyXG4uY3VzdG9tU2VsZWN0LWZpZWxkLmhhc0N1c3RvbVNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnNwYW4uY3VzdG9tU2VsZWN0LWZpZWxkLmNoYW5nZWQgc3Bhbi5jdXN0b21TZWxlY3RJbm5lciB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VzdG9tU2VsZWN0LmN1c3RvbVNlbGVjdC1maWVsZC5jdXN0b21TZWxlY3RDaGFuZ2VkIC5jdXN0b21TZWxlY3RJbm5lciB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VzdG9tU2VsZWN0LmN1c3RvbVNlbGVjdC1maWVsZC5jdXN0b21TZWxlY3RGb2N1cyAuY3VzdG9tU2VsZWN0SW5uZXIge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmN1c3RvbVNlbGVjdElubmVyIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9zZWxlY3RfYXJyb3cuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sICFpbXBvcnRhbnQ7XHJcbn1cclxuICBcclxuXHJcblxyXG5hLmJhY2stYnRue1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRoaWdoLWNvbDtcclxuICAgIH1cclxuICAgXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxufVxyXG4gXHJcbi5pY2hlY2tyYWRpb19zb3J0IHtcclxuICAgZmxvYXQ6IGxlZnQ7XHRcclxuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICBtYXJnaW46IDA7XHJcbiAgIHBhZGRpbmc6IDA7XHJcbiAgIHdpZHRoOiAxMnB4O1xyXG4gICBoZWlnaHQ6IDEycHg7XHJcbiAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9zdmcvcmFkaW9faWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI0cHg7XHJcbiAgIGJvcmRlcjogbm9uZTtcclxuICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDhweDtcclxufSBcclxuLmljaGVja3JhZGlvX3NvcnQuY2hlY2tlZCB7IFxyXG4gICBiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvc3ZnL3JhZGlvX2ljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNHB4O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCIvLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFxyXG4gXHJcbi8vIENvbG9ycyBhbmQgYmFja2dyb3VuZHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkYXJrZXI6ICAgICAgICAgICAgICAgICAgICAgICMwMDAwMDAhZGVmYXVsdDsgXHJcbiRsaWdodGVyOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGRhcmtlciwgMTAwKSAgICAhZGVmYXVsdDsgLy8jZmZmZmZmXHJcblxyXG4kcHJpbWFyeS1jb2w6ICAgICAgIFx0ICAgICAgIzk1YmFjNSFkZWZhdWx0OyBcclxuJHNlY29uZGFyeS1jb2w6ICAgICAgICAgICAgICAgIzQyNDI0ZCFkZWZhdWx0OyBcclxuJGhpZ2gtY29sOiAgICAgICAgICAgICAgICAgICAgI2YzNzIyZiFkZWZhdWx0OyBcclxuXHJcbiRwcmltYXJ5LWRhcms6ICAgICAgIFx0ICAgICAgI2FmY2JkMyFkZWZhdWx0OyBcclxuJHByaW1hcnktbGlnaHQ6ICAgICAgIFx0ICAgICAgI2RmZWFlZSFkZWZhdWx0OyBcclxuJHNlY29uZGFyeS1saWdodDogICAgICAgICAgICAgIzYyNjI2ZCFkZWZhdWx0OyBcclxuXHJcbiBcclxuJGNvbG9yMTogICAgICAgICAgICAgICAgICAgICAgIzkyOTI5ZCFkZWZhdWx0OyBcclxuJGNvbG9yMjogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjhmOSFkZWZhdWx0OyBcclxuJGNvbG9yMzogICAgICAgICAgICAgICAgICAgICAgI2NhZGRlMiFkZWZhdWx0OyBcclxuJGNvbG9yNDogICAgICAgICAgICAgICAgICAgICAgI2VhZjFmMyFkZWZhdWx0OyBcclxuXHJcbiRvdmVybGF5LWJnOiAgICAgICAgICAgICAgICAgIHJnYmEoNjYsNjYsNzcsMC44NSkgIWRlZmF1bHQ7IFxyXG4kYWx0LWJnOiAgICAgICAgICAgICAgICAgICNmNGY4ZjkgIWRlZmF1bHQ7IFxyXG4kYm9yZGVyLWRpc2FibGU6ICAgICAgICAgICAgICAgICAgI2ViZjBmNCAhZGVmYXVsdDsgXHJcblxyXG4vLz09IFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnc3VucmlzZV9pbnRlcm5hdGlvbmFsX2RlbW9SZyc7XHJcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc3VucmlzZV9pbnRlcm5hdGlvbmFsX2RlbW8td2ViZm9udC5lb3QnKTtcclxuICAgIHNyYzogdXJsKCcuLi9mb250cy9zdW5yaXNlX2ludGVybmF0aW9uYWxfZGVtby13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvc3VucmlzZV9pbnRlcm5hdGlvbmFsX2RlbW8td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9zdW5yaXNlX2ludGVybmF0aW9uYWxfZGVtby13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9zdW5yaXNlX2ludGVybmF0aW9uYWxfZGVtby13ZWJmb250LnN2ZyNzdW5yaXNlX2ludGVybmF0aW9uYWxfZGVtb1JnJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG59XHJcblxyXG4kbWFpbmZvbnQ6IFx0ICAgIFwiZGluLTIwMTRcIixzYW5zLXNlcmlmOyBcclxuJGJhbm5lcmZvbnQ6IFx0J3N1bnJpc2VfaW50ZXJuYXRpb25hbF9kZW1vUmcnOyBcclxuJGljb246ICAgICBcdCAgICAnRm9udEF3ZXNvbWUnO1xyXG5cclxuJGxpZ2h0OiAgICAzMDA7XHJcbiRkZW1pOiAgICAgNjAwOyBcclxuJGJvbGQ6ICAgICA4MDA7XHJcblxyXG5cclxuIFxyXG5cclxuJHNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDsgXHJcblxyXG4kc2l6ZS1oMTogICAgICAgICAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAyLjI1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4zNnB4XHJcbiRzaXplLWgyOiAgICAgICAgICAgICAgICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDEuNSkpIFx0XHQhZGVmYXVsdDsgICAvLyB+MjRweFxyXG4kc2l6ZS1oMzogICAgICAgICAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAxLjI1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4yMHB4XHJcbiRzaXplLWg0OiAgICAgICAgICAgICAgICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDEuMTI1KSkgXHRcdCFkZWZhdWx0OyAgIC8vIH4xOHB4IFxyXG4kc2l6ZS1oNTogICAgICAgICAgICAgICAgICAgICAgICRzaXplLWJhc2UgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7ICAgLy8gfjE2cHggXHJcbiRzaXplLWg2OiAgICAgICAgICAgICAgICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDAuODc1KSkgICAgICAhZGVmYXVsdDsgICAvLyB+MTRweCBcclxuIFxyXG4kc2l6ZS1oMS1zcGVjaWFsOiAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAyLjUpKSBcdFx0IWRlZmF1bHQ7ICAgLy8gfjQwcHhcclxuXHJcblxyXG4kc2l6ZS1iaWc6ICAgICAgICAgICAgICAgICAgICAgIGNlaWwoKCRzaXplLWJhc2UgKiAxMS4zNzUpKSBcdCFkZWZhdWx0OyAgIC8vIH4xODJweCBcclxuJHNpemUtbGFyZ2U6ICAgICAgICAgICAgICBcdFx0Y2VpbCgoJHNpemUtYmFzZSAqIDQuMTg3NSkpIFx0IWRlZmF1bHQ7ICAgLy8gfjY3cHggXHJcbiRzaXplLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgY2VpbCgoJHNpemUtYmFzZSAqIDAuNzUpKSBcdFx0IWRlZmF1bHQ7ICAgLy8gfjEycHggXHJcblxyXG4gXHJcblxyXG5cclxuXHJcbiBcclxuLy8gQnJlYWtwb2ludHNcclxuJHNjcmVlbi14eGxnOiAgICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAxcHgpXCI7XHJcbiRzY3JlZW4teGxnOiAgICAgICAgXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1heC13aWR0aDogMTM0OXB4KVwiO1xyXG4kc2NyZWVuLWxyZzogICAgICAgIFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KVwiO1xyXG4kc2NyZWVuLWh0LWRvd246ICAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NjhweClcIjtcclxuJHNjcmVlbi10YWI6ICAgICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweClcIjtcclxuJHNjcmVlbi1tZWQ6ICAgICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiO1xyXG4kc2NyZWVuLWxyZy1kb3duOiAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweClcIjtcclxuJHNjcmVlbi1tZWQtdXA6ICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweClcIjtcclxuJHNjcmVlbi1zbWQ6ICAgICAgICBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KVwiO1xyXG4kc2NyZWVuLXNtOiAgICAgICAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KVwiO1xyXG4kc2NyZWVuLXNtbDogICAgICAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KVwiO1xyXG4kc2NyZWVuLXhtbDogICAgICAgIFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1NXB4KVwiOyIsIlxyXG4vKipcclxuICogMS4wIFJlc2V0XHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSwgY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJvcmRlcjogMDtcclxuXHRmb250LXNpemU6IDEwMCU7XHJcblx0Zm9udDogaW5oZXJpdDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxufVxyXG5cclxuYm9keXtcclxuICAgIGZvbnQtZmFtaWx5OiAkbWFpbmZvbnQ7XHJcbiAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjtcclxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgLjRzLCBlYXNlLWluLW91dCk7IFxyXG59XHJcbmh0bWx7XHJcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC40cywgZWFzZS1pbi1vdXQpO1xyXG59XHJcblxyXG4vKipcclxuICogMi4wIEhlYWRpbmdzXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcbmgxLGgyLGgzLGg0LGg1LGg2IHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRmb250LXdlaWdodDpub3JtYWw7XHJcblx0bWFyZ2luOjA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuaDEgeyBcclxuXHRmb250LXNpemU6ICRzaXplLWgxO1xyXG5cdGxpbmUtaGVpZ2h0OjQwcHg7ICAgXHJcbn1cclxuXHJcbmgyIHtcclxuXHRmb250LXNpemU6ICRzaXplLWgyO1xyXG5cdGxpbmUtaGVpZ2h0OjMycHg7IFxyXG59XHJcbmgzIHsgIFxyXG5cdGZvbnQtc2l6ZTogJHNpemUtaDM7XHJcblx0bGluZS1oZWlnaHQ6MjRweDtcclxufVxyXG5oNCB7IFxyXG5cdGZvbnQtc2l6ZTogJHNpemUtaDQ7XHJcblx0bGluZS1oZWlnaHQ6MjRweDsgXHJcbn1cclxuaDUgeyBcclxuICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuXHRsaW5lLWhlaWdodDoyMHB4OyBcdFxyXG59XHJcbmg2IHsgXHJcbiAgICBmb250LXNpemU6ICRzaXplLWg2O1xyXG5cdGxpbmUtaGVpZ2h0OjIwcHg7IFxyXG59XHJcbnB7IFxyXG4gICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG5cdGxpbmUtaGVpZ2h0OjI3cHg7IFxyXG4gICAgbWFyZ2luOiAwIDAgMjdweDtcclxufVxyXG5oMTpmaXJzdC1jaGlsZCxcclxuaDI6Zmlyc3QtY2hpbGQsXHJcbmgzOmZpcnN0LWNoaWxkLFxyXG5oNDpmaXJzdC1jaGlsZCxcclxuaDU6Zmlyc3QtY2hpbGQsXHJcbmg2OmZpcnN0LWNoaWxkIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcbiBcclxuXHJcbmEge1xyXG5cdGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRAaW5jbHVkZSB0cmFuc2l0O1xyXG59XHJcbmE6dmlzaXRlZCB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlcixcclxuYTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICBcclxufVxyXG5cclxuLyogUGxhY2Vob2xkZXIgdGV4dCBjb2xvciAtLSBzZWxlY3RvcnMgbmVlZCB0byBiZSBzZXBhcmF0ZSB0byB3b3JrLiAqL1xyXG5cclxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgXHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG46Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gIFxyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qaW5wdXRbdHlwZT1cInRleHRcIl17XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0OHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGZvbnQtc2l6ZTogMjRweDtcclxuXHRjb2xvcjogIzkxOTE5MTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3Vze1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJde1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogNTBweDtcclxuXHRsaW5lLWhlaWdodDogNTBweDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcblx0Y29sb3I6ICNmZmZmZmY7XHJcbn0qL1xyXG5cclxuaW5wdXQ6Zm9jdXMsXHJcbmlucHV0OmFjdGl2ZSxcclxudGV4dGFyZWE6Zm9jdXMsXHJcbnRleHRhcmVhOmFjdGl2ZSxcclxuYTpmb2N1cyxcclxuYTphY3RpdmUge1xyXG4gICAgb3V0bGluZTogMHB4IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG51bCB7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG59XHJcblxyXG51bCBsaSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4gXHJcbi5tYWluLW91dGVyY29uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbnNlY3Rpb24sZm9vdGVyIHtcclxuICAucm93IHtcclxuICAgICAgQG1lZGlhICN7JHNjcmVlbi14bGd9IHtcclxuICAgICAgICBtYXgtd2lkdGg6NjguMjVyZW07XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICBtYXgtd2lkdGg6NTguMjVyZW07XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICBtYXgtd2lkdGg6NDIuMjVyZW07XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgSGVhZGVyIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gXHJcbi5tYWluLWhlYWRlci1vdXRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0geyBcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgN3B4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDM4cHg7XHJcbiAgICB9XHJcbiAgICAubG9nby1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAwIDA7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1NHB4O1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXZpZ2F0aW9uLWJsb2Nre1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teGxnfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgODBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgODBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkLXVwfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNTVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA4NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yMztcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWx7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzOHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KC01MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjM7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vYi1tZW51e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KC01MCUpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplLWgyO1xyXG4gICAgICAgIC5mYS10aW1lc3tcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICAgICAgICBib3JkZXI6MHB4O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzpub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZXtcclxuICAgICAgICAgICAgLmZhLWJhcnN7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmEtdGltZXN7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4gXHJcblxyXG4uc2lkZWJhcntcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4teGxnfSB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICAgIHRvcDogODVweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAubGlzdC1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzOHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pY29ubGlzdHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtaWNvbntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgIH1cclxuICAgICYub3BlbntcclxuICAgICAgICAuY2xvc2UtaWNvbntcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAuaWNvbmxpc3R7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbntcclxuICAgICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IC0xMzVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRleSgtNTAlKTtcclxuICAgICAgICBAaW5jbHVkZSByb3RhdGUoOTApO1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teGxnfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTUycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTUycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNjtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KDAlKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDApO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4teG1sfSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxpc3QtbGlua3tcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiA3cHg7XHJcbiAgICAgICAgYm90dG9tOjU0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZSg5MCk7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi14bGd9IHtcclxuICAgICAgICAgICAgcmlnaHQ6IC05cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtOXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICBib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtOXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jaGVja2xpc3Qtc2Nyb2xsIHtcclxuICAgIHdpZHRoOiAxMTAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG59XHJcbi5jaGVja2xpc3Qtb3V0ZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTA0MnB4O1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktbGlnaHQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAtMzUwcHg7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgIG1heC13aWR0aDogNzUwcHg7XHJcbiAgICAgICAgcmlnaHQ6IC03NTBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcclxuICAgICAgICByaWdodDogLTU3MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICByaWdodDogLTEwMCU7XHJcbiAgICAgICAgdG9wOiAxMjlweDtcclxuICAgIH1cclxuICAgIC5jaGVja2xpc3Qtd3JhcHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAmLnNsaWRlaW4ge1xyXG4gICAgICAgIHJpZ2h0OiA4MHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXhsZ30ge1xyXG4gICAgICAgICAgICByaWdodDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgIH1cclxuICAgIDo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgIH1cclxuICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICB9XHJcbiAgICAuY2xlYXItZGF0YSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWRhcms7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNjtcclxuICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMzVweDtcclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGl7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1kYXJrOyBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmxpc3QtaGVhZHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAzN3B4IDcwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yMztcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgcGFkZGluZzogMjdweCAzNXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICBwYWRkaW5nOiAyMnB4IDI1cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuICAgIGg2e1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jaGVja2xpc3Qtcm93IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDcwcHg7XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgIHBhZGRpbmc6IDI3cHggMzVweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgcGFkZGluZzogMjJweCAyNXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgd2lkdGg6IDkxJTtcclxuICAgIH1cclxuICAgICYudG9wLXJvdyB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvcjM7IFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgLmNoZWNrbGlzdC1pbmZvIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2hlY2tsaXN0LXRpdGxlIHtcclxuICAgICAgICB3aWR0aDogMzYlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgzO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2hlY2tsaXN0LWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiA2NCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMiUgMCAwO1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDdweDtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI25hbWV7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbmZvbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTkwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjI4cHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6JHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMztcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjIwcHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI25hbWVzcGFuLC5tZWFzdXJle1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiA0cHggMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDoyOHB4O1xyXG4gICAgICAgICAgICAvL21pbi13aWR0aDoxNTBweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjokc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDM7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MjBweDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg1O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYS51c2VyLXJvbGV7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgzO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDU7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2NhcmV0LWRvd24uc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggNnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgzO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRleSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2NhcmV0LWRvd24tZGFyay5zdmcpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoZWNrYnh7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTVweDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IzO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRleSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hlY2tieC1zZWN0aW9ue1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMTFweCAwO1xyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICBtYXJnaW46IDdweCAwO1xyXG4gICAgfVxyXG4gICAgLmljaGVja2JveF9jaGVjayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgd2lkdGg6IDE5cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2NoZWNrYm94LnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW46IDdweCAzNXB4IDAgMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0cHggMzVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDE1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDEwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoZWNrZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xyXG4gICAgICAgICAgICAmOmhvdmVyICsgIGF7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm8tc3Zne1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoZWNrYm94LnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGF7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMjtcclxuICAgICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWgzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg1O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg1O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvYXJyb3dfaWNvbjIuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAxM3B4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGVja2VkICsgYSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljaGVja2JveF9jaGVjazpob3ZlciArICBhe1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgIH1cclxuICAgIC5pY2hlY2tib3hfY2hlY2s6aG92ZXIgKyAgYTphZnRlcntcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5pY2hlY2tib3hfY2hlY2suY2hlY2tlZDpob3ZlciArICBhOmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLm92ZXJsYXktYmxrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0IDtcclxuICAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dCA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQgO1xyXG4gICBcclxufVxyXG4uYWN0aXZlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAub3ZlcmxheS1ibGsge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcbi5zZWwtd3JhcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnNlbGVjdC13cmFwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICBwYWRkaW5nOiA3NnB4IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDVweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNsaWRldXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMzsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oNTsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg1OyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2Utc2Vse1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvY2lyY2xlLW1pbnVzLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgICAgICBtYXJnaW46IDgycHggMCAwO1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1zbWFsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgRm9vdGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi5mb290ZXItY29udGFpbmVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLmZvb3Rlci10b3B7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMzdweCAwIDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlcjtcclxuICAgIFxyXG4gICAgIFxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgIHBhZGRpbmc6IDI1cHggMCAyMHB4O1xyXG4gICAgfSBcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjNweCAwIDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg2OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyw6YWN0aXZle1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zb2NpYWwtbGlua3MgeyAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjNweDtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDE0cHg7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYm94O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgN3B4IDAgMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5mb290ZXItYm90dG9te1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgcGFkZGluZzogMjFweCAwO1xyXG4gICAgXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMThweCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICAuY29weXJpZ2h0e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjE7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2Nyb2xsLWxpbmt7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2Nyb2xsdG9wIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7ICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAuaWNvbntcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaWNvbntcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IxO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkOFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLXNtYWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiIFxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQmFubmVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmJhbm5lci1jb250YWluZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmJhbm5lci1pbWFnZXtcclxuICAgICAgICBoZWlnaHQ6IDU2NXB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgIGhlaWdodDogNDAwcHg7ICAgXHJcbiAgICAgICB9ICBcclxuICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDM1MHB4OyAgIFxyXG4gICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgIGhlaWdodDogMjUwcHg7ICAgXHJcbiAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYmFubmVyLWNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDg0cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgIHRvcDogODNweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgdG9wOiA1NXB4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgdG9wOiA1NXB4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iaWc7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRiYW5uZXJmb250O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2w7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMTBweDtcclxuICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTAzcHg7XHJcbiAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDk0cHg7XHJcbiAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICBmb250LXNpemU6IDU3cHg7XHJcbiAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1sYXJnZTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2OHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtOTdweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9iYW5uZXItYXJ3LnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDNweDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTY1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTQxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiBcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgSW5uZXIgQmFubmVyIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmlubmVyLWJhbm5lcmJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuYmFubmVyLWltZ2JsayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOTIwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV4KC01MCUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYW5uZXItY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS10cmFuc2xhdGV5KC01MCUpO1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTlweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiBcclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIEhvbWUgUGFnZSBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uY29udGVudC1ibG9jazJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLmNvbnRlbnQtYmxvY2syLWlubmVye1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAxMDNweCAwIDUycHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICBwYWRkaW5nOiA3NXB4IDAgMzBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgcGFkZGluZzogNzVweCAwIDMwcHg7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJsay1sZWZ0e1xyXG4gICAgICAgICAgICB3aWR0aDogNDIuNiU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDEtc3BlY2lhbDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbmZvbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJsay1yaWdodHtcclxuICAgICAgICAgICAgd2lkdGg6IDU3LjQlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7ICBcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN0cm9uZ3tcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgJi5idXR0b257XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0zMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm1haW4tdG9wLXNlY3Rpb257XHJcbiAgICAmLmhvbWUtcGFnZXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3IyO1xyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mbG9hdC1yaWdodHtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluay1vdXRlcntcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyNnB4IDAgMDtcclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG5cclxuXHJcbi5jb250ZW50LWJsb2NrNHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgcGFkZGluZzogODBweCAwIDc1cHg7XHJcbiAgICBcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgcGFkZGluZzogNjBweCAwcHg7XHJcbiAgICB9IFxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNTBweDtcclxuICAgIH0gXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zaW5nbGUtYmxrLW91dGVye1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpbmdsZS1ibGt7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ib3gtYmcuanBnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYm94O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyODBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxN3B4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciwmOmZvY3VzLCY6YWN0aXZle1xyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1oMTtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjRweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS40cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ibG9jazJ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JveC1iZzEuanBnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuLmxpbmstb3V0ZXJ7XHJcbiAgICAgZm9udC1zaXplOiAkc2l6ZS1oMztcclxuICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICBjb2xvcjogJGNvbG9yMztcclxuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgcGFkZGluZzogMCAzMHB4IDAgMDsgIFxyXG4gICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjE3OFwiO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7ICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRleSgtNTAlKTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgIH1cclxuICAgICAmLm5vLWFycm93OmFmdGVye1xyXG4gICAgICAgICBjb250ZW50Om5vbmU7XHJcbiAgICAgfVxyXG4gICAgJjpob3ZlciwmOmZvY3VzLCY6YWN0aXZle1xyXG4gICAgICAgIGNvbG9yOiAkaGlnaC1jb2w7XHJcbiAgICB9XHJcbiAgICAmLmdyZXl7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIsJjpmb2N1cywmOmFjdGl2ZXtcclxuICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1ibG9jazV7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMTExcHggMCA4MXB4O1xyXG4gICAgXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4O1xyXG4gICAgfSBcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDUwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAwIDVweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5ld3MtYmxre1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxOXB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTJweDtcclxuICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMycHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTIzcHg7XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA5NnB4O1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJHByaW1hcnktZGFyazsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhLC5pbWRhdGV7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIzcHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmxlZnQtYmxrIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwLjElO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5yaWdodC1ibGsge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjkuOSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsJjpmb2N1cywmOmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmxlZnQtYmxrIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmlnaHQtYmxrIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRhdGUtbGlzdHtcclxuICAgICAgICAgICAgIHVse1xyXG4gICAgICAgICAgICAgICAgbGl7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmxlZnQtYmxrIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0Mi42JTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwLjElO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmlnaHQtYmxrIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1Ny40JTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjkuOSU7XHJcbiAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluay1vdXRlcntcclxuICAgICAgICAgICAgJi5ncmV5e1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyM3B4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnQtYnV0dG9uLWJsa3tcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1saWdodDtcclxuICAgIHBhZGRpbmc6IDcxcHggMCA4MHB4O1xyXG4gICAgXHJcbiAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNDhweDtcclxuICAgICB9IFxyXG4gICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgcGFkZGluZzogMzhweCAwIDQ4cHg7XHJcbiAgICAgfSBcclxuICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDEwcHg7XHJcbiAgICAgfSBcclxuICAgIFxyXG4gICAgLnRpdGxlLWJsa3tcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LWJveDtcclxuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjVweDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluay1vdXRlcntcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyNHB4IDAgMDtcclxuICAgICAgICAgICAgJi5ncmV5e1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0bi1vdXRlcntcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBcclxuICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICAgIC5idXR0b257XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0NnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTNweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWJveDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyLCY6Zm9jdXMsJjphY3RpdmV7XHJcbiAgICAgICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNpbmdsZS1jb250ZW50b3V0e1xyXG4gICAgJi5kZXNjcmlwdGlvbntcclxuICAgICAgICBwYWRkaW5nOiAzMnB4IDAgMHB4O1xyXG4gICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgcGFkZGluZzogMThweCAwIDBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LXJpZ2h0Ymxre1xyXG4gICAgICAgIHVse1xyXG4gICAgICAgICAgICAmLmlubmVyLWxpc3Rpbmd7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59ICBcclxuLmNvbnRlbnQtbWFpbmNvbnRhaW5lcntcclxuICAgICYuaW5uZXItY29udGVudHtcclxuICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDEwcHg7XHJcbiAgICAgICAgIH1cclxuICAgIH1cclxufSAiLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgSW5uZXIgUGFnZSBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tYWluLXRvcC1zZWN0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IzO1xyXG4gICAgcGFkZGluZzogMzVweCAwIDMwcHg7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHggMCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDA7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhpZ2gtY29sO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWg2O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjhweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnQtbWFpbmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogODBweCAwIDQ1cHg7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgNDVweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNpbmdsZS1jb250ZW50b3V0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBib3JkZXItdG9wOiAkY29sb3IzIHNvbGlkIDNweDtcclxuICAgIHBhZGRpbmc6IDMycHggMCA4N3B4O1xyXG4gICAgbWluLWhlaWdodDogMTg2cHg7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtbGVmdGJsayB7XHJcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXJpZ2h0YmxrIHtcclxuICAgICAgICB3aWR0aDogNTguMzMzMzMlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5saW5rLW91dGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXhsZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtaDY7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXhsZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGlnaC1jb2w7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAgKyB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgNTBweCAwO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQwcHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMThweDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplLWJhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjI2MjZkO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmMzcyMmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZmluYW5jaWFsX2FpZF9saXN0e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogI2NhZGRlMiBzb2xpZCAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCLihpJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyAgICAgICAgICAgICAgICAgICAgICAgIFxyXG5cdCAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmMzcyMmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5NSU7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIkxlYXJuIE1vcmVcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblx0ICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2YzNzIyZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pbm5lci1saXN0aW5nIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJGNvbG9yMyBzb2xpZCAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzNweCAwIDlweCAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgOXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMCAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGlnaC1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHAgKyB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhpZ2gtY29sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2Fycm93X2ljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkY29sb3IzIHNvbGlkIDNweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMzcHggMCA5cHggMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDlweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDAgMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGlnaC1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBwICsgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbGkgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9hcnJvd19pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbWFnZS1saXN0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDMwJSAzMCU7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMjVweDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgzbikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbWFnZS1saXN0LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAuc2luZ2xlLWltYWdlLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zaGFyZS1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkcHJpbWFyeS1jb2w7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltZy1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1iYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXdzLWRldGFpbHNvdXRlciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTZweCAwIDAgMDtcclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgICAgICBmb250LXdlaWdodDogJGJvbGQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIzcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tZXRhLWluZm8ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1haW5mb250O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCLigKJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3Jtcy1vdXRlcmNvbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAuc2luZ2xlLXNlY3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYm94O1xyXG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGV4dC1maWVsZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJHByaW1hcnktY29sIHNvbGlkIDNweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE1cHggOHB4IDI1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktbGlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnNtYWxsLWJsayB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDguNSU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweCA4cHggMTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmllbGQtc2VjdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJi5zZWxlY3RhYmxle1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyOHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVtaTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgICYuZmllbGRfc2VsZWN0ZWRfbWVzc2FnZXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmZpZWxkX3Vuc2VsZWN0ZWRfbWVzc2FnZXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5maWVsZF9zZWxlY3RlZHtcclxuICAgICAgICAgICAgaDV7XHJcbiAgICAgICAgICAgICAgICAmLmZpZWxkX3NlbGVjdGVkX21lc3NhZ2V7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuZmllbGRfdW5zZWxlY3RlZF9tZXNzYWdle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaW5nbGUtYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICYuYWN0aXZlLW9wdGlvbntcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udG9wLWJvcmRlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogMzNweDtcclxuICAgIGJvcmRlci10b3A6ICNjYWRkZTIgc29saWQgM3B4O1xyXG4gICAgbWFyZ2luLXRvcDogOXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLmxpbmstc2VjdGlvbm91dGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwICAwO1xyXG4gICAgfVxyXG5cclxuICAgIC51cmwtYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYWx0LWJnO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1saWdodCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtYWluZm9udDtcclxuICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICAgICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogJGRlbWk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yNDtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZS11cmwgYSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiIFxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgVW5pdmVyc2l0aWVzIFBhZ2UgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnVuaXZlcnNpdGllcy1vdXRlcmNvbntcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IyO1xyXG4gICAgcGFkZGluZzogMTEycHggMCAxMThweDtcclxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgcGFkZGluZzogNzBweCAwO1xyXG4gICAgfVxyXG4gICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICAgICB9XHJcbiAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgfVxyXG4gICAgaDJ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udW5pdmVyc2l0aWVzLWxpc3R7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdWx7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWJveDtcclxuICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzRweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH17XHJcbiAgICAgICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDQ1cHg7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH17XHJcbiAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbHMtbGVmdGJsa3tcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1ib3g7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9nb3tcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYm94O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzQuMyU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjglO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNiU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDM0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUtYmxre1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZW1pO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtYmFzZTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXRhaWxzLXJpZ2h0Ymxre1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWJveDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAvL0BpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyOTBweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgJi5idXR0b257XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE0cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEzOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmJ0bi1zbWFsbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEzOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuYXJyb3d7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzdweCAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDI4cHggMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMzAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFya2VyLWljb257XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvbWFya2VyLXllbGxvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kb2xsYXItaWNvbnsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvZG9sbGFyX3llbGxvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcmtlci1pY29ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL21hcmtlci5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZXkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5kb2xsYXItaWNvbnsgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9kb2xsYXJfc2lnbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXRyYW5zbGF0ZXkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zbWFsbC1vbmx5e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiBcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiIFxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgTmV3cyBQYWdlIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi53aWRnZXQtYm94LXNlY3Rpb24ge1xyXG4gIGZsb2F0OmxlZnQ7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBcclxuICBcclxuICBcclxuICBcclxuICAud2lkZ2V0LWJveCB7XHJcbiAgICAgZmxvYXQ6bGVmdDtcclxuICAgICB3aWR0aDoxMDAlO1xyXG4gICAgIFxyXG4gICAgIC53aWRnZXQtaW1nLW91dGVyIHtcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gICAgIC53aWRnZXQtaW1hZ2Uge1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6MzAwcHg7XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gICAgIC53aWRnZXQtY29udGVudCB7XHJcbiAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgIHBhZGRpbmc6MzVweCAwIDAgMDtcclxuICAgICAgICAgXHJcbiAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgcGFkZGluZzoyNXB4IDAgMCAwO1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgcGFkZGluZzoxNXB4IDAgMCAwO1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICBwYWRkaW5nOjE1cHggMCAxNXB4IDA7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgIGg2IHtcclxuICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRtYWluZm9udDtcclxuICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiRib2xkO1xyXG4gICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6MnB4O1xyXG4gICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7IFxyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTBweDsgXHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjIzcHg7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiRzZWNvbmRhcnktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgICAgICAgICAgICAgICBmb250LXNpemU6MjBweDtcclxuICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyNnB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjI0cHg7XHJcbiAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTVweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xyXG4gICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjI2cHg7IFxyXG4gICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc21sfSB7XHJcbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE4cHg7XHJcbiAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjZweDsgXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gICAgIC5tZXRhLWluZm8ge1xyXG4gICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XHJcbiAgICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgICBcclxuICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2w7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JG1haW5mb250O1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiRkZW1pO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjExcHg7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjE3cHg7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICBmb250LXNpemU6MTJweDtcclxuICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDoxMXB4O1xyXG4gICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjlweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbWx9IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjhweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDo1cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRoaWdoLWNvbDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDoyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6NXB4O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgIGNvbnRlbnQ6XCLigKJcIjtcclxuICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICBsZWZ0OjBweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgIGNvbnRlbnQ6bm9uZTtcclxuICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgY29udGVudDpcIuKAolwiO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjBweDtcclxuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjBweDtcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtbH0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjE3cHg7XHJcbiAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gIH1cclxuICBcclxufVxyXG4ub3ZlcmxheSB7XHJcbiAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgXHJcbiAgLmltZy1vdmVybGF5IHtcclxuICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICBsZWZ0OjBweDtcclxuICAgICBib3R0b206MHB4O1xyXG4gICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMnMsIGVhc2UtaW4tb3V0KTtcclxuICAgICBcclxuICAgICBzcGFuIHtcclxuICAgICAgICAgZm9udC1zaXplOiRzaXplLWgyO1xyXG4gICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcbiAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICBsZWZ0OjUwJTtcclxuICAgICAgICAgdG9wOjUwJTtcclxuICAgICAgICAgZm9udC1mYW1pbHk6JG1haW5mb250O1xyXG4gICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgcGFkZGluZzowIDEwcHg7XHJcbiAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgb3BhY2l0eTowO1xyXG4gICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMC4ycywgZWFzZS1pbi1vdXQpO1xyXG4gICAgICAgICBcclxuICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICBsaW5lLWhlaWdodDoxNnB4O1xyXG4gICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgIGNvbG9yOiRoaWdoLWNvbDtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgd2lkdGg6MjJweDtcclxuICAgICAgICAgICAgICAgaGVpZ2h0OjIwcHg7XHJcbiAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbiAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjVweDtcclxuICAgICAgICAgfVxyXG4gICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJjpob3ZlciAuaW1nLW92ZXJsYXl7XHJcbiAgICAgYmFja2dyb3VuZDokb3ZlcmxheS1iZztcclxuICAgICBcclxuICAgICBzcGFuIHtcclxuICAgICAgICBvcGFjaXR5OjE7XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5uZXdzLWxpc3Qtc2VjdGlvbiB7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICB3aWR0aDoxMDAlO1xyXG4gIHBhZGRpbmc6MTE4cHggMCAwcHggMDtcclxuICBcclxuICBAbWVkaWEgI3skc2NyZWVuLWxyZ30ge1xyXG4gICAgIHBhZGRpbmctdG9wOjcwcHg7IFxyXG4gIH1cclxuICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgIHBhZGRpbmctdG9wOjQwcHg7IFxyXG4gIH1cclxuICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICBwYWRkaW5nLXRvcDoxMHB4OyBcclxuICB9XHJcbiAgXHJcbiAgLm5ld3MtbGlzdC1pdGVtIHtcclxuICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgXHJcbiAgICAgaDIsaDUscCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMnMsIGVhc2UtaW4tb3V0KTtcclxuICAgICB9XHJcbiAgICAgXHJcbiAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgaDIsaDUscCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmltZy1vdmVybGF5e1xyXG4gICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICAgdmlzaWJpbGl0eTp2aXNpYmxlO1xyXG4gICAgICAgICBvcGFjaXR5OjE7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgICAgICAgICB2aXNpYmlsaXR5OnZpc2libGU7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eToxcHg7XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgIH1cclxuICAgICBcclxuICAgICBcclxuICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgIFxyXG4gICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGFsdC1iZztcclxuICAgICAgICAgfVxyXG4gICAgICAgICAubmV3cy1pdGVtOmJlZm9yZXtcclxuICAgICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgcmlnaHQ6MTM1cHg7XHJcbiAgICAgICAgICAgdG9wOjBweDtcclxuICAgICAgICAgICB3aWR0aDo1MDAlO1xyXG4gICAgICAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICAgICAgIGJhY2tncm91bmQ6JGFsdC1iZztcclxuICAgICAgICAgICB6LWluZGV4Oi0xO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbHJnfSB7XHJcbiAgICAgICAgICAgICAgcmlnaHQ6MTAwcHg7IFxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgY29udGVudDpub25lOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgIH1cclxuICAgICB9XHJcbiAgICAgXHJcbiAgICAgLm5ld3MtaXRlbSB7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYm94O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6MzJweCAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XHJcbiAgICAgICAgICBwYWRkaW5nOjIwcHggMDtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAubmV3cy10aXRsZSB7XHJcbiAgICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOjE5JTtcclxuICAgICAgICAgICAgcGFkZGluZzozcHggMCAwIDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7IFxyXG4gICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBoNSB7IFxyXG4gICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiRtYWluZm9udDtcclxuICAgICAgICAgICAgICAgICBmb250LXdlaWdodDokYm9sZDtcclxuICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTo3cHg7XHJcbiAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6MXB4O1xyXG4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOjAuNXB4O1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JG1haW5mb250O1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDokZGVtaTtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiRzaXplLWJhc2U7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbDtcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTRweDsgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtY29udGVudCB7XHJcbiAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6NjglO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMTEycHggMCA4cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6MCAzMHB4IDAgOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgcGFkZGluZzowcHggMCAyMHB4IDA7ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MjZweDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7IFxyXG4gICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206NXB4OyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1pbWFnZS1vdXRlciB7XHJcbiAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICB3aWR0aDoyNyU7XHJcbiAgICAgICAgICAgcGFkZGluZzo4cHggMCA4cHggMDtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICBAbWVkaWEgI3skc2NyZWVuLW1lZH0ge1xyXG4gICAgICAgICAgICAgIHdpZHRoOjQwJTsgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICB3aWR0aDoxMDAlOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgLndpZGdldC1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OjE0M3B4O1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OjIwMHB4OyBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIC5pbWctb3ZlcmxheSBzcGFuIHtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6M3B4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgIH1cclxuICAgICBcclxuICB9XHJcbiAgXHJcbn1cclxuLmJ1dHRvbi1vdXRlciB7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICB3aWR0aDoxMDAlO1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIHBhZGRpbmc6MTE5cHggMCA1MHB4IDA7XHJcbiAgXHJcbiAgQG1lZGlhICN7JHNjcmVlbi1scmd9IHtcclxuICAgIHBhZGRpbmc6OTVweCAwIDUwcHggMDtcclxuICB9XHJcbiAgXHJcbiAgQG1lZGlhICN7JHNjcmVlbi1tZWR9IHtcclxuICAgICBwYWRkaW5nOjUwcHggMCAwIDA7IFxyXG4gIH1cclxuICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XHJcbiAgICBwYWRkaW5nOjQwcHggMCAwcHggMDtcclxuICB9XHJcbiAgXHJcbiAgLnZpZXctbW9yZSwgLnZpZXctbW9yZS1zdG9yaWVzIHtcclxuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgIGJvcmRlcjo0cHggc29saWQgJGJvcmRlci1kaXNhYmxlO1xyXG4gICAgICBoZWlnaHQ6NzBweDtcclxuICAgICAgbWluLXdpZHRoOjM3MHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6JG1haW5mb250O1xyXG4gICAgICBmb250LXdlaWdodDokYm9sZDtcclxuICAgICAgbGluZS1oZWlnaHQ6NjJweDtcclxuICAgICAgZm9udC1zaXplOiRzaXplLWJhc2U7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOjFweDtcclxuICAgICAgXHJcbiAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWVkfSB7XHJcbiAgICAgICAgIGhlaWdodDo2MHB4O1xyXG4gICAgICAgICBsaW5lLWhlaWdodDo1NHB4O1xyXG4gICAgICAgICBtaW4td2lkdGg6MzIwcHg7XHJcbiAgICAgICAgIGJvcmRlci13aWR0aDozcHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcclxuICAgICAgICAgaGVpZ2h0OjUwcHg7XHJcbiAgICAgICAgIGxpbmUtaGVpZ2h0OjQycHg7XHJcbiAgICAgICAgIG1pbi13aWR0aDoyNzBweDtcclxuICAgICAgICAgYm9yZGVyLXdpZHRoOjNweDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgIGJvcmRlci1jb2xvcjokcHJpbWFyeS1jb2w7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuICAgICAgICAgY29sb3I6JHByaW1hcnktY29sO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBpbWcge1xyXG4gICAgICAgICAgIHdpZHRoOjE2cHg7XHJcbiAgICAgICAgICAgaGVpZ2h0OjE2cHg7XHJcbiAgICAgICAgICAgbWFyZ2luLWxlZnQ6MTVweDtcclxuICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuLmZpbHRlcnN7ICAgXHJcbiAgIGJhY2tncm91bmQ6ICRjb2xvcjQ7XHJcbiAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgIHBhZGRpbmc6IDQwcHg7XHJcbn1cclxuI3N0b3JpZXNfZmlsdGVyc3tcclxuICAgd2lkdGg6IDEwMCU7XHJcbiAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgLmZpbHRlci1sYWJlbHtcclxuICAgICAgaDZ7XHJcbiAgICAgICAgIGZvbnQtZmFtaWx5OiBcImRpbi0yMDE0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgIH1cclxuICAgLnNlbGVjdF9jb250YWluZXJze1xyXG4gICAgICAuc2VsZWN0X2NvbnRhaW5lcntcclxuICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAuY3VzdG9tU2VsZWN0LWZpZWxkLmhhc0N1c3RvbVNlbGVjdHtcclxuICAgICAgICAgICAgd2lkdGg6aW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYudW5pdmVyc2l0eV9zZWxlY3RfY29udGFpbmVye1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgJi5hcmVhX29mX3N0dWR5X3NlbGVjdF9jb250YWluZXJ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICAmLnRvcGljX3NlbGVjdF9jb250YWluZXJ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxuICAgXHJcblxyXG59XHJcbi5zdG9yaWVzX291dGVyX3dyYXB7XHJcbiAgIGNsZWFyOmJvdGg7XHJcbiAgIC5zdG9yeS1pdGVte1xyXG4gICAgICBoZWlnaHQ6MjAwcHg7IFxyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3IzO1xyXG4gICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgICAgLnN0b3J5LWNvbnRlbnR7XHJcbiAgICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgIGg2e1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJkaW4tMjAxNFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBwe1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2NnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgfVxyXG4gICAgICAgICAuc3RvcnktdGl0bGV7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgIGNvbG9yOiAjOTViYWM1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc3RvcnktaW1hZ2Utb3V0ZXJ7XHJcbiAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgIC53aWRnZXQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6MjAwcHg7IFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBYUFBOztnREFFZ0Q7QUUyQmhELFVBQVU7RUFDTixXQUFXLEVBQUUsOEJBQThCO0VBQzNDLEdBQUcsRUFBRSxzREFBc0Q7RUFDM0QsR0FBRyxFQUFFLDZEQUE2RCxDQUFDLDJCQUEyQixFQUN6Rix3REFBd0QsQ0FBQyxlQUFlLEVBQ3hFLHVEQUF1RCxDQUFDLGNBQWMsRUFDdEUsbUZBQW1GLENBQUMsYUFBYTtFQUN0RyxXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsTUFBTTs7QUR1THRCLHVFQUF1RTtBQUV2RSxBQUFBLE9BQU8sQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsS0FBSztFQUNoQixLQUFLLEVDek5rQixPQUFPO0VEME45QixTQUFTLEVDL0tFLElBQUk7RURnTGYsY0FBYyxFQUFFLFNBQVM7RUFDekIsZUFBZSxFQUFFLElBQUk7RUFDckIsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQ2pPZ0IsS0FBcUI7RURrTy9DLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQ2hPTSxPQUFPO0VEaU85QixXQUFXLEVDM0xKLEdBQUc7RUQ0TFYsV0FBVyxFQ2xNQyxVQUFVLEVBQUMsVUFBVTtFRG1NakMsY0FBYyxFQUFFLEtBQUs7RUFDckIsTUFBTSxFQUFFLENB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LFVBQVUsRUFBQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU07RUFDbkUsZUFBZSxFQUFFLFNBQVMsR0FDN0I7O0FFdldEOzs7R0FHRztBQUNILEFBQUEsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxL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 */
